WordPress Manuel Kurulumu: VDS'te Sıfırdan Kuruluma Tam Rehber
VDS'inde WordPress'i panel olmadan manuel kurma. Apache/Nginx, PHP, MySQL, dosya izinleri ve güvenlik adımları.
Plesk/cPanel kullanmadan VDS’inde WordPress’i sıfırdan manuel kurmak istiyorsan doğru yerdesin. Bu rehberde Ubuntu 22.04 üzerinde LAMP/LEMP stack hazırlığı, WordPress dosyalarının yerleştirilmesi, MySQL veritabanı oluşturma ve güvenlik adımlarını anlatıyoruz.
Önkoşullar
- 2 vCPU + 2 GB RAM VDS (giriş seviyesi WordPress için)
- Ubuntu 22.04 / Debian 12
- Root erişimi (
sudo) - Domain DNS A kaydı VDS IP’sine işaret etmeli
1. Sistemi güncelle
sudo apt update && sudo apt upgrade -y
2. LAMP stack kur (Apache + MySQL + PHP)
LEMP (Nginx) için Nginx yazımıza bakabilirsin.
sudo apt install apache2 mysql-server -y
# PHP 8.3 + WordPress için gerekli modüller
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-zip php8.3-imagick libapache2-mod-php8.3 -y
sudo systemctl enable --now apache2 mysql
3. MySQL’i güvenli hale getir
sudo mysql_secure_installation
- Root parolası belirle
- Anonymous users → Yes (sil)
- Remote root login → Yes (engelle)
- Test database → Yes (sil)
Detaylı MySQL yönetimi için MariaDB/MySQL yazımız.
4. WordPress için veritabanı oluştur
sudo mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'GUCLU_PAROLA_BURAYA';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
5. WordPress’i indir
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/siten.com
Çoklu site için /var/www/site2.com gibi ayrı klasörler kullan.
6. Dosya izinlerini ayarla
sudo chown -R www-data:www-data /var/www/siten.com
sudo find /var/www/siten.com -type d -exec chmod 755 {} \;
sudo find /var/www/siten.com -type f -exec chmod 644 {} \;
wp-content/uploads için yazma izni:
sudo chmod -R 775 /var/www/siten.com/wp-content
7. Apache vhost yapılandır
sudo nano /etc/apache2/sites-available/siten.com.conf
<VirtualHost *:80>
ServerName siten.com
ServerAlias www.siten.com
DocumentRoot /var/www/siten.com
<Directory /var/www/siten.com>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/siten.com_error.log
CustomLog ${APACHE_LOG_DIR}/siten.com_access.log combined
</VirtualHost>
sudo a2enmod rewrite
sudo a2ensite siten.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
8. wp-config.php dosyasını yapılandır
cd /var/www/siten.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
Düzenle:
define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'GUCLU_PAROLA_BURAYA' );
define( 'DB_HOST', 'localhost' );
Authentication keys için: https://api.wordpress.org/secret-key/1.1/salt/ → çıkanı kopyala, wp-config.php’deki ilgili bölüme yapıştır.
9. SSL kur
Mutlaka şart — Let’s Encrypt yazımız:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d siten.com -d www.siten.com
10. Tarayıcıda kuruluma devam et
https://siten.com aç:
- Dil seç → Continue
- Site Title, admin Username, Password, Email → Install WordPress
5 saniye içinde WordPress hazır.
Güvenlik adımları (kurulum sonrası)
- Admin kullanıcı adını “admin” yapma (default brute-force hedefi)
- wp-admin’i firewall’la kısıtla — sadece kendi IP’nden erişim (UFW yazımız)
- XML-RPC kapat — WP DDoS saldırılarına alet olur
- 2FA eklentisi kur: Wordfence Login Security
- Otomatik güncelleme aktif et:
wp-config.php’yedefine('WP_AUTO_UPDATE_CORE', 'minor'); - Cron yedek kur: Plesk yoksa kendi cron’unu yaz (cron yazımız)
Performans optimizasyonu
- OPcache aktif et:
php.ini→opcache.enable=1 - Object cache: Redis kur,
redis-cliile bağlan - Cache eklentisi: WP Rocket / LiteSpeed Cache
- CDN: Cloudflare yazımız
Detaylı performans için WordPress Hosting yazımız.
Sık karşılaşılan hatalar
- “Error establishing database connection”:
wp-config.phpDB bilgileri yanlış ya da MySQL servis kapalı - 404 Not Found (permalink’ler):
mod_rewriteaktif değil →sudo a2enmod rewrite - White screen of death: PHP error →
tail -f /var/log/apache2/error.log - “Allowed memory size exhausted”:
wp-config.php’yedefine('WP_MEMORY_LIMIT', '256M'); - Image upload fail:
wp-content/uploadsizinleri yanlış
Sonuç
Manuel kurulum 20 dakikalık iş ama tam kontrol verir — Plesk gibi panel ek lisans gerektirir, manuel ücretsizdir. Production WordPress için manuel kurulum + nginx-proxy + Let’s Encrypt + Cloudflare = en hızlı stack.
KavesNET VDS paketleri NVMe SSD ile WordPress için optimize.
İlgili Yazılar
Bunlar da ilgini çekebilir.
3-2-1 Yedekleme Kuralı: Sunucu Verilerini Asla Kaybetmemenin Yolu
3-2-1 yedekleme kuralı, kurumsal sunucu yedekleme stratejisinin altın standardıdır. Bu yazıda kuralı, otomasyon yöntemlerini ve KavesNET yedek altyapısını anlatıyoruz.
Devamını Oku
Plesk'ten Plesk'e Site Nasıl Taşınır? Migrator Aracı Rehberi
Plesk Migrator ile site, mail, DB ve DNS'i tek seferde yeni sunucuya taşı. Adım adım kurulum, migration test ve cutover.
Devamını Oku
FileZilla ile VDS'ten VDS'e Dosya Taşıma Rehberi
Eski sunucudan yeni VDS'e siteni taşı: FileZilla ile FTP/SFTP, hız ipuçları, izin ayarları ve hata kontrolü.
Devamını Oku