WordPress’i SSH üzerinden Ubuntu bir sunucuya kurarken, adımları doğru sırayla uygulamak hem güvenlik hem de sorunsuz kurulum için önemlidir. Bu rehberde Apache + MySQL + PHP (LAMP) kurup WordPress’i çalışır hâle getireceğiz.
Ön koşullar
- Ubuntu yüklü bir sunucu (VPS/VM)
- Sunucuya erişebileceğiniz bir IP adresi
- Bir SSH kullanıcı adı (ör.
ubuntu,rootveya bulut sağlayıcınızın verdiği kullanıcı) - SSH anahtar dosyanız (ör.
sshkey.pem) veya parola ile erişim
SSH nedir?
SSH (Secure Shell), uzaktaki bir sunucuya internet üzerinden şifreli şekilde bağlanmanızı ve komut çalıştırmanızı sağlayan bir protokoldür.
Kurulum adımları
Aşağıdaki adımları sırayla uygulayacağız:
- Sunucuya SSH ile bağlanma
- Apache web sunucusu kurulumu
- MySQL kurulumu ve güvenli yapılandırma
- PHP kurulumu
- WordPress için veritabanı ve kullanıcı oluşturma
- WordPress dosyalarını indirme ve web dizinine yerleştirme
- Web arayüzünden WordPress kurulumunu tamamlama
1) SSH ile sunucuya bağlanma
Terminal’i açın ve anahtar dosyanızın olduğu klasöre gidin. Örneğin dosya Downloads içindeyse:
bashcd ~/Downloads ls
Anahtar dosyasının izinlerini düzeltin:
bashchmod 400 sshkey.pem
Bağlantıyı kurun (kullanıcı adı ve IP örnektir):
bashssh -i sshkey.pem kullaniciadi@111.111.111.111
- Yanlış kullanıcı adı
- Security Group/Firewall’da 22 portunun kapalı olması
- IP adresinin hatalı olması
2) Apache (HTTP) web sunucusu kurulumu
Paket listesini güncelleyin ve Apache’yi kurun:
bashsudo apt update sudo apt install -y apache2
Servisin durumunu kontrol edin ve otomatik başlatmayı açın:
bashsudo systemctl enable --now apache2 sudo systemctl status apache2 --no-pager
Tarayıcıdan SUNUCU_IP_ADRESINIZ adresine gittiğinizde Apache’nin varsayılan sayfasını görmelisiniz.

3) MySQL kurulumu ve güvenli yapılandırma
WordPress içeriklerini saklamak için veritabanı gerekir.
MySQL’i kurun:
bashsudo apt install -y mysql-server
Servisi etkinleştirin:
bashsudo systemctl enable --now mysql sudo systemctl status mysql --no-pager
Güvenlik sihirbazını çalıştırın:
bashsudo mysql_secure_installation
mysql_secure_installation içinde genelde önerilen seçimler:- Anonim kullanıcıyı kaldır
- Uzaktan root girişini kapat
- Test veritabanını kaldır
- Yetkileri yeniden yükle
4) PHP kurulumu
WordPress PHP ile çalışır. Apache’nin PHP’yi yorumlayabilmesi için PHP ve gerekli eklentileri kuruyoruz:
bashsudo apt install -y php libapache2-mod-php php-mysql sudo systemctl restart apache2
5) WordPress için veritabanı ve kullanıcı oluşturma
MySQL’e root ile girin:
bashsudo mysql
Aşağıdaki komutlarla veritabanını ve kullanıcıyı oluşturun. GUVENLI_PAROLA_BURAYA kısmını güçlü bir parola ile değiştirin.
sqlCREATE DATABASE wordpressdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'GUVENLI_PAROLA_BURAYA'; GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
wpuser oluşturmak en doğru yaklaşımdır.6) WordPress’i indirme ve kurulum
Gerekli yardımcı paketleri kurun:
bashsudo apt install -y wget unzip
WordPress’in son sürümünü indirin ve çıkarın:
bashcd /tmp wget https://wordpress.org/latest.zip unzip latest.zip
Dosyaları web dizinine taşıyın (Ubuntu’da varsayılan Apache dizini):
bashsudo rm -rf /var/www/html/* sudo cp -a /tmp/wordpress/. /var/www/html/
Dosya sahipliğini ve izinleri düzenleyin:
bashsudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;
7) Web arayüzünden WordPress kurulumunu tamamlama
Tarayıcıdan şu adrese gidin:
SUNUCU_IP_ADRESINIZ
Dil seçimini yapın.

Veritabanı ekranında şu bilgileri girin:
- Veritabanı adı:
wordpressdb - Kullanıcı adı:
wpuser - Parola: (5. adımda belirlediğiniz parola)
- Veritabanı sunucusu:
localhost - Tablo ön eki: Varsayılan kalabilir
Sonrasında site başlığını ve yönetici (admin) hesabınızı oluşturun.

Sık sorulan sorular (SSS)
1) “Sayfa açılmıyor, ne kontrol etmeliyim?”
sudo systemctl status apache2ile Apache çalışıyor mu?- Güvenlik grubu/firewall’da 80 (HTTP) açık mı?
- Doğru IP’ye mi gidiyorsunuz?
2) “MySQL’e giremiyorum, Access denied alıyorum.”
sudo mysqlile root erişimi deneyin.- WordPress için oluşturduğunuz kullanıcı/parola doğru mu?
- Kullanıcıyı
localhostiçin mi oluşturdunuz?
3) “Neden root kullanıcısı ile bağlanmıyoruz?”
root ile WordPress’i çalıştırmak, ele geçirilme durumunda veritabanının tamamını tehlikeye atar. Ayrı bir kullanıcıyla sadece gerekli yetkileri vermek en güvenli yöntemdir.
4) “HTTPS (SSL) nasıl eklerim?”
Bu rehber HTTP ile kurulum içindir. HTTPS için genelde Let’s Encrypt + Certbot ile SSL sertifikası kurulur.
5) “Hangi PHP sürümü gerekli?”
WordPress güncel sürümlerinde genelde modern PHP sürümleri önerilir. Sunucunuzdaki PHP sürümünü görmek için:
bashphp -v
