Memulai belajar Ansible
Belajar Ansible: Instalasi Nginx dan PHP-FPM
Pada tulisan kali ini, kita akan mencoba menggunakan Ansible untuk melakukan konfigurasi server.
Sebagai contoh sederhana, kita akan melakukan instalasi:
- Web server Nginx
- PHP-FPM
Prosesnya sebenarnya mirip seperti saat menggunakan perintah Linux apt-get, yaitu menginstal paket, mencari file konfigurasi, dan melakukan pengeditan. Namun, dengan menggunakan Ansible, kita akan mendapatkan banyak manfaat seperti otomatisasi, konsistensi konfigurasi, dan kemudahan pengelolaan banyak server.
Anda bisa membaca penjelasan manfaat Ansible pada tulisan berikut:
https://nciptandani.blogspot.com/2021/06/cara-konfigurasi-server-dan-perangkat.html
Struktur Dasar Ansible
Ansible memiliki banyak komponen dan modul. Struktur penulisan kodenya bisa dibagi menjadi beberapa bagian, seperti:
- Template
- Playbook
- Role
- Handler
- Task
- Inventory
Namun, untuk memulai belajar, kita dapat memulai dari langkah yang paling sederhana berikut.
1. Install Ansible di Workstation
Silakan ikuti panduan instalasi pada link berikut:
https://nciptandani.blogspot.com/2021/05/cara-install-ansible-di-ubuntu.html
2. Hubungkan Workstation ke Server Menggunakan SSH Key
Terdapat banyak opsi terkait SSH seperti penggunaan proxy, bastion host, dan pengaturan keamanan lainnya. Namun, untuk tahap awal pembelajaran, kita gunakan cara yang sederhana.
a. Generate SSH Key di Workstation
Jalankan perintah berikut:
ssh-keygen
b. Copy SSH Key ke Server
Gunakan perintah:
ssh-copy-id nasohi@nsh-web1
Pastikan:
- Server
nsh-web1sudah memiliki user nasohi - User tersebut memiliki akses sudo
Jika proses berhasil, Anda sudah dapat login ke server tanpa password, dan koneksi ini bisa digunakan oleh Ansible.
c. Verifikasi Koneksi
Coba login:
ssh nasohi@nsh-web1
Jika berhasil, lanjutkan dengan membuat folder kerja Ansible.
3. Membuat Inventory Ansible
Buat folder kerja:
mkdir learn-ansible
cd learn-ansible
Buat file inventory:
vim inventory
Isi dengan:
nsh-web1 ansible_host=192.168.56.10 ansible_user=nasohi
4. Testing Koneksi dengan Module Ping
Jalankan perintah berikut dari workstation:
ansible all -i inventory -m ping
Contoh output:
nsh-web1 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
Penjelasan:
ansible all→ menjalankan ke semua host di inventory-i inventory→ menggunakan file inventory-m ping→ menjalankan module ping untuk test koneksi
Jika muncul pong, berarti koneksi Ansible ke server sudah berhasil.
Penutup
Sampai tahap ini, kita sudah berhasil:
- Menginstall Ansible
- Menyiapkan SSH tanpa password
- Membuat inventory
- Menguji koneksi Ansible ke server
Pada tahap selanjutnya, kita dapat mulai membuat playbook untuk melakukan instalasi Nginx dan PHP-FPM secara otomatis.
Oke, sampai di sini dulu.
Komentar