# WordPress, Nginx, PHP-FPM ve MariaDB (LEMP) ile nasıl kurulur

> WordPress'i Ubuntu veya Debian'da Nginx, PHP-FPM ve MariaDB ile kurun: doğrulanmış indirme, resmi Nginx kuralları, Let’s Encrypt, WP-CLI, yedek ve güncelleme.

Zorluk: Orta\
Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13

WordPress; bloglar, kurumsal siteler ve çevrim içi mağazalar için geniş bir tema ve eklenti kataloğuyla genişletilebilen açık kaynaklı bir içerik yönetim sistemidir. LEMP yapısı (Linux, Nginx, MariaDB, PHP-FPM), WordPress'i kendi sunucunuzda PHP ayarları, önbellek ve güvenlik üzerinde tam kontrolle barındırmanın yalın ve hızlı bir yoludur.

Bu rehber yapıyı Ubuntu 24.04, Ubuntu 26.04, Debian 12 veya Debian 13 üzerinde dağıtımın kendi paketlerinden kurar. Bir veritabanı oluşturur, WordPress'i wordpress.org'dan indirip yayınlanan **checksum ile doğrular**, gizli anahtarları resmi API ile üretir, **WordPress belgelerindeki Nginx kurallarını** uygular, Certbot ile ücretsiz bir Let's Encrypt sertifikası ekler ve doğrulanmış bir **WP-CLI** kurarsınız. Rehber temel sağlamlaştırma, yedekleme, güncelleme ve sık görülen hataların çözümleriyle biter.

## Ön koşullar

- 80 ve 443 numaralı portlarda başka bir web sunucusu dinlemeyen, **Ubuntu 24.04 LTS**, **Ubuntu 26.04 LTS**, **Debian 12** veya **Debian 13** çalıştıran bir sunucu.
- [Yeni bir Linux sunucusunu güvenli hale getirin](/guides/secure-a-new-linux-server) ve [SSH anahtarlarını ayarlayın](/guides/ssh-keys) rehberlerindeki gibi hazırlanmış, `sudo` yetkili ve SSH anahtarıyla giriş yapan root olmayan bir kullanıcı.
- Certbot'un doğrulama yapabilmesi için `example.com` ve `www.example.com` için sunucuyu gösteren A (ve AAAA) kayıtlarına sahip `example.com` gibi bir alan adı.

WordPress **PHP 8.3 veya daha yenisini** ve **MariaDB 10.11 veya daha yenisini** (ya da MySQL 8.0+) önerir; ömrünü tamamlamış eski en düşük sürümler olarak PHP 7.4 ve MySQL 5.5.5 üzerinde de çalışır. Bu rehberde kullanılan dağıtım paketleri, güncel WordPress sürümlerinin tamamının desteklediği şu sürümleri verir:

| Sürüm | PHP | MariaDB |
|---|---|---|
| Ubuntu 24.04 LTS | 8.3 | 10.11 |
| Ubuntu 26.04 LTS | 8.5 | 11.8 |
| Debian 12 | 8.2 | 10.11 |
| Debian 13 | 8.4 | 11.8 |

Debian 12'nin PHP 8.2 sürümü çalışır ama WordPress'in önerisinin altındadır; yeni bir sunucu için Debian 13'ü veya Ubuntu sürümlerinden birini tercih edin. WordPress CPU veya bellek için en düşük değer yayınlamaz. WordPress hosting el kitabı PHP `memory_limit` için en az 128 MB, varsayılan olarak 256 MB önerir; bu nedenle aşağıdaki değerleri tek bir site için temkinli bir başlangıç noktası olarak görün.

| Kaynak | En düşük (resmi) | Önerilen başlangıç |
|---|---|---|
| CPU | Yayınlanmamış | 1 vCPU |
| RAM | Yayınlanmamış (PHP memory_limit 128 MB veya üzeri) | 2 GB |
| Disk | Yayınlanmamış | 20 GB SSD ve medya kütüphaneniz |

## Adım 1 — Nginx, MariaDB ve PHP-FPM kurun

Web sunucusunu, veritabanı sunucusunu, PHP-FPM'i ve WordPress hosting el kitabının zorunlu veya önemle önerilen olarak listelediği PHP eklentilerini kurun. `json`, `hash`, `exif`, `fileinfo` ve `openssl` gibi eklentiler temel PHP paketlerinde zaten bulunur:

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

Sürümleri ve PHP-FPM soketini kontrol edin:

```bash
php -v
mariadb --version
ls -l /run/php/
```

`/run/php/` klasöründe `php8.3-fpm.sock` gibi sürüme özel bir soket ve ona işaret eden bir `php-fpm.sock` bağlantısı bulunmalıdır. Adım 6'daki Nginx yapılandırması bu bağlantıyı kullanır; böylece bu rehberdeki her sürümde çalışır.

## Adım 2 — Veritabanını ve kullanıcıyı oluşturun

Önce MariaDB sağlamlaştırma betiğini çalıştırın. Ubuntu ve Debian'da MariaDB root hesabı zaten Unix soketi üzerinden giriş yapar; bu nedenle mevcut root parolası sorulduğunda Enter'a basın, soket kimlik doğrulamasını koruyun ve anonim kullanıcıları kaldırma, uzaktan root girişini engelleme, test veritabanını kaldırma ve yetki tablolarını yeniden yükleme sorularına `Y` yanıtını verin:

```bash
sudo mariadb-secure-installation
```

WordPress veritabanı kullanıcısı için güçlü bir parola üretin ve not edin:

```bash
openssl rand -hex 24
```

`sudo mariadb` ile MariaDB kabuğunu açın ve veritabanını, yalnızca ona erişebilen bir kullanıcıyla birlikte oluşturun. `change-me` yerine ürettiğiniz parolayı yazın:

