Hızlı ve En İyi Docker WordPress Kurulum Kılavuzu 2024
İçindekiler
WordPress dünyada en yaygın kullanılan CMS (İçerik Yönetim Sistemi) olduğu için yeni bir web sitesi oluşturmadan önce dikkatle değerlendirilmelidir. Temel olarak PHP işlemeyi ve MySQL veritabanını kullanır.
WordPress’i yerel olarak yüklemek birkaç adım gerektirir ve kurulumu biraz zaman alabilir. Bununla birlikte, Docker konteynerleştirme veya Docker WordPress kurulumu, yerel bir WordPress ortamını yapılandırmak için en basit yöntemdir.
Docker Nedir?
Docker adı verilen açık kaynaklı bir konteynerleştirme programı, farklı programların çalışması için ayrı ortamlar oluşturur. Kullanıcılar tarafından aynı gerçek ve sanal sunucularda birden fazla program geliştirilebilir, test edilebilir ve yürütülebilir.
Ana bilgisayar çekirdeğini paylaştıkları için konteynerler, sanal makineler gibi ayrı işletim sistemlerine ihtiyaç duymazlar. Sonuç olarak, cihaz üzerindeki talep önemli ölçüde hafifler ve sunucu aynı anda birden fazla konteyneri çalıştırabilir.
Docker WordPress Kurulumu
Örneğin Docker WordPress kurulumu, WordPress geliştiricileri için oldukça faydalıdır. Çok fazla sistem kaynağı tüketen tipik WordPress test ortamının aksine, geliştiricilerin sunucu alanını veya belleği boşa harcamadan minimum bir ortam oluşturmasına olanak tanır.
Docker WordPress kurulumunun iki yolu vardır: Docker compose ve CLI. Docker compose yaklaşımı daha metodik ve kolay olduğu için bu derste onu kullanacağız.
Docker Hub’ın gerekli tüm görüntülerin kaynağı olması dikkat çekicidir:
WordPress: Resmi WordPress Docker görüntüsü. PHP, Apache ve tüm WordPress dosyalarını içerir. Bir WordPress konteynerinin çalışması için veritabanı bağlantı bilgilerini oluşturmanız gerekir.
MySQL: MySQL konteyneriyle bağlantı kurmak için WordPress bu ortam değişkenlerini kullanacaktır.
phpMyAdmin: Veritabanı yönetimi için bir web uygulaması.
WordPress veri klasörleri için Docker birimlerinin yapılandırılması gerekir. Konteyner yeniden başlatıldıktan sonra bile yüklediğiniz medya ve ayar dosyalarının bozulmadan kalmasını sağlarlar.
Docker WordPress kurulumuna geçmeden önce Docker ve Docker Compose’un kurulu olduğundan emin olun. Docker Compose, birimlerinizi, bağımlılıklarınızı ve iki hizmeti tanımlama sürecini basitleştirir.
Docker ile Hızlı WordPress Kurulumu
Docker yaygın olarak kullanıldığında, birkaç konteyneri yönetmek zorlaşır. Docker Compose’un yardımıyla Docker’da hızlı bir şekilde çoklu konteyner uygulamaları oluşturabilir ve başlatabilirsiniz.
Compose, tüm hizmetlerinizi tek bir YAML dosyasında bildirmenize ve her şeyi tek bir komutla yukarı veya aşağı döndürmenize olanak tanır.
Docker WordPress kurulum süreci için gereken zaman ve çaba, bu süreci tek bir dağıtım komutuna indirgemeye yardımcı olan Docker Compose kullanılarak önemli ölçüde azaltılabilir.
WordPress Docker Compose Kurulum Adımları
Birden fazla konteynerde çalışan uygulamaları yönetebilmeniz için Docker Composes’un en son sürümünü nasıl yükleyeceğinizi gösterelim.
- Kök hesabınıza gidin.
sudo -i
- Öncelikle mevcut sürümü kontrol ederek komutun güncel olduğundan emin olun.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
- Bundan sonra ikili yürütülebilir izinleri verin.
sudo chmod +x /usr/bin/docker-compose
- Son olarak sürüme bakarak kurulumun başarılı olduğunu doğrulayabilirsiniz.
docker-compose --version
Dizin Oluşturma
WordPress verilerini /srv içinde saklamak için WordPress adında yeni bir dizin oluşturmalısınız. Bu şekilde bir miktar veri kalıcılığı elde edebiliriz.
sudo mkdir -p /srv/wordpress cd /srv/wordpress/
Bildiğiniz gibi Docker konteynerlerindeki veriler kalıcı değildir. Bu, konteyneri durdurduktan sonra yeniden başlattığınızda içinde herhangi bir veri kalmayacağı anlamına gelir.
Kaçınılmaz olarak, bir Docker birimi eklemek bunun olmasını engelleyecektir.
Docker Compose YAML Dosyasını Hazırlama
Docker Compose alanında bir konteyner çalıştırmak için gereken tüm kaynaklar docker compose yaml adlı bir YAML dosyasında tanımlanmalıdır.
Belirtilen kaynaklar daha sonra bu dosyaları okuyacak ve Docker arka plan programıyla etkileşime girecek olan Docker Compose tarafından oluşturulabilir, değiştirilebilir veya yok edilebilir.
Dockerize WordPress yapılandırmamız için servis tanımları docker-compose.yml isimli dosyada yer almaktadır. Ayrıca Docker Compose sayesinde bu hizmetleri ortak ağlar ve birimler üzerinden birbirine bağlayabiliyoruz.
Öyleyse, /srv/wordpress dizini içinde yeni bir docker-compose.yml dosyası oluşturmak için tercih ettiğiniz düzenleyiciyi kullanarak başlayalım.
sudo vim docker-compose.yaml
Bu yapılandırmayı buraya koyun.
version: "3" # Defines which compose version to use services: # Services line define which Docker images to run. In this case, it will be MySQL server and WordPress image. db: image: mysql:5.7 # image: mysql:5.7 indicates the MySQL database container image from Docker Hub used in this installation. restart: always environment: MYSQL_ROOT_PASSWORD: MyR00tMySQLPa$$5w0rD MYSQL_DATABASE: MyWordPressDatabaseName MYSQL_USER: MyWordPressUser MYSQL_PASSWORD: Pa$$5w0rD # Previous four lines define the main variables needed for the MySQL container to work: database, database username, database user password, and the MySQL root password. wordpress: depends_on: - db image: wordpress:latest restart: always # Restart line controls the restart mode, meaning if the container stops running for any reason, it will restart the process immediately. ports: - "8000:80" # The previous line defines the port that the WordPress container will use. After successful installation, the full path will look like this: http://localhost:8000 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: MyWordPressUser WORDPRESS_DB_PASSWORD: Pa$$5w0rD WORDPRESS_DB_NAME: MyWordPressDatabaseName # Similar to MySQL image variables, the last four lines define the main variables needed for the WordPress container to work properly with the MySQL container. volumes: ["./:/var/www/html"] volumes: mysql: {}
Ek Açıklamalar
- WordPress ve MySQL tanımladığımız ve otomatik olarak birbirine bağlanan iki hizmettir.
- Kullanılacak WordPress ve MySQL sürümlerini belirleyen bir Docker görüntüsü kullanırlar. Özellikle de en son versiyonları.
- WordPress ortamı: Bir WordPress konteynerinin çalışması için veritabanı bağlantı bilgilerini oluşturmanız gerekir.
- WordPress görüntüsü, varsayılan olarak 80 numaralı bağlantı noktasını kullanan Apache üzerine kurulmuştur. Yerel bilgisayarın 8080 numaralı bağlantı noktasını Apache sunucusunun varsayılan bağlantı noktasıyla eşleştirin.
- Bu veritabanına giren veriler mysql_data adlı bir birime kaydedilecek, bu da verilerin bilgisayarınızda kalmasını ve konteyner kaldırıldıktan sonra bile yeniden yüklenmesini sağlayacaktır.
WordPress İçerik Rehberi
Ayrıca, Docker’a WordPress altındaki volumes parametresini kullanarak yerel dosya sistemindeki wp-content dizinini göstermesi talimatı verilir.
Böylece, WordPress web sitemizin wp-content dizini gibi belirli alanları artık kalıcı depolama alanına sahip. Kullanıcılar tarafından gönderilen tüm içerikler wp-content klasöründe bulunur.
Web sitenize yükleyebileceğiniz tüm içerik sonuçta burada sona erer. Yine de, diğer her şey gitmiş olsa bile, hem veritabanına hem de wp-content klasörünüze sahip olduğunuz sürece web sitenizi her zaman geri yükleyebilirsiniz.
WordPress’i Docker Compose üzerinde çalıştırma
Docker Compose yaml dosyasını oluşturduktan sonra konteynerleri oluşturmak ve başlatmak için aynı WordPress dizininde aşağıdaki komutu kullanın:
sudo docker-compose up -d
Komut, komut dosyası yürütmesini başlatacak ve Docker MySQL ve WordPress görüntülerini çekerken, terminalde çeşitli “İndiriliyor” ve “Bekliyor” sinyallerini gözlemlemelisiniz. Bu biraz zaman alacak.
Yerel dosya sisteminizi yakından izlediğinizde, Docker görüntüleri içeri çekildiğinde /srv/wordpress/wp-content adlı bir klasörün oluşturulduğunu ve dosyalarla doldurulduğunu fark edeceksiniz.
Bir Web Tarayıcısı Kullanarak WordPress Kurulumunu Bitirin
Tarayıcınızda http://localhost:8000/ adresine gidin… WordPress yapılandırma ekranı görünecektir. Favori dilinizi seçin ve devam edin.
E-posta adresinizi, şifrenizi, kullanıcı adınızı ve site adınızı girin.
Başarılı! mesajı görüntülendiğinde oturum açmak için yeni oluşturduğunuz oturum açma bilgilerinizi kullanın. Daha sonra WordPress kontrol panelinin ana ekranı karşınıza çıkacaktır.
Docker Secrets ile Yapılandırma
Parolalar, SSH anahtarları ve diğer önemli veriler dahil olmak üzere hassas bilgilerin daha dikkatli kullanılması gerekir.
wordpress: depends_on: - db image: wordpress:latest restart: always ports: - "8000:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: MyWordPressUser WORDPRESS_DB_PASSWORD_FILE: /run/secrets/wordpress_password WORDPRESS_DB_NAME: MyWordPressDatabaseName secrets: - wordpress_password secrets: wordpress_password: file: ./wordpress_password.txt
Docker gizli dizilerini kullanarak diğer katılımcıların size erişebileceği durumlarda güvenliğinizi artırabilirsiniz. Compose dosyanızda gizli dizileri tanımlayın ve WORDPRESS_DB_PASSWORD_FILE yerine WORDPRESS_DB_PASSWORD gibi değişkenleri kullanın.
WordPress, değişkenin değerini yüklemek için Docker’ın enjekte ettiği gizli dosyayı kullanacaktır. Çalışma dizininize şifrenizi ekleyin. Konteyner içinden erişebilirsiniz. Bu dosya, son veritabanı şifresini almak için WordPress tarafından okunmalıdır.
Kendi Sitenizi Ekleme
Önceki prosedürleri tamamladıktan sonra, yönetim merkezi aracılığıyla etkileşimde bulunabileceğiniz yepyeni bir Docker WordPress kurulumuna sahip olursunuz.
Yönetici arayüzünü kullanarak sayfalar, gönderiler, temalar ve eklentiler ekleyin; Sıfırdan WordPress kurulumu kadar basittir. Temaları monte ederek konteynerinizi önceden ayarlanmış bir tema ve eklenti koleksiyonu ile kurabilirsiniz
/var/www/html/wp-content/themes
ve eklentiler
/var/www/html/wp-content/plugins
dizinler.
Özel Docker Görüntüsü
Bu tekniği web siteniz için özelleştirilmiş bir Docker görüntüsü oluşturmak için de kullanabilirsiniz. Resmi WordPress görüntüsünü temel alarak sitenizdeki bileşenleri ilgili dizinlere kopyalayın.
Docker WordPress kurulumundan sonra en son temaları yüklediğinizde veya fotoğraflar gibi medya öğelerini yayınladığınızda, bu klasörler wp-content dizini altında korunur.
Sonuç
Artık Docker Compose’un altında yatan fikir size açıklandığına göre, temel çoklu konteyner uygulamalarını bile tanımlayabilmeniz gerekir. Bu eğitimde Docker Compose kullanarak Docker WordPress Kurulumunu öğrendiniz.
Docker WordPress kurulumu, ana makinenizin kirlenmesini önler ve sitenizin yapılandırmasını konteynerleştirmenize yardımcı olur.
Hizmetlerinizi bir Docker Compose dosyası olarak tanımlayarak, iş arkadaşlarınızın WordPress’i zahmetsizce ve hızlı bir şekilde kullanmaya başlamasına yardımcı olabilirsiniz.