Sunucu Yönetiminde Ansible ile PHP Kurulumu
Günümüzde, büyük ölçekli ve sürekli güncellenen sunucu ortamlarında otomasyon, zaman ve kaynak tasarrufu açısından vazgeçilmez hale geldi. Bu noktada Ansible gibi konfigürasyon yönetim araçları, özellikle PHP tabanlı web uygulamalarını hızlı ve güvenli bir biçimde kurmak ve yönetmek için ideal çözümler sunuyor.
Ansible, YAML tabanlı envanter ve playbook yapısıyla, karmaşık görevleri dahi birkaç satır kodla otomatik hale getirebilir. PHP kurulumunda ise, özellikle farklı Linux dağıtımlarında uyumluluk ve sürüm kontrolü önem kazanır.
İşte temel bir Ansible playbook örneğiyle, Ubuntu ve CentOS gibi iki yaygın dağıtımda PHP kurulumunu nasıl gerçekleştireceğinizi anlatıyorum:
- Envanter Dosyası:
Belirli sunucuları gruplandırmak için. Örneğin,
hosts.ini:
1234
[webservers]
192.168.1.10
192.168.1.11
- Playbook Dosyası:
php_install.yml içeriği, farklı dağıtımlar için uygun paketleri seçerek otomasyonu sağlar:
12345678910111213141516171819202122232425262728293031323334353637
[list]
[*]hosts: webservers
[/list]
become: yes
vars:
php_version: "7.4" # veya başka bir sürüm
tasks:
[list]
[*]name: Ubuntu için PHP ve uzantıları yükle
[/list]
apt:
name: "{{ item }}"
state: present
loop:
[list]
[*]php{{ php_version }}
[*]php{{ php_version }}-cli
[*]php{{ php_version }}-common
[*]php{{ php_version }}-mysql
[/list]
when: ansible_os_family == "Debian"
[list]
[*]name: CentOS için PHP ve uzantıları yükle
[/list]
yum:
name: "{{ item }}"
state: present
loop:
[list]
[*]php{{ php_version }}
[*]php{{ php_version }}-cli
[*]php{{ php_version }}-common
[*]php{{ php_version }}-php-mysql
[/list]
when: ansible_os_family == "RedHat"
- Çalıştırma:
Playbook’u şu komutla yürütebilirsiniz:
12
ansible-playbook -i hosts.ini php_install.yml
Bu örnek, temel seviyede dağıtım uyumu ve PHP sürüm yönetimi sağlar. Daha gelişmiş otomasyonlarda, web sunucusu (Apache/Nginx) ve veritabanı ile entegrasyon, SSL sertifikası kurulumu ve güvenlik ayarları gibi adımlar da eklenebilir.
Ansible kullanımı, hem zaman kazandırır hem de yapılandırma tutarlılığını sağlar. PHP kurulumunu otomatikleştirmek, özellikle sürekli entegrasyon ve dağıtım süreçlerinde büyük avantaj sunar.