Ana içeriğe geç

Nginx ile WordPress Multisite Kurulumu Tek Merkezden Çoklu Site Yönetimi

Bu rehberde ne öğreneceksiniz?

Bu rehberde, tek bir WordPress kurulumu üzerinden birden fazla siteyi nasıl yöneteceğinizi öğreneceksiniz.
Nginx üzerinde subdomain tabanlı WordPress Multisite yapısı kurup, farklı alan adlarını bu yapıya bağlayacağız.


🧠 Teknik Özet

Ana Teknik Konu:
Ubuntu 14.04 üzerinde Nginx kullanarak WordPress Multisite kurulumu ve domain mapping.

Çözülen Problem:
Birden fazla WordPress kurulumunu ayrı ayrı yönetme maliyetini ortadan kaldırmak.

İzlenen Adımlar:

  • Wildcard DNS yapılandırması
  • LEMP (Nginx, MySQL, PHP) kurulumu
  • Nginx çoklu site ayarları
  • WordPress Multisite aktivasyonu
  • Alan adı eşleme (domain mapping)

1️⃣ DNS Wildcard Kayıtlarını Yapılandırın

  • Her alt alan adı için ayrı DNS kaydı açmak yerine joker kayıt kullanılır.

Örnek kayıt:

*.rabisu.cloud → SUNUCU_IP

  • Bu kayıt sayesinde site1.rabisu.cloud, site2.rabisu.cloud gibi tüm alt alanlar çalışır.

2️⃣ LEMP Yığınını Kurun ve Nginx’i Hazırlayın

Gerekli tüm bileşenleri tek komutla kurun:

apt-get update
apt-get install -y nginx mysql-server php5-fpm php5-mysql php5-curl php5-mcrypt php5-gd
  • Bu komut Nginx, MySQL ve WordPress için gerekli PHP modüllerini yükler.

  1. WordPress dosyaları için kök dizin oluşturun:

mkdir /usr/share/nginx/wordpress
  1. Bu dizin, tüm multisite yapısının ana klasörüdür.

3️⃣ Nginx Multisite Yapılandırması

  1. Yeni bir Nginx yapılandırma dosyası oluşturun:

nano /etc/nginx/sites-available/wp-ms
  • Bu dosya, tüm domain ve subdomain isteklerini karşılar.

Örnek yapılandırma:


server {
listen 80;
server_name rabisu.cloud *.rabisu.cloud magaza.com;

root /usr/share/nginx/wordpress;
index index.php index.html;

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

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
  • Bu yapılandırma, ana domain ve tüm alt domainleri tek WordPress kurulumuna yönlendirir.

Dosyayı aktif edin ve Nginx’i yeniden başlatın:


ln -s /etc/nginx/sites-available/wp-ms /etc/nginx/sites-enabled/wp-ms
service nginx restart

4️⃣ WordPress Multisite Özelliğini Aktif Edin

  1. wp-config.php dosyasını açın:

nano /usr/share/nginx/wordpress/wp-config.php

Aşağıdaki satırı ekleyin:


define('WP_ALLOW_MULTISITE', true);
  • Bu satır WordPress panelinde “Ağ Kurulumu” ekranını açar.

Panelden:

  • Araçlar → Ağ Kurulumu yolunu izleyin ve Alt Alan Adları seçeneğini seçin.
  • Verilen kodları tekrar wp-config.php dosyasına ekleyin.

5️⃣ Alan Adı Eşleme (Domain Mapping)

  • Alt siteleri farklı domainlere bağlamak için WordPress MU Domain Mapping eklentisini kullanın.

Özet adımlar:

  1. Eklentiyi wp-content/plugins dizinine yükleyin

  2. sunrise.php dosyasını wp-content içine kopyalayın

  3. wp-config.php içine şu satırı ekleyin:



define('SUNRISE', 'on');
  • Bu ayar domain mapping özelliğini aktif eder.

  • Ağ panelinden her siteyi kendi alan adına bağlayabilirsiniz.


❓ Sıkça Sorulan Sorular (SSS)

1. Her site için ayrı veritabanı mı kullanılır? Hayır. Tüm siteler tek veritabanını kullanır, tablo ön ekleri farklıdır.

2. Nginx .htaccess dosyalarını okur mu? Hayır. Tüm yönlendirmeler Nginx yapılandırmasında yapılır.

3. Alt site yöneticileri eklenti yükleyebilir mi? Hayır. Eklenti yükleme yetkisi sadece Süper Yönetici’dedir.

4. Her siteye farklı SSL kurulabilir mi? Evet. Her alan adı için ayrı SSL önerilir.


🚀 Sonuç

WordPress Multisite, çoklu site yönetimini ciddi şekilde kolaylaştırır. Bakımı merkezi, performansı yüksek ve ölçeklenebilir bir yapı sunar. Bu mimariyi Rabisu Bulut altyapısında güvenle kullanabilirsiniz.