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

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
- 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. - 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 !
- Panduan Konfigurasi VirtualHost di RHEL 8 - September 19, 2023
- Panduan Installasi Apache dan PHP di RHEL 8 - September 12, 2023
- How to Solve ceph-libs update issue Manjaro - September 7, 2023