Docker yardımı ile Synology NAS’a wordpress kuracağız, üstelik redis cache ile hızına güç katacağız.

Önce Docker dizini altında wordpress adında bir dizin açıyor ve içerisine db_data, redis_data ve html dizinlerini oluşturuyoruz. Ana dizine uploads.ini adında bir dosya oluşturup kopyalıyoruz.

INIuploads.ini
file_uploads = On
memory_limit = 512M
upload_max_filesize = 256M 
post_max_size = 280M      ; upload_max_filesize'dan biraz büyük
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000     ; Karmaşık temalar ve eklentiler için eklend

Bu dosya sayesinde php.ini ayarlarını basitçe yapmış olacağız. devam edelim ve Container Manager açıp yeni bir proje oluşturalım. Ben projenin adına wordpress yazdım.

Örnek docker compose dosyası aşağıda kendize göre düzenleyip kaynak bölümüne yapıştırıp ileri ye tıklayıp bitirin

YAMLwordpress.yaml
version: '3.8'

services: 
  db:
    image: mariadb:latest
    container_name: wp_db
    restart: unless-stopped
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - /volume1/docker/wordpress/db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpresspass
    networks:
      - wp-net

  redis:
    image: redis:latest
    container_name: wp_redis
    restart: unless-stopped
    volumes:
      - /volume1/docker/wordpress/redis_data:/data
    networks:
      - wp-net

  wordpress:
    image: wordpress:latest
    container_name: wp_app
    restart: unless-stopped
    depends_on:
      - db
      - redis
    ports:
      # Synology IP'nizden 8095 portu ile erişirsiniz.
      - "8095:80"
    volumes:
      # WordPress dosyalarınız (temalar, eklentiler) bu klasörde olacak
      - /volume1/docker/wordpress/html:/var/www/html
      # Özel PHP ayarlarımızı içeri bağlıyoruz
      - /volume1/docker/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    environment:
      WORDPRESS_DB_HOST: db:3306 # 'db' servis adını kullanıyoruz
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpresspass
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_TABLE_PREFIX: wp_
      # Redis bağlantısı için
      WORDPRESS_REDIS_HOST: redis
      WORDPRESS_REDIS_PORT: 6379
      # --- REST API Sorunu ÇÖZÜMÜ ---
      # !!! Buraya Synology NAS'ınızın IP'sini ve portunu YAZMALISINIZ !!!
      WORDPRESS_SITEURL: http://192.168.1.53:8095
      WORDPRESS_HOME:  http://w.kpl.pw
    networks:
      - wp-net

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: wp_pma 
    restart: unless-stopped
    depends_on:
      - db
    ports:
      # PHPMyAdmin'e 8096 portu ile erişirsiniz
      - "8096:80"
    environment:
      PMA_HOST: db # 'db' servis adını kullanıyoruz
      PMA_PORT: 3306
      MYSQL_ROOT_PASSWORD: rootpass
    networks:
      - wp-net

# Servislerin birbirleriyle konuşacağı özel ağı tanımlıyoruz
networks:
  wp-net:
    driver: bridge

# Verilerin saklanacağı klasörleri tanımlıyoruz
volumes:
  db_data:
  redis_data:
  wordpress

