VDS Üzerine WordPress Nasıl Kurulur? Ubuntu, Nginx ve SSL Rehberi
WordPress sitenizi VDS üzerinde çalıştırmak, sunucu kaynaklarını ve yazılım ayarlarını projenize göre yönetmenizi sağlar. Birden fazla uygulama çalıştırmak, özel yapılandırmalar kullanmak veya büyüyen siteniz için kaynak artırmak istediğinizde bu esneklik önem kazanır.
Bu rehberde Ubuntu 24.04 üzerinde Nginx, MySQL ve PHP kullanarak WordPress kurulumu yapacağız. Ardından Let’s Encrypt sertifikasıyla HTTPS bağlantısını etkinleştireceğiz.
Adımlar, üzerinde başka site veya kontrol paneli bulunmayan temiz bir Ubuntu 24.04 sunucu içindir. Mevcut sunucuda işlem yapacaksanız önce yedek alın ve çalışan servislerin yapılandırmalarını kontrol edin.
WordPress Kurulumu İçin Gerekenler
Başlamadan önce şunları hazırlayın:
- Ubuntu 24.04 kurulu bir VDS.
- SSH bağlantısı ve sudo yetkili kullanıcı.
- DNS kayıtlarını yönetebildiğiniz bir alan adı.
- Sunucuya ulaşabilen 80 ve 443 TCP portları.
Küçük bir site için 2 vCPU, 2–4 GB RAM ve yeterli SSD/NVMe alanı başlangıç olarak değerlendirilebilir. WooCommerce, yoğun ziyaretçi trafiği ve ağır eklentiler daha fazla kaynak gerektirebilir.
Rehberdeki example.com ve www.example.com adreslerini kendi alan adınızla değiştirin.
1. Alan Adını VDS IP Adresine Yönlendirin
Alan adınızın DNS yönetiminde aşağıdaki kayıtları oluşturun:
|
Kayıt türü |
Ad |
Değer |
|
A |
@ |
VDS IPv4 adresiniz |
|
A |
www |
VDS IPv4 adresiniz |
AAAA kaydı kullanıyorsanız sunucunun IPv6 bağlantısı da doğru çalışmalıdır. Yanlış IPv6 kaydı, site erişimini ve SSL doğrulamasını bozabilir.
İlk kurulum sırasında CDN veya ters proxy kullanmadan doğrudan sunucuya yönlendirmek, bağlantı sorunlarını ayırt etmeyi kolaylaştırır.
2. Nginx, MySQL ve PHP Kurulumunu Yapın
Sunucuda paket listesini ve mevcut paketleri güncelleyin:
sudo apt update
sudo apt upgrade -y
Gerekli bileşenleri yükleyin:
sudo apt install -y nginx mysql-server curl ca-certificates \
php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl
Servisleri başlatıp açılışta çalışacak şekilde etkinleştirin:
sudo systemctl enable --now nginx mysql php8.3-fpm
Bu kurulumda Nginx web isteklerini karşılar, PHP-FPM WordPress kodunu çalıştırır, MySQL ise site verilerini saklar. WordPress, Nginx üzerinde çalışmayı destekler.
Güvenlik Duvarını Kontrol Edin
UFW kullanıyorsanız önce SSH erişimini, ardından web trafiğini izinli hale getirin:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw status
SSH farklı portta çalışıyorsa OpenSSH profili yerine gerçek SSH portunu izinli hale getirin. UFW’yi etkinleştirecekseniz erişim kurallarını doğruladıktan sonra sudo ufw enable çalıştırın.
Sağlayıcı tarafında ayrıca güvenlik duvarı bulunuyorsa orada da 80 ve 443 TCP portlarını açın. Bu kurulum için MySQL’in 3306 portunu internete açmanız gerekmez.
3. WordPress Veritabanını Oluşturun
MySQL konsoluna girin:
sudo mysql
Aşağıdaki komutları çalıştırın. Örnek parolayı, size özel uzun ve güçlü bir parolayla değiştirin:
CREATE DATABASE wordpress
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost'
IDENTIFIED BY 'BURAYA_BENZERSIZ_GUCLU_PAROLA';
GRANT ALL PRIVILEGES ON wordpress.*
TO 'wpuser'@'localhost';
EXIT;
Bu kullanıcı yalnızca wordpress veritabanına yetkilidir. WordPress bağlantısında MySQL root hesabını kullanmayın.
4. WordPress Dosyalarını İndirin
Resmî WordPress paketini indirin:
curl -fL https://wordpress.org/latest.tar.gz \
-o /tmp/wordpress-latest.tar.gz
Site dizinini oluşturup dosyaları açın:
sudo mkdir -p /var/www/example.com
sudo tar -xzf /tmp/wordpress-latest.tar.gz \
-C /var/www/example.com --strip-components=1
Bu tek sitelik kurulumda, WordPress’in dosyaları ve güncellemeleri yönetebilmesi için sahipliği web servisinin kullanıcısına verin:
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 755 {} \;
sudo find /var/www/example.com -type f -exec chmod 644 {} \;
chmod 777 kullanmayın. Birden fazla bağımsız site barındıracaksanız her site için ayrı kullanıcı ve PHP-FPM havuzu planlamak daha iyi izolasyon sağlar.
5. Nginx Site Yapılandırmasını Hazırlayın
Yapılandırma dosyasını açın:
sudo nano /etc/nginx/sites-available/example.com
Aşağıdaki içeriği ekleyin:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html;
client_max_body_size 32M;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /wp-config.php {
deny all;
}
location ~* ^/wp-content/uploads/.*\.php(?:/|$) {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.(?!well-known) {
deny all;
}
}
try_files kuralı, WordPress kalıcı bağlantılarının çalışmasını sağlar. Nginx, Apache’de kullanılan .htaccess dosyasını işlemez; yönlendirme kuralları Nginx yapılandırmasına eklenmelidir.
Siteyi etkinleştirin ve yapılandırmayı test edin:
sudo ln -s /etc/nginx/sites-available/example.com \
/etc/nginx/sites-enabled/example.com
sudo nginx -t
Test başarılıysa:
sudo systemctl reload nginx
Hata varsa yeniden yüklemeden önce hata mesajındaki dosya ve satırı düzeltin.
6. Let’s Encrypt ile SSL Kurun
Önce alan adınızın HTTP üzerinden bu sunucuya ulaştığını doğrulayın. Ardından Certbot’u kurun:
sudo apt install -y snapd
sudo snap install --classic certbot
Bu rehber temiz sunucu içindir. Certbot zaten başka yöntemle kurulmuşsa iki kurulumu birlikte kullanmayın.
Sertifikayı alıp Nginx’e uygulayın:
sudo /snap/bin/certbot --nginx --redirect \
-d example.com -d www.example.com
İstenen e-posta ve kullanım koşulları adımlarını tamamlayın. www adresini kullanmayacaksanız ilgili -d parametresini kaldırın.
Certbot, sertifikayı alabilir ve Nginx yapılandırmasını HTTPS kullanacak şekilde düzenleyebilir.
Otomatik yenilemeyi test edin:
sudo /snap/bin/certbot renew --dry-run
Test başarısız olursa DNS, port erişimi ve doğrulama hatalarını inceleyin. Sertifika süresini ayrıca izlemek faydalıdır.
7. WordPress Kurulumunu Tarayıcıdan Tamamlayın
Tarayıcıdan şu adresi açın:
https://example.com
Kurulum ekranında aşağıdaki bilgileri kullanın:
|
Alan |
Değer |
|
Veritabanı adı |
wordpress |
|
Kullanıcı adı |
wpuser |
|
Parola |
Oluşturduğunuz veritabanı parolası |
|
Veritabanı sunucusu |
localhost |
|
Tablo öneki |
Varsayılan kalabilir |
Ardından site başlığını, yönetici kullanıcı adını, güçlü parolanızı ve e-posta adresinizi belirleyin.
Kurulum tamamlanınca yapılandırma dosyasının izinlerini daraltın:
sudo chmod 640 /var/www/example.com/wp-config.php
Yönetim paneline şu adresten ulaşabilirsiniz:
https://example.com/wp-admin
Ayarlar → Kalıcı Bağlantılar bölümünden uygun URL yapısını seçin. Site yayına hazır olduğunda Ayarlar → Okuma bölümündeki arama motoru görünürlüğü seçeneğini kontrol edin. Bu ayar tek başına Google’da indekslenmeyi garanti etmez.
Kurulum Sonrası Kontroller ve Sık Görülen Hatalar
Ana sayfayı, bir yazıyı ve yönetim panelini açın. HTTP adresinin HTTPS’ye yönlendiğini, medya yüklemenin ve e-posta gönderiminin çalıştığını kontrol edin.
|
Sorun |
Öncelikle kontrol edilecek nokta |
|
502 Bad Gateway |
PHP-FPM servisi ve soket yolu |
|
Yazı sayfalarında 404 |
Nginx try_files kuralı |
|
Veritabanı bağlantı hatası |
MySQL servisi, kullanıcı adı ve parola |
|
SSL alınamıyor |
A/AAAA kayıtları ve dışarıdan 80 portuna erişim |
|
Dosya yüklenemiyor |
Dizin izinleri, PHP ve Nginx yükleme sınırları |
Nginx hata kayıtlarını incelemek için:
sudo tail -n 50 /var/log/nginx/example.com.error.log
WordPress, tema ve eklentileri güncel tutun. Dosyalarla birlikte veritabanını da yedekleyin; geri yüklemeyi düzenli olarak test edin. Yönetici hesabında iki faktörlü doğrulama kullanın ve ihtiyaç duymadığınız eklentileri kaldırın.
Ekiphost ile WordPress Projenize Uygun VDS
WordPress için VDS seçerken ziyaretçi sayısı kadar kullanılan tema, eklentiler ve veritabanı yükü de önemlidir. WooCommerce mağazası ile küçük bir tanıtım sitesinin kaynak ihtiyacı aynı değildir.
Ekiphost ile projenizin işlemci, RAM ve NVMe depolama ihtiyaçlarını değerlendirerek uygun VDS seçeneklerini inceleyebilirsiniz. Doğru kaynak seçimi, düzenli bakım ve yedeklemeyle desteklenen bir altyapı, sitenizin büyümesi için sağlam bir başlangıç sağlar.