```sql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change-me';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

Yeni kullanıcıyla girişi test edin. Değeri `1` olan tek bir satır görmelisiniz:

```bash
mariadb -u wpuser -p wordpress -e "SELECT 1;"
```

## Adım 3 — WordPress'i indirin ve checksum'ı doğrulayın

Güncel sürümü, wordpress.org'un onun için yayınladığı SHA-1 checksum ile birlikte wordpress.org'dan indirin ve ikisini karşılaştırın:

```bash
cd /tmp
curl -fsSLO https://wordpress.org/latest.tar.gz
curl -fsSL https://wordpress.org/latest.tar.gz.sha1 -o latest.tar.gz.sha1
echo "$(cat latest.tar.gz.sha1)  latest.tar.gz" | sha1sum -c -
```

Çıktı `latest.tar.gz: OK` olmalıdır. Uyuşmazlık bildirilirse iki dosyayı da silip yeniden indirin; iki indirme arasında yeni bir sürüm yayınlanmış olabilir. Ardından WordPress'i `/var/www/wordpress` klasörüne açın:

```bash
sudo tar -xzf /tmp/latest.tar.gz -C /var/www/
ls /var/www/wordpress
```

## Adım 4 — wp-config.php dosyasını yapılandırın

Örnek dosyadan `wp-config.php` oluşturun ve veritabanı ayarlarını doldurun. `change-me` yerine Adım 2'deki parolayı yazın; onaltılık parola `sed` komutunu bozacak karakter içermez:

```bash
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo sed -i "s/database_name_here/wordpress/; s/username_here/wpuser/; s/password_here/change-me/" wp-config.php
```

WordPress çerezleri ve oturumları sekiz gizli anahtar ve salt değeriyle imzalar. Resmi üreticiden yeni bir set alın:

```bash
curl -fsSL https://api.wordpress.org/secret-key/1.1/salt/
```

Dosyayı `sudo nano wp-config.php` ile açın, `put your unique phrase here` içeren sekiz `define` satırını silin ve üreticiden gelen sekiz satırı yerlerine yapıştırın. Üreticiye yapılan her istek yeni rastgele değerler döndürür; başka bir sitenin anahtarlarını asla yeniden kullanmayın. Dosyayı kaydedin ve sözdizimini kontrol edin:

```bash
php -l /var/www/wordpress/wp-config.php
```

`No syntax errors detected` çıktısını görmelisiniz.

## Adım 5 — Sahipliği ve izinleri ayarlayın

WordPress'in sağlamlaştırma rehberi klasörler için `755`, dosyalar için `644` izni ve `wp-config.php` dosyasının yalnızca sizin ve web sunucusunun okuyabileceği şekilde ayarlanmasını önerir. Bu rehber, WordPress'in eklentileri kendisinin kurabilmesi ve otomatik güncellemeleri uygulayabilmesi için dosyaları PHP-FPM'in çalıştığı `www-data` kullanıcısına verir:

```bash
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;
sudo chmod 440 /var/www/wordpress/wp-config.php
```

> **Not**
>
> Sağlamlaştırma rehberi, çekirdek dosyalara yalnızca kendi hesabınızın yazabilmesini tercih eder. Bu daha sıkı bir modeldir, çünkü ele geçirilmiş bir eklenti WordPress çekirdeğini değiştiremez; ancak panel WordPress'i artık güncelleyemez ve güncelleme bölümünde gösterildiği gibi WP-CLI ile güncellersiniz. Bir model seçin ve tutarlı biçimde uygulayın.

## Adım 6 — Nginx'i ve PHP'yi yapılandırın

Server bloğunu `sudo nano /etc/nginx/sites-available/wordpress` ile oluşturun. Blok, WordPress'in Nginx belgelerindeki tek site yapılandırmasına ve genel kısıtlamalara dayanır ve Debian ile Ubuntu paket düzenine uyarlanmıştır. `uploads` içindeki PHP dosyalarının asla çalışmaması için deny kuralları PHP bölümünden önce gelir; `.well-known` dışındaki gizli dosyalar da engellenir:

```nginx
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;

    root /var/www/wordpress;
    index index.php;

    client_max_body_size 64M;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ /\.(?!well-known) {
        deny all;
    }

    location ~* /(?:uploads|files)/.*\.php$ {
        deny all;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_intercept_errors on;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp)$ {
        expires max;
        log_not_found off;
    }
}
```

PHP'nin yükleme ve bellek sınırlarını `client_max_body_size` ile uyumlu olacak şekilde artırın. Ek yapılandırma dosyası, ilk komutun tespit ettiği PHP sürümünüzün PHP-FPM yapılandırma klasörüne gider:

```bash
PHPV=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
sudo tee /etc/php/$PHPV/fpm/conf.d/99-wordpress.ini > /dev/null <<'EOF'
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
EOF
sudo systemctl restart php$PHPV-fpm
```

Siteyi etkinleştirin, varsayılan sayfayı devre dışı bırakın, yapılandırmayı test edin ve Nginx'i yeniden yükleyin:

```bash
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
curl -I http://example.com
```

`nginx -t` komutu `syntax is ok` ve `test is successful` bildirmelidir. `curl` isteği `/wp-admin/install.php` adresine bir yönlendirme döndürür; bu, PHP'nin ve veritabanı bağlantısının çalıştığını gösterir.

## Adım 7 — Certbot ile HTTPS'i açın

Güvenlik duvarını SSH ve web trafiği için açın, ardından Certbot'un Nginx eklentisinin bir Let's Encrypt sertifikası almasına ve HTTPS yapılandırmasıyla HTTP'den HTTPS'e yönlendirmeyi server bloğunuza eklemesine izin verin. [Nginx reverse proxy ve Certbot](/guides/nginx-reverse-proxy-certbot) rehberi Certbot'u ve seçeneklerini daha ayrıntılı açıklar:

```bash
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
```

Burada dağıtımınızın Certbot paketleri kullanılır; Certbot ekibi ise Nginx rehberinde gösterildiği gibi snap paketini önerir. İkisi de çalışır, ancak yalnızca birini kurun. Certbot, süre dolumu bildirimleri için bir e-posta adresi ve Let's Encrypt koşullarını kabul etmenizi ister. Paketleri sertifikaları kendiliğinden yenileyen bir systemd zamanlayıcısı kurar; yenilemeyi bir kez test edin:

```bash
sudo certbot renew --dry-run
```

## Adım 8 — Kurulumu tarayıcıda tamamlayın

`https://example.com` adresini açın. WordPress önce dili, ardından site başlığını, bir yönetici kullanıcı adını, parolayı ve e-posta adresini sorar. `admin` veya tahmin edilmesi kolay başka bir kullanıcı adı kullanmayın, üretilen güçlü parolayı koruyun ya da parola yöneticinizi kullanın ve "Discourage search engines" seçeneğini yalnızca bir test sitesi için işaretleyin.

`https://example.com/wp-admin` adresinden giriş yaptıktan sonra **Settings → Permalinks** (Ayarlar → Kalıcı bağlantılar) ekranını açın, **Post name** (Yazı adı) seçeneğini seçip kaydedin. Herhangi bir yazıyı açın: yazı okunaklı adresiyle yükleniyorsa `try_files` kuralı çalışıyordur.

