Docker Compose ile WordPress Kurulumu ve Optimizasyonu
Anahtar Kelime: Docker Compose WordPress kurulumu
📘 Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde WordPress’i Docker Compose ile modern, güvenli ve ölçeklenebilir şekilde kuracaksınız.
Kurulum sonrası Ubuntu üzerinde WordPress performansını ve güvenliğini artırmayı öğreneceksiniz.
SSL sertifikası, otomatik yenileme, tema–eklenti optimizasyonu ve cache stratejileri ele alınır.
🧠 Teknik Özet (Analiz)
Bu rehber iki ana problemi çözer:
- WordPress kurulumunun karmaşık ve hataya açık olması
- Kurulum sonrası performans ve güvenliğin ihmal edilmesi
Çözüm olarak MySQL, WordPress (PHP-FPM), Nginx ve Certbot konteyner mimarisi kullanılır.
Ardından Ubuntu üzerinde tema, eklenti, cache ve güvenlik optimizasyonları uygulanır.
🔧 Ön Gereksinimler
- Ubuntu 22.04 veya üzeri bir sunucu
- Docker ve Docker Compose kurulu olmalı
- Alan adı ve DNS A kayıtları yapılandırılmış olmalı
- Root olmayan, sudo yetkili kullanıcı
🔹 BÖLÜM 1: Docker Compose ile WordPress Kurulumu
1️⃣ Nginx Web Sunucusu Yapılandırması
- Proje dizinini oluşturun:
mkdir wordpress && cd wordpress
- Nginx konfigürasyon dizini:
mkdir nginx-conf
- Yapılandırma dosyasını açın:
nano nginx-conf/nginx.conf
- HTTP yapılandırmasını ekleyin:
server {
listen 80;
server_name siteadresiniz.com www.siteadresiniz.com;
root /var/www/html;
index index.php index.html;
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/html;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass wordpress:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
- Bu yapı PHP isteklerini WordPress konteynerine yönlendirir.
2️⃣ Ortam Değişkenleri (.env)
nano .env
MYSQL_ROOT_PASSWORD=guclu_root_sifre
MYSQL_USER=wp_user
MYSQL_PASSWORD=wp_db_sifre
Hassas bilgiler doğrudan compose dosyasına yazılmaz.
3️⃣ Docker Compose Servisleri
nano docker-compose.yml
version: '3'
services:
db:
image: mysql:8.0
env_file: .env
environment:
MYSQL_DATABASE: wordpress
volumes:
- dbdata:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
wordpress:
image: wordpress:php8.2-fpm
depends_on:
- db
env_file: .env
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress:/var/www/html
webserver:
image: nginx:alpine
ports:
- "80:80"
volumes:
- wordpress:/var/www/html
- ./nginx-conf:/etc/nginx/conf.d
- certbot-etc:/etc/letsencrypt
certbot:
image: certbot/certbot
volumes:
- wordpress:/var/www/html
- certbot-etc:/etc/letsencrypt
command: certonly --webroot --webroot-path=/var/www/html \
--email [email protected] --agree-tos --staging \
-d siteadresiniz.com -d www.siteadresiniz.com
volumes:
dbdata:
wordpress:
certbot-etc:
4️⃣ SSL Sertifikası Alma
docker-compose up -d
- Log kontrolü:
docker-compose logs certbot
- Başarılıysa --staging kaldırılarak gerçek sertifika alınır.
5️⃣ HTTPS Yapılandırması
- HTTP → HTTPS yönlendirmesi ve güvenlik başlıkları eklenir.
- Nginx 443 portu açılır ve servis yeniden başlatılır.
6️⃣ WordPress Web Kurulumu
- Tarayıcıdan:
https://siteadresiniz.com
Site adı, yönetici ve parola belirlenir.
7️⃣ SSL Otomatik Yenileme (Cron)
nano ssl_renew.sh
#!/bin/bash
docker-compose run certbot renew && docker-compose kill -s SIGHUP webserver
chmod +x ssl_renew.sh
sudo crontab -e
0 12 * * * /home/user/wordpress/ssl_renew.sh
🔹 BÖLÜM 2: Ubuntu Üzerinde WordPress Optimizasyonu
8️⃣ Altyapı ve Konum Stratejisi
- Sunucu konumu gecikmeyi doğrudan etkiler.
- Türkiye hedefli siteler için TR lokasyon idealdir.
Güncel PHP 8.x sürümleri ciddi hız kazandırır.
9️⃣ Tema ve Eklenti Disiplini
- Hafif temalar tercih edilmelidir.
- Kullanılmayan tema modülleri kapatılmalıdır.
Az ama kaliteli eklenti kullanımı performansı artırır.
🔟 Güvenlik ve İnce Ayarlar
-
/wp-admin adresi değiştirilmelidir
-
Araçlar > Site Sağlığı düzenli kontrol edilmelidir
-
Brute-force saldırıları engellenmelidir
1️⃣1️⃣ Önbellekleme (Cache)
Önbellekleme olmazsa olmazdır.
Önerilen eklentiler:
-
LiteSpeed Cache
-
WP Super Cache
-
W3 Total Cache
❓ Sıkça Sorulan Sorular (SSS)
1. Docker Compose performansı artırır mı? Evet, izolasyon ve yapı standardı sağlar.
2. Veriler silinir mi? Hayır, Docker volume ile kalıcıdır.
3. Nginx mi Apache mi? Yüksek trafikte Nginx daha verimlidir.
4. Cache SEO’yu etkiler mi? Evet, site hızı sıralamayı etkiler.
🏁 Sonuç
Bu rehberle WordPress’i modern, güvenli ve yüksek performanslı şekilde kurdunuz. Docker Compose ile altyapı sadeleşti, Ubuntu optimizasyonlarıyla hız zirve yaptı.
🚀 Rabisu Bulut altyapısında bu yapıyı dakikalar içinde hayata geçirebilirsiniz.