Mengenal Vagrant – Tools Virtualisasi di GNU/Linux

Sebagaian besar dari kalian mungkin sudah cukup banyak yang paham dan sering menggunakan fitur Virtualisasi untuk kebutuhan sehari-hari, baik itu riset personal atau untuk mempersiapkan environmnet local yang nanti akan kita deploy aplikasi yang sudah kita buat.

Banyak tools virtualisasi yang cukup terkenal, salah satunya adalah VMWare dan VirtualBox. Kita bisa install OS apapun disana diatas komputer yang biasanya kita jalankan. Tapi terkadang kita butuh OS Virtual yang siap pakai tanpa harus setup installasi dari awal, tidak jarang ini jadi hal yang cukup memakan waktu untuk disiapkan.

Issue terkait dengan setup installasi awal dari sistem operasi ini yang dapat kita maximalkan dengan menggunakan Vagrant !

Apa itu Vagrant ?

Vagrant merupakan sebuah tools virtualisasi yang memberikan kita kemudahan untuk membuat sebuah environment OS di local komputer yang kita miliki. Untuk dapat menjalankan program, vagrant memerlukan aplikasi virtualisasi seperti VMWare, virtualbox maupun program virtualisasi sejenisnya sebagai wadah untuk menjalankan environment tersebut.

Cara kerja vargant hampir sama seperti tools IAAC (infrastruture as a code) yaitu menjalankan script untuk membuat dan memberikan akses pada environment yang sudah kita pilih tanpa perlu melakukan installasi dari awal.

Vagrant Box Repository

Cara kerja vagrant adalah menginstall environtment melalui box yang sudah disediakan, disini vagrant menyediakan reposiroty tersebut yang berisikan sistem operasi basic maupun sistem operasi yang sudah berisikan beberapa paket aplikasi yang berjalan.

Untuk dapat mengakses reposirtoy tersebut, kamu bisa mengakses alamat tersebut : https://app.vagrantup.com/boxes/search

Tampilan halaman Vagrant Box Repository

Dari gambar diatas kamu bisa melihat ada sebuah box ubuntu yang merupakan sistem operasi basic (fresh install) dan juga box laravel yaitu yang sudah di installkan dengan laravel.

Bagaimana cara untuk mengakses atau menggunakan box ini ? Nanti akan kita bahas pada proses installasi dan pemakaian vagrant.

Installasi Vagrant

Hal pertama yang perlu kamu lakukan sebelum melakukan installasi Vagrant adalah menginstall virtualisasi, pada case ini kita akan menggunakan virtualbox. Untuk mengunduhnya kamu bisa mengunjungi halaman berikut https://www.virtualbox.org/wiki/Linux_Downloads

Setelah virtualbox di install, selanjutnya kita install vagrant dengan menggunakan perintah berikut :

Debian/Ubuntu

$ wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

$ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

$ sudo apt update && sudo apt install vagrant

Arch/Manjaro

$ sudo pacman -Sy vagrant

Membuat Direktori Project

Setelah vagrant berhasil di install, selanjutnya kita buat sebuah direktory yang akan kita simpan konfigurasi dari environment OS yang akan kita buat. Disini saya membuat direktorynya di dalam home :

$ mkdir vagrant-project

Kamu bisa sesuaikan direktory tersebut dengan nama yang menurut kamu menarik, tapi untuk percobaan awal kamu bisa samakan namanya dengan tutorial ini. Setelah itu masuk ke direktory project tersebut.

$ cd vagrant-project

Menambahkan Vagrant Box

Kita sudah membahas vagrant box ini sebelumnya, pada bagian ini silahkan memilih environment apa yang akan kita buat. Sebagai contoh kita gunakan ubuntu 20.04 dengan nama repository ubuntu/jammy64 dengan perintah berikut.

$ vagrant box add ubuntu/jammy64

Pastikan kamu memiliki koneksi internet yang cukup, karena PC kita akan mengunduh langsung environment dari repository. Untuk melihat list box yang sudah di unduh, kamu dapat menggunakan perintah berikut :

$ vagrant box list

Hasilnya akan seperti dibawah ini

Box yang sudah kamu unduh bisa kamu gunakan sebanyak banyaknya pada project yang berbeda, jadi kamu tidak perlu mengunduhnya kembali. Kecuali kamu mau menginstallkan OS lain misalkan Kali Linux, maka kamu perlu mengunduh boxnya untuk bisa dijalankan kedepannya.

Membuat Project Baru

Pada tahap ini kita akan membuat atau menginstall project baru dari vagrant box yang sudah kita unduh tadi, pastikan kamu berada pada direktory vagrant-project dan gunakan perintah berikut :

$ vagrant init ubuntu/jammy64

Maka vagrant akan membuat sebuah file bernama vagrantfile yang berisikan informasi mengenai environtment tersebut.

Selanjutnya kita coba edit Vagrantfile untuk memberikan akses pada internet secara public pada OS yang kita jalankan, kamu bisa gunakan perintah nano atau editor lainnya:

$ nano Vagrantfile

Hilangkan tanda pagar pada bagain public network, setelah itu simpan file.

Setelah itu kita hidupkan Environment OS tersebut dengan menggunakan perintah dibawah ini :

$ vagrant up

Pada saat pertama kali kita mengaktifkan Environment OS secara publik, akan ada pertanyaan mengenai interface yang kita gunakan untuk internet. Karena disini saya menggunakan wifi maka pilih angka 1 untuk wlp3s0.

Mengakses Project

Setelah berhasil membuat project baru, selanjutnya kita akses OS tersebut. Cara mengaksesnya cukup mudah, yaitu dengan menggunakan perintah berikut :

$ vagrant ssh

Maka secara otomatis, kita akan diarahkan kedalam OS server yang sudah ter-install

Yup, dari sini kamu tinggal menginstall aplikasi sesuai dengan kebutuhan kamu. Bisa menyesuaikan dengan experiment yang sedang kamu lakukan, baik itu membuat server maupun melakukan eksperiment lainnya.

Perintah Vagrant lainnya

Menghapus Project

Disini project akan terhapus, tapi tidak dengan Vagrantfile nya. Jadi kamu harus hapus secara manual.

$ vagrant destroy

Menimpa / replace project yang ada

Perintah ini bisa kamu gunakan untuk menginstall ulang project atau pengubah box project pada folder yang sama.

$ vagrant init -f ubuntu/jammy64

Menghapus Vagrant box

Kamu bisa menghapus vagrant box yang sudah kamu unduh dengan menggunakan perintah berikut, pastikan nama sesuai dengan box yang kamu miliki.

$ vagrant box remove ubuntu/jammy64

Restart / Reload Project

Biasanya digunakan pada saat kita melakukan konfigurasi pada Vagrantfile maka kita lakukan reload pada project dengan perintah berikut.

$ vagrant reload

Studi Case

  1. Apakah kita bisa menjalankan 2 box secara langsung dalam satu waktu ?
    Jawabannya sudah tentu bisa, asalkan kita membuat vagrant init di dua direktory yang berbeda. Lalu kita jalankan keduanya dengan menggunakan vagrant up.
  2. Sebagai percobaan kamu bisa coba mengunduh box lain, misalkan debian. Lalu kamu jalankan bersamaan dengan box ubuntu yang telah kamu unduh sebelumnya, jika berhasil koment ya !

Penutup

Dengan menggunakan tools Vagrant ini kamu dapat melakukan installasi OS virtual secara singkat tanpa perlu melakukan banyak setup, terutama jika kamu sudah mengunduh box maka selanjutnya kamu bisa menggunakan box yang sama untuk menjalankan OS baru.

Tapi sebagai ganti dari kemudahan ini, kamu perlu memiliki koneksi yang cukup, karena harus mengunduh box pada saat pertama kali kamu akan menggunakannya. Sekian penjelasan dari saya dan selamat mencoba !

Tresna Widiyaman
Latest posts by Tresna Widiyaman (see all)