Jika kamu memiliki beberapa server dan ingin melakukan install atau setup server lebih mudah menggunakan Ansible. Ansible memungkinkan kamu melakukan setup server secara bersamaan dan dapat memonitor atau melakukan konfigurasi server secara bersamaan juga. Pada artikel ini kami akan membahas cara install dan konfigurasi Ansible di Debian 11.
Ansible
Ansible adalah provisioning tool yang dikembangkan oleh Red Hat yang bersifat open source, menjadi salah satu jalan termudah untuk melakukan automasi.
Ansible adalah alternatif yang bagus untuk opsi automasi, karena menawarkan arsitektur yang tidak memerlukan software khusus yang harus di install pada server/node, menggunakan SSH untuk mengeksekusi automation task dan file YAML untuk menentukan provisioning details.
Meskipun ada banyak alat manajemen konfigurasi populer yang tersedia untuk sistem Linux, seperti Chef dan Puppet, ini sering kali lebih kompleks daripada yang diinginkan atau yang dibutuhkan bagi banyak orang.
Ansible adalah alternatif yang baik untuk opsi ini, karena menawarkan arsitektur yang tidak memerlukan perangkat lunak khusus untuk di install pada node, melainkan hanya menggunakan SSH untuk menjalankan automation task dan file YAML untuk menentukan provisioning details.
Baca juga: Cara Install phpMyAdmin dengan Apache di Debian 10
Persiapan
Ada beberapa hal yang perlu disiapkan:
- Memiliki 3 VPS yang aktif dengan OS Debian 11.
- Memiliki akses root.
3 VPS yang perlu disiapkan untuk:
- 1 Ansible Control Node: Ansible Control Node yang akan digunakan untuk connect dan control ke Ansible Host melalui SSH.
- 2 Ansible Hosts: Ansible Host nantinya akan di kontrol oleh Ansible Control Node yang sudah dikonfigurasi untuk automasi.
Point
- Update Server
- Install Packages
- Install Firewall
- Generate SSH Key
- Add SSH Key
- Install Ansible
- Setting Inventory File
- Testing Connection
- Running Ad-Hoc Command
Baca juga: Cara Menggunakan Vuls sebagai Vulnerability Scanner di Ubuntu 22.04
Cara Install dan Konfigurasi Ansible di Debian 11
Berikut cara install dan konfigurasi Ansible di Debian 11.
Update Server
Login sebagai root dan update package yang ada pada server supaya up-to-date.
$ apt-get update -y $ reboot
Install Packages
Install beberapa packages yang dibutuhkan.
$ apt-get install nano perl wget git software-properties-common gnupg-agent -y
Install Firewall
Sebelum memulainya, perlu instalasi Firewall supaya lebih secure. Pada Firewall ini menggunakan CSF (ConfigServer Security & Firewall). Instalasinya dengan perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
Ada sedikit perbedaan instalasi pada Debian 10 ini, ikuti perintah di bawah ini.
Install packages libwww:
$ apt-get install libwww-perl -y $ perl /usr/local/csf/bin/csftest.pl Akan keluar output di bawah ini. Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
Disable firewalld:
$ systemctl stop firewalld $ systemctl disable firewalld
Pada konfigurasi CSF rubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf
Restart dan test CSF:
$ systemctl restart {csf,lfd} $ systemctl enable {csf,lfd} $ systemctl is-active {csf,lfd}
Kemudian restart CSF supaya reload konfigurasi yang ter-update.
$ csf -r
Generate SSH Key
Perlu generate dari SSH key pada Control Node.
$ ssh-keygen
Add SSH Key
Tambahkan SSH key di Control Node pada setiap masing-masing Hosts.
$ ssh-copy-id [email protected] $ ssh-copy-id [email protected]
Install Ansible
Tambahkan repository PPA untuk keperluan instalasi Ansible pada Control Node.
$ apt-add-repository ppa:ansible/ansible
Output:
Press [ENTER] to continue or ctrl-c to cancel adding it
Tekan ENTER.
Kemudian update package.
$ apt-get update -y
Install Ansible.
$ apt-get install ansible -y
Setting Inventory File
Inventory file ini yang akan berisi mengenai informasi Hosts yang akan dimanage oleh Ansible di Control Node. Kamu bisa menambahkan banyak server dan bisa di setting berdasarkan group maupun subgroup.
$ nano /etc/ansible/hosts
Tambahkan di bawah ini.
[servers] server1 ansible_host=103.145.226.201 server2 ansible_host=103.152.242.146
[all:vars]
ansible_python_interpreter=/usr/bin/python3
Save dan exit.
Untuk cek inventory yang sudah ditambahkan menggunakan perintah di bawah ini.
$ ansible-inventory –list -y
Output:
all: children: servers: hosts: server1: ansible_host: xxx.xxx.xxx.201 ansible_python_interpreter: /usr/bin/python3 server2: ansible_host: xxx.xxx.xxx.146 ansible_python_interpreter: /usr/bin/python3 ungrouped: {}
Testing Connection
Setelah melakukan setting pada Inventory File, kamu bisa melakukan pengetesan untuk connect ke Hosts yang ada, melalui perintah berikut.
$ ansible all -m ping -u root
Output:
server1 | SUCCESS => { "changed": false, "ping": "pong" } server2 | SUCCESS => { "changed": false, "ping": "pong" } Arti dari kata “pong” adalah reply back dari Host, dimana Ansible Control Node kamu sudah berhasil ke Ansible Hosts.
Running Ad-Hoc Command
Setelah berhasil koneksi, kamu dapat menggunakan perintah Ansible pada Control Node untuk dapat berkomunikasi langsung pada Hosts. Contoh yang dapat diberikan adalah pengecekan uname seperti berikut.
$ ansible all -a “uname -a” -u root
Output:
server2 | CHANGED | rc=0 >> Linux raka-artikel3 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux server1 | CHANGED | rc=0 >>
Linux raka-artikel02 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
Untuk pengecekan lainnya seperti Disk Usage, Uptime maupun Whoami juga dapat kamu lakukan sesuai dengan kebutuhan kamu.
$ ansible all -a “whoami” -u root
server2 | CHANGED | rc=0 >> root server1 | CHANGED | rc=0 >> root Hasil di atas artinya kamu telah berhasil melakukan Ad-Hoc Command dari Control Node.
Kesimpulan
Dengan mengikuti artikel ini dari awal sampai akhir, artinya kamu telah berhasil melakukan Install dan Konfigurasi Ansible di Debian 11.
Kamu bisa memanfaatkan Ansible untuk kebutuhan dan keperluan kamu dalam memanage server yang lebih dari 1, sehingga memudahkan pekerjaan kamu.
Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu.