Ana içeriğe geç

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ı

  1. Proje dizinini oluşturun:
mkdir wordpress && cd wordpress
  1. Nginx konfigürasyon dizini:

mkdir nginx-conf

  1. Yapılandırma dosyasını açın:

nano nginx-conf/nginx.conf

  1. 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

  1. 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

  1. Hafif temalar tercih edilmelidir.
  2. Kullanılmayan tema modülleri kapatılmalıdır.

Az ama kaliteli eklenti kullanımı performansı artırır.


🔟 Güvenlik ve İnce Ayarlar

  1. /wp-admin adresi değiştirilmelidir

  2. Araçlar > Site Sağlığı düzenli kontrol edilmelidir

  3. Brute-force saldırıları engellenmelidir


1️⃣1️⃣ Önbellekleme (Cache)

Önbellekleme olmazsa olmazdır.

Önerilen eklentiler:

  1. LiteSpeed Cache

  2. WP Super Cache

  3. 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.