Install Aplikasi Linux Secara Massal? Ansible Solusinya!

Kebayang nggak harus menginstall aplikasi yang sama di puluhan atau bahkan ratusan server secara manual? Ribet banget, kan? Nah, inilah saatnya kenalan sama Ansible—solusi praktis yang bisa bikin proses instalasi jadi jauh lebih simpel dan efisien. Nggak perlu lagi deh, melakukan langkah-langkah berulang di tiap server, selama servernya bisa diakses lewat remote. Untuk instalasi aplikasi, Ansible adalah jawabannya!

Ansible: Otomasi Mudah untuk Semua Distro Linux

Apa pun distro Linux yang kamu pakai—Ubuntu, CentOS, Debian, Gentoo, atau Slackware—Ansible bisa jalan di semuanya. Dengan satu perintah, aplikasi langsung ter-install di banyak server sekaligus tanpa ribet. Di luar sana ada beberapa alat otomasi lain seperti Puppet, Chef, atau Salt. Tapi dari semua itu, Ansible terbilang paling ringan dan nggak ribet dipakai. Ansible juga nggak butuh agen tambahan di tiap server target, cukup konfigurasi sederhana pakai SSH, dan kamu sudah siap!

Langkah Awal: Instalasi Ansible di CentOS

Kali ini, kita pakai CentOS 7 sebagai contoh. Pertama, pastikan kamu punya satu mesin master Ansible yang akan mengirimkan perintah ke server-server lainnya. Lakukan update dulu supaya sistem CentOS-nya siap:

yum update

Setelah update, install Ansible dengan menambahkan repositori EPEL, lalu install Ansible:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install ansible

Konfigurasi Server Target dengan Ansible

Setelah Ansible terinstall, buka file /etc/ansible/hosts untuk menambahkan daftar server target yang ingin kamu kelola. Buat file ini kalau belum ada, lalu tambahkan IP atau hostname dari server yang akan diatur.

vi /etc/ansible/hosts

Masukkan daftar IP server target:

192.168.1.1
192.168.1.2
192.168.1.3

Supaya Ansible bisa terhubung ke server target tanpa harus masukkan password terus-menerus, atur SSH key authentication:

ssh-keygen
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Setelah ini, uji koneksi ke server target pakai perintah:

ansible all -m ping

Kalau berhasil, hasilnya akan seperti ini:

192.168.1.1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

Membuat Playbook untuk Instalasi Massal

Sekarang saatnya bikin playbook! Playbook ini adalah file YAML yang berisi daftar tugas yang akan dijalankan di server target. Misalnya, kalau kamu mau install 100 web server dengan WordPress, tinggal buat playbook untuk install Apache, PHP, MySQL, dan WordPress.

Buat file YAML dengan nama install_wordpress.yml:

vi install_wordpress.yml

Isi playbook-nya kira-kira begini:

- hosts: all
  tasks:
    - name: Install Apache
      yum: name=httpd state=latest

    - name: Install PHP dan modulnya
      yum: name={{ item }} state=latest
      with_items:
        - php
        - php-common
        - php-mysql

    - name: Install MySQL
      yum: name={{ item }} state=latest
      with_items:
        - mysql
        - mysql-server

    - name: Download WordPress
      get_url: url=http://wordpress.org/latest.tar.gz dest=/root/latest.tar.gz

    - name: Extract WordPress ke direktori web server
      command: tar xzf /root/latest.tar.gz -C /var/www/html/

Untuk menjalankan playbook ini di server target, gunakan perintah:

ansible-playbook install_wordpress.yml

Ansible akan langsung menjalankan tugas sesuai isi playbook di semua server yang ada di file /etc/ansible/hosts.

Belajar Lebih Lanjut Tentang Ansible

Ansible punya banyak modul yang nggak cuma buat instalasi aplikasi. Kamu bisa pakai untuk konfigurasi jaringan, update sistem, sampai manajemen database. Layanan cloud seperti AWS, Google Cloud, DigitalOcean, atau Vultr bisa kamu manfaatkan untuk menjalankan server virtual sebagai percobaan.

Coba deh, pakai Ansible buat mengelola server secara otomatis. Tugas yang berat bisa jadi jauh lebih ringan dengan otomasi. Jadi, siap untuk instalasi aplikasi secara massal? Dengan Ansible, semua jadi lebih mudah!

Kamu mungkin juga menyukai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *