# WordPress'i VDS'e kurma: Nginx, PHP ve MariaDB (LEMP) adım adım

https://kervanhosting.com/bilgi-bankasi/makale/wordpress-vds-kurulumu-nginx-php-mariadb-lemp

Hosting paketi yerine kendi VDS sunucunuzda WordPress çalıştırmak, ayarlar üzerinde tam kontrol verir ama kurulumu ve bakımı size bırakır. Aşağıdaki adımlar Ubuntu 24.04 (ve Debian 12) içindir ve LEMP olarak bilinen Linux, Nginx, MariaDB, PHP yığınını kurar. Kurulumdan önce sunucuya SSH ile root ya da sudo yetkili bir kullanıcıyla bağlanın ve alan adınızın A kaydını sunucunun IP adresine yönlendirin.

## 1. Gerekli paketleri kurun

```
sudo apt update
sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick unzip curl
```

Kurulan PHP sürümünü `php -v` ile görün (Ubuntu 24.04'te 8.3). Soket yolu sürüme göre `/run/php/php8.3-fpm.sock` gibi olur; aşağıda kendi sürümünüzü yazın.

## 2. Veritabanı oluşturun

```
sudo mysql_secure_installation
sudo mysql
```

MariaDB komut satırında (parolayı kendiniz belirleyin):

```
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpkullanici'@'localhost' IDENTIFIED BY 'GucluBirParola';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpkullanici'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

Veritabanı güvenliği için [MySQL ve MariaDB kurulumu](https://kervanhosting.com/bilgi-bankasi/makale/mysql-mariadb-veritabani-nasil-kurulur-ve-guvenli-kullanilir) makalesine bakın.

## 3. WordPress'i indirin

```
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo mkdir -p /var/www/ornek.com
sudo rsync -a wordpress/ /var/www/ornek.com/
sudo chown -R www-data:www-data /var/www/ornek.com
sudo find /var/www/ornek.com -type d -exec chmod 755 {} \;
sudo find /var/www/ornek.com -type f -exec chmod 644 {} \;
```

## 4. Nginx ayarı

`/etc/nginx/sites-available/ornek.com` dosyasını oluşturun:

```
server {
    listen 80;
    server_name ornek.com www.ornek.com;
    root /var/www/ornek.com;
    index index.php index.html;
    client_max_body_size 64M;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include /etc/nginx/snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
```

Etkinleştirin ve sınayın:

```
sudo ln -s /etc/nginx/sites-available/ornek.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```

`try_files ... /index.php?$args` satırı, WordPress'in güzel adreslerinin (kalıcı bağlantılar) çalışmasını sağlar; .htaccess burada gerekmez.

## 5. Kurulum sihirbazı ve https

1. Tarayıcıda alan adınızı açın; WordPress kurulum ekranı gelir. Veritabanı adı, kullanıcı, parola ve sunucu olarak `localhost` yazın.
2. Siteyi kurduktan sonra https'e geçin: `sudo apt install -y certbot python3-certbot-nginx` ve `sudo certbot --nginx -d ornek.com -d www.ornek.com`. Sorun çıkarsa [Certbot hataları](https://kervanhosting.com/bilgi-bankasi/makale/certbot-challenge-failed-hatasi-ve-yenileme-sorunlari) makalesine bakın.
3. Panel adresini ve yönetici parolasını güvenli bir yerde saklayın.

## Kurulumdan sonra yapılacaklar

- Güvenlik duvarında yalnızca 22, 80 ve 443'ü açın: [UFW](https://kervanhosting.com/bilgi-bankasi/makale/ufw-ile-port-acma-ve-kapatma-ubuntu-guvenlik-duvari).
- Kalıcı bağlantıları Ayarlar > Kalıcı Bağlantılar'dan "Yazı adı" yapın.
- Yedeği kurun: [rsync ile yedek](https://kervanhosting.com/bilgi-bankasi/makale/linux-sunucuda-rsync-ile-yedek-alma) ve veritabanı dökümü.
- Sistemi güncel tutun: [sunucu güncelleme](https://kervanhosting.com/bilgi-bankasi/makale/linux-sunucuyu-nasil-guncellerim).

Küçük bir site için sunucu bakımıyla uğraşmak istemezseniz [web hosting](https://kervanhosting.com/web-hosting) daha az emek ister. Sunucu için [Linux VDS](https://kervanhosting.com/linux-vds) paketlerine bakın.

## Sık sorulanlar

### Kaç GB RAM yeter?

Tek bir küçük WordPress sitesi için 2 GB RAM ile rahat çalışır. Trafik ve eklenti arttıkça PHP-FPM ve MariaDB bellek ister; sınırı izleyin.

### Apache yerine Nginx mi kullanmalıyım?

İkisi de çalışır. Nginx daha az bellek kullanır ve bu rehber onu anlatır. Apache'ye özel .htaccess kurallarına bağımlı bir eklentiniz varsa Apache gerekebilir.

### Kurulum sihirbazı açılmıyor.

Alan adının A kaydını, Nginx'in `server_name` satırını ve `sudo nginx -t` çıktısını kontrol edin. 502 görüyorsanız [502 makalesine](https://kervanhosting.com/bilgi-bankasi/makale/nginx-502-bad-gateway-hatasi-nedenleri-ve-cozumu) bakın.

**İlgili makaleler**

- [Linux sunucuya web sitesi (Nginx) nasıl kurulur?](https://kervanhosting.com/bilgi-bankasi/makale/linux-sunucuya-web-sitesi-nginx-nasil-kurulur)
- [Nginx 502 Bad Gateway hatası: nedenleri ve çözümü](https://kervanhosting.com/bilgi-bankasi/makale/nginx-502-bad-gateway-hatasi-nedenleri-ve-cozumu)
- [WordPress sitemi nasıl yedeklerim ve taşırım?](https://kervanhosting.com/bilgi-bankasi/makale/wordpress-sitemi-nasil-yedeklerim-ve-tasirim)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
