Pardus Sunucu Üzerinde Docker ile WordPress Blog Oluşturmak

–Docker ile WordPress

WordPress ile bir blog alt yapısı oluşturmak gibi bir amacınız var ise bu makaleyi kullanabilirsiniz. İlgili blog alt yapısı için öncelikle ;

Mariadb

Wordpress

kullanacağız.

Eğer pardus üzerinde docker kurulumu yazısını okumadı iseniz Pardus Sunucusu Üzerine Docker Kurulumu yazına bakabilirsiniz.

Blog kurulumuna başlayalım.

  1. Mariadb Container Kurulumu
Docker pull mariadb

Komutu ile mariadb image dosyasını sunucu üzerine indiriyoruz.

akabinde

Docker images

Yada

Docker image ls

Komutlarını kullanarak sunucumuz üzerine daha önce indirilmiş yada şimdi indirdiğimiz image listleri görebiliriz.

Container oluşturmadan önce mariadb için database ve config dosyalarına hızlı bir şekilde ulaşıp müdahalede bulunmak için container tarafındaki database ve config dizinlerini sunucu üzerinde oluşturduğumuz dizinler ile karşılıklı bind edeceğiz. Bunun amacı database dosyalarına ve config edilmek istendiğinde sunucu üzerinde container tarafını organize ve kontrol etmek.

Sudo su -

Komutu ile sunucudan root haklarını alıyorum

mkdir ~/wordpress

Cd wordpress

Mkdir database

Mkdir html

Komutları ile dizinleri oluşturalım.

docker container run -d --name wpdb -e MYSQL_ROOT_PASSWORD=1234+abcd -e MYSQL_USER=idelibalta -e MYSQL_PASSWORD=1234+abcd -e MYSQL_DATABASE=wordpressdb -v $(pwd):/var/lib/mysql mariadb

Komutu ile mariadb contrainer ını oluşturuyoruz.

Docker container ls

Komutu ile çalışan container ları kontrol ediyoruz.

Şimdi buradaki parametrelerini açıklamak gereklirse;

-e MYSQL_ROOT_PASSWORD : mariadb tarafındaki root parolası

-e MYSQL_USER : mariadb tarafında yeni bir user oluşturuyoruz

-e MYSQL_PASSWORD: mariadb tarafında oluşturulan yeni user için parola belirle

-e MYSQ_DATABASE : mariadb tarafında wordpress için kullanılacak database adı

ayrıca farklı olarak -v parametresini kullandık

-v parametresi docker tarafında Volume tanımlamak amacı ile kullanılır. Sunucu üzerindeki bir dizini container tarafındaki bir dizin ile bind etmek ve ilgili dosyalara sunucu üzerinden ulaşabilmek için genelde volume parametresi ile bind işlemi yapılır.

-v $(pws):/var/lib/mysql : $(pwd) bir değişken olarak kullandık. Linux ortamında pwd komutu bulunduğumuz dizini ifade eder. Biz container tarafındaki /var/lib/mysql dizinini sunucu üzerindeki /root/wordpress/database dizini ile bind etmek için bu seti kullandık.

Mariadb container oluştu ve çalışıyor. Şimdi wordpress işlemlerine başlayalım.

  1. WordPress Container Kurulumu
Docker pull wordpress

Komutu ile image dosyasını sunucu üzerine çekiyoruz.

docker container run -d --name wordpress -e WORDPRESS_DB_USER=idelibalta -e WORDPRESS_DB_PASSWORD=1234+abcd -e WORDPRESS_DB_NAME=wordpressdb -p 8081:80 -v $(pwd):/var/www/html --link wpdb:mysql wordpress

Komutu ile wordpress container ımızı oluşturuyoruz.

Parametreleri açıklamak gerekirse;

-e WORDPRESS_DB_USER : WordPress için oluşturulmuş db user bilgisi

-e WORDPRESS_DB_PASSWORD : WordPress için oluşturulmuş db pass bilgisi

-e WORDPRESS_DB_NAME : WordPress db adı

-p 8081:80 : WordPress port bilgisi. İçeride 8081 dışarıda ise 80 portundan çalışacak

-v $(pwd):/var/www/html : volume bilgisi. Sunucudaki root/wordpress/html dizini ile container tarafındaki /var/www/html dizinini bind ediyoruz

–link : WordPress container ı ile mariadb container nı ilişkilendiriyoruz

-d : deatach modunda çalış. Docker üzerinde bir container oluşturduğunuz zaman eğer -d parametresini kullanmadı iseniz siz container dan çıktıktan sonra container stop olur. -d (deatach) ise container oluştuğunda çalışmaya başlaması için kullanılır.

–name : container ismi

Docker container ls

Komutu ile container durumunu görebiliriz. Şu anda aktif olduklarını ve çalıştıklarını görüyoruz.

Şimdi de hem mariadb hem de wordpress container larını kontrol edelim.

Öncelikli olarak mariadb tarafına bir bakalım.

Docker container exec -it wpdb bash

Komutu ile container içerisine giriş yapalım. Hemen akabinde

Mysql -u (username) -p

Komutu ve arkasından parola girerek mysql yani mariadb tarafına ulaşalım.

Show databases;

Komutu ile database list yapalım.

WordPressdb oluştuğunu ve mariadb tarafının bize cevap verdiğini görüyoruz.

Sonrasında da wordpress tarafını kontrol edelim

Docker container exec -it wordpress bash

Komutu ile wordpress container ına giriş yapalım.

Curl -I 172.17.0.3:8081

Komutu ile http bilgilerini alıyoruz.

Curl, http istemci olarak kullanılan bir komut satırı aracıdır.

Docker ile WordPress

Şu an gayet iyi.

Son kontrolümü de şöyle olsun

http://192.168.126.133:8081/wp-admin/install.php (sizde kendi sunucu ip nizi yazınız)

Browser tarafında kontrol ettiğimizde wordpress install aracının geldiğini görüyoruz.

Aslında şu ana kadar yaptıklarımız ile docker ile blog kurulumunu tamamlamış olduk. Ama performans ve caching işlemleri için nginx proxy kullanabiliriz. Öncesinde kullandığımız docker komutlarını ve parametrelerini açıklayalım sonra nginx proxy kurulumuna geçelim.

Oluşturulan docker container içerisine ulaşmak için aşağıdaki komutu kullanabilirsiniz.

Docker container exec -it containeradi bash

-it : i (interactive) t (tty) dir. Tty açıklama gerekirse container ile iletişime geçmemiz için kullanılan konsoldur diye biliriz.

bash docker komutu ile komut satırına inmek istediğimizi bildirdiğimiz komut

Şimdilik süreç tamamlandı.

Bir başka yazıda da Nginx Reverse proxy ile PHP FPM kavramlarına ve yaptığımız bu kuruluma nasıl entegre edilebileceklerine dair bir şeyler paylaşmak istiyorum.

Bir başka yazıda görüşmek dileği ile

Author: idelibalta

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir