Ansible ile WordPress Kurulumu (Ubuntu 14.04)
Anahtar Kelime: Ansible WordPress kurulumu
Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde Ansible kullanarak WordPress kurulumunu otomatikleştirmeyi öğreneceksiniz.
Tek komutla Apache, MySQL, PHP ve WordPress kurulumu yapılır.
Tekrarlanan kurulumlar için ideal bir yapı oluşturulur.
Teknik Özet
- Teknik Konu: Ubuntu 14.04 üzerinde Ansible ile WordPress kurulumu
- Çözülen Problem: Manuel kurulumun zaman alması ve hata riski
- İzlenen Adımlar:
- Ansible kurulumu
- Envanter (hosts) tanımı
- Rollerle yapılandırma
- LAMP kurulumu
- WordPress otomatik yapılandırması
Ön Gereksinimler
- Bir build sunucu (Ansible çalışır)
- Bir WordPress hedef sunucu
- Ubuntu 14.04 yüklü iki sunucu
- SSH anahtarıyla erişim
sudoyetkili kullanıcı
Build sunucudan hedef sunucuya şifresiz SSH önerilir.
1. Ansible Kurulumu
Build sunucuya SSH ile bağlanın.
sudo apt-get install ansible -y
- Bu komut Ansible’ı sisteme kurar.
Kurulumu doğrulayın:
ansible --version
- Kurulumu doğrulamanızı sağlar.
2. Proje Yapısını Oluşturma
- Çalışma dizinini hazırlayın:
mkdir ~/wordpress-ansible && cd ~/wordpress-ansible
touch playbook.yml hosts
- Bu dosyalar otomasyonun merkezidir.
- Roller dizinini oluşturun:
mkdir roles && cd roles
ansible-galaxy init server
ansible-galaxy init php
ansible-galaxy init mysql
ansible-galaxy init wordpress
- Roller, yeniden kullanılabilir modüller sağlar.
3. Envanter (hosts) Dosyası
- hosts dosyasını düzenleyin:
[wordpress]
192.0.2.10
- Bu IP, WordPress kurulacak sunucudur.
4. Playbook Tanımı
- playbook.yml dosyasını düzenleyin:
- hosts: wordpress
roles:
- server
- php
- mysql
- wordpress
- Bu yapı, tüm rolleri sırayla çalıştırır.
Bağlantıyı test edin:
ansible-playbook playbook.yml -i hosts -u sammy -K
5. Server Rolü (LAMP Kurulumu)
- roles/server/tasks/main.yml içine şunları ekleyin:
- name: Update apt cache
apt: update_cache=yes cache_valid_time=3600
sudo: yes
- name: Install required software
apt: name={{ item }} state=present
with_items:
- apache2
- mysql-server
- php5
- php5-mysql
- libapache2-mod-php5
- php5-mcrypt
- python-mysqldb
sudo: yes
- Bu rol Apache, MySQL ve PHP’yi kurar.
6. PHP Rolü
- roles/php/tasks/main.yml dosyasını düzenleyin:
- name: Install PHP extensions
apt: name={{ item }} state=present
with_items:
- php5-gd
- libssh2-php
sudo: yes
- WordPress için gerekli PHP eklentileri kurulur.
7. MySQL Rolü
- Varsayılan değişkenleri tanımlayın:
wp_mysql_db: wordpress
wp_mysql_user: wordpress
wp_mysql_password: guclu_sifre
- Veritabanı görevlerini ekleyin:
- name: Create database
mysql_db: name={{ wp_mysql_db }} state=present
- name: Create user
mysql_user:
name={{ wp_mysql_user }}
password={{ wp_mysql_password }}
priv=*.*:ALL
- WordPress için veritabanı otomatik oluşturulur.
8. WordPress Rolü
- WordPress’i indirin ve yapılandırın:
- name: Download WordPress
get_url:
url: https://wordpress.org/latest.tar.gz
dest: /tmp/wordpress.tar.gz
validate_certs: no
- name: Extract WordPress
unarchive:
src: /tmp/wordpress.tar.gz
dest: /var/www/
copy: no
sudo: yes
- WordPress dosyaları sunucuya indirilir.
Veritabanı bilgilerini ekleyin:
- name: Configure wp-config
lineinfile:
dest: /var/www/wordpress/wp-config.php
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
with_items:
- { regexp: "DB_NAME", line: "define('DB_NAME', '{{ wp_mysql_db }}');" }
- { regexp: "DB_USER", line: "define('DB_USER', '{{ wp_mysql_user }}');" }
- { regexp: "DB_PASSWORD", line: "define('DB_PASSWORD', '{{ wp_mysql_password }}');" }
9. Kurulumu Çalıştırma
- Tüm yapılandırmayı başlatın:
ansible-playbook playbook.yml -i hosts -u sammy -K
- Tek komutla WordPress kurulur.
- Tarayıcıdan şu adresi açın:
http://sunucu_ip_adresi
Sıkça Sorulan Sorular (SSS)
1. Ansible neden tercih edilmeli? Hızlı, tekrarlanabilir ve hatasız kurulum sağlar.
2. Birden fazla sunucuya kurulum yapabilir miyim? Evet. hosts dosyasına IP eklemek yeterlidir.
3. Şifreleri düz metin yazmak güvenli mi? Hayır. Üretimde Ansible Vault önerilir.
4. Apache yerine Nginx kullanılabilir mi? Evet. Roller buna göre güncellenebilir.
Sonuç
WordPress artık tek komutla kurulabiliyor. Ansible ile ölçeklenebilir ve tutarlı altyapı sağlanır.
🚀 Rabisu Bulut üzerinde Ansible destekli sunucularla otomasyonu hemen deneyebilirsiniz.