Ansible apache2
Last updated: April 6, 2020
Prasyarat
Sebelum masuk ke materi ini, pastikan sudah mengintsall ansible dan menyiapkan setidaknya 2 server 1 sebagai controller dan 1 sebagai managed server yang akan di install Apache. Saya sudah menyiapkan server dengan menggunakan Vagrant, kalian bisa ikuti di materi sebelumnya.
Membuat Working direktori
Sebelum memulai, pertama buat terlebih dahulu direktori yang akan digunakan sebagai tempat untuk menyimpan beberapa konfigurasi ansible dan konfigurasi apache.
mkdir -p ansible-apache2/files
cd ansible-apache2
Membuat konfigurasi ansible
Silahkan buat konfigurasi ansible sesuai dibawah ini, pastikan usernya menyesuaikan user kalian yang sudah diberi hak akses sudo baik di controller atau managed server:
vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user = lrmn
Membuat inventory ansible
Kemudian buat inventory ansible
vim inventory
[web]
ubuntu-managed1
File index.html untuk Apache2
Jika sudah selanjutnya buat file yang akan digunakan untuk apache2 sebagai bukti kalau kita sudah berhasil menginstall apache2
echo "Hello world! This is from Ansible x Apache2." > files/index.html
Membuat ansible playbook
Langkah terkahir adalah dengan membuat ansible playbook, disini kita menggunaka 3 module yaitu apt, copy dan service.
vim site.yml
---
- name: Install and start Apache2
hosts: web
become: true
tasks:
- name: Check/Install apache2 package is present
apt: name=apache2 state=present
- name: Copy index.html file / correct index.html is present
copy:
src: ./files/index.html
dest: /var/www/html/index.html
- name: Ensure Apache 2 is started
service:
name: apache2
state: started
enabled: true
Mengecek ansible playbook
Ansible playbook yang sudah kalian tulis lebih baik di cek terlebih dahulu apakah terdapat error atau tidak dengan menggunakan command dibawah ini:
ansible-playbook --syntax-check site.yml
Menjalankan ansible playbook
Jika playbook tidak ada yang error, langkah selanjutnya adalah menjalankannya
ansible-playbook site.yml
Jika berhasil maka akan tampil seperti dibawah ini
lrmn@ubuntu-controller:~/ansible-apache2$ ansible-playbook site.yml
PLAY [Install and start Apache2] ********************************************************************************************
TASK [Gathering Facts] ******************************************************************************************************
ok: [ubuntu-managed1]
TASK [Check/Install apache2 package is present] *****************************************************************************
changed: [ubuntu-managed1]
TASK [Copy index.html file / correct index.html is present] *****************************************************************
changed: [ubuntu-managed1]
TASK [Ensure Apache 2 is started] *******************************************************************************************
ok: [ubuntu-managed1]
PLAY RECAP ******************************************************************************************************************
ubuntu-managed1 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Mengecek Apache2 di Managed Server
Jika ansible sudah dijalankan maka tertulis changed di ubuntu managed1 untuk task install dan copy, itu berarti bisa saja apache sudah diinstall dan file index.html sudah di copy ke folder configurasi apache2. Langkah selanjutnya cek managed servernya.
curl ubuntu-managed1
Jika tampil seperti dibawah, maka kita telah berhasil menginstall apache2 menggunakan ansible.
lrmn@ubuntu-controller:~/ansible-apache2$ curl ubuntu-managed1
Hello world! This is from Ansible x Apache2.