WordPress parola sıfırlama, yeni kullanıcı bilgileri ve yorum bildirimi e-postalarını PHP'nin mail fonksiyonuyla gönderir; bu fonksiyon bu yapıda bulunmayan yerel bir posta sunucusu gerektirdiği için bir SMTP eklentisi kurun ve onu `smtp.example.com` sunucusu, `587` numaralı port ve STARTTLS ile relay'inize bağlayın.

> **Not**
>
> HyperDC VPS'lerde giden 25 numaralı port varsayılan olarak kapalıdır. 3 ay veya daha uzun süreyle satın alınan hizmetlerde talep üzerine açılır: [destek talebi açın](/guides/support-tickets). O zamana kadar e-postaları 587 numaralı port üzerinden bir SMTP relay ile gönderin.

## Adım 9 — WP-CLI kurun

WP-CLI, WordPress'i kabuktan yönetir: güncellemeler, eklentiler, kullanıcılar, arama-değiştirme ve veritabanı dışa aktarımları. Resmi Phar derlemesini SHA-512 checksum'ı ve GPG imzasıyla birlikte indirin, ikisini de doğrulayın, ardından kurun:

```bash
cd /tmp
curl -fsSLO https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
curl -fsSLO https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar.sha512
curl -fsSLO https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar.asc
echo "$(cat wp-cli.phar.sha512)  wp-cli.phar" | sha512sum -c -
curl -fsSL https://raw.githubusercontent.com/wp-cli/builds/gh-pages/wp-cli.pgp | gpg --import
gpg --verify wp-cli.phar.asc wp-cli.phar
```

`sha512sum` komutu `wp-cli.phar: OK` yazmalı, `gpg` ise WP-CLI el kitabında yayınlanan `63AF 7AA1 5067 C056 16FD  DD88 A3A2 E8F2 26F0 BC06` parmak izine sahip WP-CLI sürüm anahtarından geçerli bir imza (good signature) bildirmelidir. Anahtarın güvenilir bir imzayla onaylanmadığına dair uyarı, yeni içe aktarılmış bir anahtar için normaldir. Ardından Phar dosyasını kurun ve dosyaların sahibi olan `www-data` kullanıcısıyla çalıştırın:

```bash
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
sudo -u www-data wp --path=/var/www/wordpress core version
```

Son komut kurulu WordPress sürümünü yazdırır.

## Adım 10 — Temel sağlamlaştırmayı uygulayın

`sudo nano /var/www/wordpress/wp-config.php` ile `wp-config.php` dosyasına, düzenlemeyi bırakmanızı söyleyen satırın üstüne iki sabit ekleyin. İlki, WordPress'in sağlamlaştırma rehberinin saldırganın giriş yaptıktan sonra genellikle ilk kullandığı araç olarak nitelediği yerleşik eklenti ve tema dosya düzenleyicisini kaldırır; ikincisi girişleri ve yönetim alanını HTTPS kullanmaya zorlar:

```text
define( 'DISALLOW_FILE_EDIT', true );
define( 'FORCE_SSL_ADMIN', true );
```

Ardından WordPress'in Nginx belgelerinin önerdiği gibi, uploads klasöründeki PHP dosyalarının gerçekten çalışamadığını kontrol edin. İstek `403 Forbidden` döndürmelidir:

```bash
sudo -u www-data mkdir -p /var/www/wordpress/wp-content/uploads
echo '<?php echo "test";' | sudo -u www-data tee /var/www/wordpress/wp-content/uploads/test.php > /dev/null
curl -I https://example.com/wp-content/uploads/test.php
sudo rm /var/www/wordpress/wp-content/uploads/test.php
```

Sağlamlaştırma rehberindeki diğer temel adımlar: eklentileri ve temaları yalnızca wordpress.org'dan veya güvendiğiniz kaynaklardan kurun ve kullanmadıklarınızı silin, yöneticiler için bir eklentiyle iki adımlı doğrulamayı açın ve sunucunun kendisini de örneğin Ubuntu veya Debian'ın `unattended-upgrades` aracıyla güncel tutun.

## Yedekleme ve geri yükleme

Bir WordPress sitesi veritabanından, `wp-content` klasöründen (temalar, eklentiler, yüklemeler), `wp-config.php` dosyasından ve Nginx server bloğunuzdan oluşur. Çekirdek dosyalar her zaman yeniden indirilebilir. Yedekleri MariaDB'nin kendi döküm aracı ve `tar` ile alın:

```bash
sudo mkdir -p /opt/backups
sudo sh -c 'mariadb-dump --single-transaction --default-character-set=utf8mb4 wordpress | gzip > /opt/backups/wordpress-db-$(date +%F).sql.gz'
sudo tar czf /opt/backups/wordpress-files-$(date +%F).tar.gz -C /var/www/wordpress wp-content wp-config.php
sudo cp /etc/nginx/sites-available/wordpress /opt/backups/nginx-wordpress-$(date +%F).conf
sudo chmod 600 /opt/backups/wordpress-* /opt/backups/nginx-wordpress-*
```

`--single-transaction`, siteyi kilitlemeden InnoDB tablolarının tutarlı bir anlık görüntüsünü alır. `/opt/backups` klasörünü düzenli olarak başka bir makineye veya nesne depolamaya kopyalayın; aynı sunucudaki bir yedek sunucuyla birlikte kaybolur.

Yeni bir sunucuya geri yüklemek için Adım 1-3 ve 6-7'yi tekrarlayın. Adım 2'de veritabanı kullanıcısını, yedeklenen `wp-config.php` içindeki `DB_PASSWORD` değeriyle aynı parolayla oluşturun. Ardından dosyaları geri koyun ve veritabanını içe aktarın:

```bash
sudo tar xzf /opt/backups/wordpress-files-2026-10-09.tar.gz -C /var/www/wordpress
gunzip -c /opt/backups/wordpress-db-2026-10-09.sql.gz | sudo mariadb wordpress
sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod 440 /var/www/wordpress/wp-config.php
```

Tarihleri kendi dosya adlarınızdakilerle değiştirin. Site yeni bir alan adına taşınıyorsa içe aktarmadan sonra `sudo -u www-data wp --path=/var/www/wordpress search-replace 'https://old.example.com' 'https://example.com'` komutunu çalıştırın.

## WordPress güncelleme

WordPress varsayılan olarak küçük sürümleri ve güvenlik sürümlerini arka planda kendiliğinden kurar; **Dashboard → Updates** (Başlangıç → Güncellemeler) ekranı ana sürümler için otomatik güncellemelerin de açık olup olmadığını gösterir, eklentilerin ve temaların da kendi otomatik güncelleme anahtarları vardır. Ana sürüm güncellemesinden önce sürüm notlarını okuyun, önce yedek alın ve zamanlamayı kontrol etmek istiyorsanız WP-CLI ile elle güncelleyin:

```bash
sudo -u www-data wp --path=/var/www/wordpress core check-update
sudo -u www-data wp --path=/var/www/wordpress core update
sudo -u www-data wp --path=/var/www/wordpress core update-db
sudo -u www-data wp --path=/var/www/wordpress plugin update --all
sudo -u www-data wp --path=/var/www/wordpress theme update --all
```

Nginx, MariaDB ve PHP dağıtımınızdan gelir ve `sudo apt update && sudo apt upgrade` ile güncellenir. WP-CLI kendini `sudo wp cli update` ile günceller. İşletim sistemini farklı bir PHP sürümüyle gelen yeni bir sürüme yükselttiğinizde eklentilerinizin bu sürümü desteklediğini kontrol edin ve Adım 6'daki PHP ek yapılandırma dosyasını yeni sürüm için tekrarlayın.

## Sorun giderme

### 502 Bad Gateway

Nginx PHP-FPM'e ulaşamıyor. Servisin çalıştığını `systemctl status 'php*-fpm' --no-pager` ile ve `/run/php/php-fpm.sock` dosyasının var olduğunu kontrol edin. Sisteminizde `php-fpm.sock` bağlantısı yoksa `fastcgi_pass` değerini sürüme özel sokete ayarlayın, örneğin `unix:/run/php/php8.3-fpm.sock`, ardından `sudo nginx -t` çalıştırıp Nginx'i yeniden yükleyin. `/var/log/nginx/error.log` içindeki Nginx hata logu kesin nedeni gösterir.

### 413 Request Entity Too Large veya yükleme boyutu aşıldı

Nginx `client_max_body_size` değerinden büyük istekleri, PHP de `upload_max_filesize` veya `post_max_size` değerinden büyük dosyaları reddeder. Üçünü de aynı değere yükseltin, PHP-FPM'i yeniden başlatın ve Nginx'i yeniden yükleyin. **Media → Add New** (Ortam → Yeni ekle) ekranı geçerli en büyük yükleme boyutunu gösterir.

### Kalıcı bağlantılar 404 döndürüyor

`location /` bloğunda `try_files $uri $uri/ /index.php?$args;` satırı eksik ya da alan adına başka bir server bloğu yanıt veriyor. Tüm server bloklarını görmek için `sudo nginx -T | grep -n server_name` çalıştırın, yapılandırmayı düzeltin, `sudo nginx -t` ile test edin ve yeniden yükleyin.

### Error establishing a database connection

`wp-config.php` içindeki değerler veritabanı kullanıcısıyla eşleşmiyor ya da MariaDB çalışmıyor. Kimlik bilgilerini `mariadb -u wpuser -p wordpress -e "SELECT 1;"` ile test edin, `DB_HOST` değerini kontrol edin (`localhost` olmalıdır) ve `systemctl status mariadb --no-pager` çalıştırın.

### WordPress eklenti kurarken FTP bilgileri istiyor

PHP-FPM WordPress klasörüne yazamıyor; bu genellikle dosyalar root olarak kopyalandıktan sonra olur. Sahipliği `sudo chown -R www-data:www-data /var/www/wordpress` ile geri yükleyin ya da daha sıkı sahiplik modelini seçtiyseniz eklentileri WP-CLI ile kurun.

## Sonraki adımlar

- Certbot ve Nginx hakkında daha fazlasını [Nginx reverse proxy ve Certbot](/guides/nginx-reverse-proxy-certbot) rehberinde öğrenin.
- Konteyner mi tercih ediyorsunuz? [Docker ile WordPress](/guides/install-wordpress-docker) rehberine bakın.
- Yerleşik bülten özelliği olan bir yayın platformu mu arıyorsunuz? [Ghost](/guides/install-ghost) rehberini deneyin.
- WordPress siteleri için planları [WordPress hosting](/wordpress-web-hosting) sayfasında karşılaştırın.
- Performans ve güvenlik ayarları için WordPress'in [ileri yönetim el kitabını](https://developer.wordpress.org/advanced-administration/) okuyun.

## Sık sorulan sorular

### Her sürüm hangi PHP sürümünü kurar ve WordPress bunu destekler mi?

Ubuntu 24.04 PHP 8.3, Ubuntu 26.04 PHP 8.5, Debian 12 PHP 8.2 ve Debian 13 PHP 8.4 ile gelir. Güncel WordPress sürümleri dördünü de destekler. WordPress PHP 8.3 veya daha yenisini önerir; bu yüzden Debian 12 çalışır ama önerinin altında kalır.

### Nginx ile .htaccess dosyasına ihtiyacım var mı?

Hayır. Nginx .htaccess dosyalarını yok sayar. Kalıcı bağlantılar (permalink), eksik dosya isteklerini index.php'ye gönderen server bloğundaki try_files satırı sayesinde çalışır; aynı bloktaki deny kuralları da alışılmış .htaccess korumalarının yerini alır.

### WordPress dosyalarının sahibi web sunucusu mu olmalı?

Bu bir tercih meselesidir. Sahipliği www-data kullanıcısına vermek, WordPress'in eklentileri kendisinin kurmasını ve otomatik güncellemeleri uygulamasını sağlar. WordPress'in sağlamlaştırma rehberi çekirdek dosyaların kendi kullanıcınıza ait olmasını tercih eder; bu durumda panel yerine WP-CLI veya SSH ile güncellersiniz.

### LEMP sunucusunda WordPress'i nasıl yedeklerim?

Veritabanının dökümünü mariadb-dump ile alın, wp-content klasörünü ve wp-config.php dosyasını arşivleyin ve Nginx server bloğunun bir kopyasını saklayın. Arşivleri sunucu dışında tutun. WordPress çekirdek dosyaları her zaman yeniden indirilebilir.

### Bunu bir HyperDC sunucusunda çalıştırabilir miyim?

Evet. Adımlar, Ubuntu 24.04, Ubuntu 26.04, Debian 12 veya Debian 13 çalıştıran ve root erişiminiz olan bir HyperDC Linux VPS, VDS veya dedicated sunucuda çalışır. Sunucuyu trafiğinize, eklentilerinize ve medya kütüphanenize göre boyutlandırın.

---

Kaynak: <https://hyperdc.com/tr/guides/tutorials/install-wordpress-lemp>\
Son güncelleme: 2026-10-09