şimdi redis ayarlarını yapalım. html dizini içerisinde wp-config.php dosyasını bulun ve aşağıdaki kodları /* That’s all, stop editing! Happy publishing. satırından önceye ekleyin.ekledikten sonra dosyayı kaydetmeyi unutmayın.

INI
define( 'WP_REDIS_HOST', 'redis' );
define( 'WP_REDIS_PORT', 6379 );

kullandığınız web tarayıcısına http://NASIP:8095 adresini girerek wordpress kurulumunu başlatabilirsiniz.

şimdi herşey tamam ve belirlediğimiz kullanıcı adı ve şifre ile giriş yapalım

Redis eklentisini yüklemek için eklentilere girin, arama bölümüne Redis yazıp eklentiyi görene kadar bekleyin ardından eklentiyi kurup etkinleştirin.

etkinleştirdikten sonra Ayarların altında Redis e girin. herşey tamam sadece enable yaparak Redisimiz aktif olacak

sorun yok ve redis çalışıyor, isterseniz wp super cache eklentisinide kurup sorun yaşamadan kullanabilirsiniz. şimdi site sağlığına bakalım.

Ve herşey yolunda bir domain atayıp SSL verebilir ve modemden port açıp rahat bir şekilde kullanabilirsiniz.

Sıkça Sorulan Sorular





 

Synology NAS’ta Docker ile WordPress ve Redis Kurulumu Sıkça Sorulan Sorular

Bu rehberin Synology NAS üzerinde WordPress kurulumu için temel amacı nedir?

Bu rehber, Synology NAS cihazınızda Docker kullanarak hızlı ve performanslı bir WordPress sitesi kurmayı amaçlamaktadır. Kurulum, Redis cache entegrasyonu ile sitenizin hızını önemli ölçüde artırmayı, MariaDB veritabanı kullanmayı ve phpMyAdmin ile veritabanı yönetimini kolaylaştırmayı hedefler.

Hız ve performans için Redis cache neden kullanılıyor?

Redis, WordPress sitenizin veritabanı sorgularını ve sık erişilen içerikleri önbelleğe alarak sitenin yüklenme hızını ve genel performansını önemli ölçüde artırır. Bu rehberde Redis, Docker konteyneri olarak entegre edilmiştir ve WordPress ile sorunsuz bir şekilde çalışacak şekilde yapılandırılmıştır.

`uploads.ini` dosyası ne işe yarar ve içeriği nedir?

`uploads.ini` dosyası, WordPress uygulamanızın PHP ayarlarını kolayca yapılandırmanızı sağlar. Özellikle dosya yükleme limitleri (`upload_max_filesize`, `post_max_size`), bellek kullanımı (`memory_limit`), maksimum yürütme ve girdi süreleri (`max_execution_time`, `max_input_time`) gibi kritik PHP direktiflerini içerir. Bu sayede büyük dosyaların yüklenmesi veya karmaşık işlemlerin sorunsuz çalışması sağlanır.

Docker Compose dosyasında hangi bilgileri kendi Synology NAS’ıma göre düzenlemeliyim?

Docker Compose dosyasında kendi ortamınıza özel olarak düzenlemeniz gereken başlıca alanlar şunlardır:

  • Veritabanı Kimlik Bilgileri: `db` servisi altındaki `MYSQL_ROOT_PASSWORD`, `MYSQL_DATABASE`, `MYSQL_USER`, `MYSQL_PASSWORD` değerleri.
  • WordPress Site URL’si: `wordpress` servisi altındaki `WORDPRESS_SITEURL` ve `WORDPRESS_HOME` değişkenleri altına Synology NAS’ınızın IP adresini ve WordPress için belirlediğiniz portu (örneğin, `http://192.168.1.53:8095` gibi) yazmalısınız. Bu, özellikle REST API sorunlarının önüne geçmek için önemlidir.
  • Volume Yolları: `/volume1/docker/wordpress/…` şeklindeki volume yollarını kendi Synology NAS’ınızdaki Docker dizininize ve klasör yapınıza göre ayarlamanız gerekebilir.

Kurulum tamamlandıktan sonra WordPress ve phpMyAdmin’e nasıl erişebilirim?

Kurulumu başarıyla tamamladıktan sonra, WordPress sitenize Synology NAS’ınızın IP adresi ve Docker Compose dosyasında belirlenen port üzerinden erişebilirsiniz. Örnek olarak, `http://[Synology_IP_Adresi]:8095` adresinden WordPress’e ulaşabilirsiniz. phpMyAdmin ise `http://[Synology_IP_Adresi]:8096` portu üzerinden erişilebilir ve veritabanı yönetiminiz için kullanılabilir.