Ansible apache variable
Last updated: April 3, 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.
lrmn@ubuntu-controller:~$ mkdir latihan-ansible-2
lrmn@ubuntu-controller:~$ cd latihan-ansible-2/
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
host_key_checking = False
Membuat inventory ansible
Kemudian buat inventory
vim inventory
[latihan2ansible]
ubuntu-managed2
Membuat ansible playbook
Langkah terkahir adalah dengan membuat ansible playbook, disini kita menggunaka 3 module yaitu apt, copy dan service.
vim latihan2.yml
- name: Praktik Install Apache2 dengan Required Package & Variable di Playbook
hosts: latihan2ansible
become: true
become_user: root
remote_user: lrmn
vars:
required_Pkg:
- apache2
- python3-urllib3
web_Service: apache2
content_File: "Hello World! - Praktik: Install Apache2 dengan Required Package & Variable di Playbook"
dest_File: /var/www/html/index.html
tasks:
- name: Installed required packages
apt:
update_cache: yes
force_apt_get: yes
name: "{{ required_Pkg }}"
state: latest
- name: Check {{ web_Service }} service is started and enabled
service:
name: "{{ web_Service }}"
enabled: true
state: started
- name: Web content is in place
copy:
content: "{{ content_File }}"
dest: "{{ dest_File }}"
- name: Verify the apache service
hosts: localhost
tasks:
- name: Ensure the webserver is reacheable
uri:
url: http://ubuntu-managed2/index.html
status_code: 200
return_content: yes
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 latihan2.yml
Menjalankan ansible playbook
Jika playbook tidak ada yang error, langkah selanjutnya adalah menjalankannya
ansible-playbook -i inventory latihan2.yml
Jika berhasil maka akan tampil seperti dibawah ini
lrmn@ubuntu-controller:~/latihan-ansible-2$ ansible-playbook -i inventory latihan2.yml
PLAY [Praktik Install Apache2 dengan Required Package & Variable di Playbook] **************************************
TASK [Gathering Facts] *********************************************************************************************
ok: [ubuntu-managed2]
TASK [Installed required packages] *********************************************************************************
changed: [ubuntu-managed2]
TASK [Check apache2 service is started and enabled] ****************************************************************
ok: [ubuntu-managed2]
TASK [Web content is in place] *************************************************************************************
changed: [ubuntu-managed2]
PLAY [Verify the apache service] ***********************************************************************************
TASK [Gathering Facts] *********************************************************************************************
ok: [localhost]
TASK [Ensure the webserver is reacheable] **************************************************************************
ok: [localhost]
PLAY RECAP *********************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ubuntu-managed2 : 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.j2 sudah di copy ke folder configurasi apache2. Langkah selanjutnya cek managed servernya.
curl http://ubuntu-managed2/index.html
Jika tampil seperti dibawah, maka kita telah berhasil menginstall apache2 menggunakan ansible.
lrmn@ubuntu-controller:~/latihan-ansible-2$ curl http://ubuntu-managed2/index.html
Hello World! - Praktik: Install Apache2 dengan Required Package & Variable di Playbook
Kita juga dapat melakukan port forwarding ubuntu-managed2 untuk melihatnya di laptop host kita dengan membukanya di browser, caranya sudah dituliskan di artikel sebelumnya.