Cara Install dan Konfigurasi Ansible di Debian 11 dengan Mudah

Cara Install dan Konfigurasi Ansible di Debian 11 dengan Mudah

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:

  1. Memiliki 3 VPS yang aktif dengan OS Debian 11.
  2. 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.