Instalasi dan Konfigurasi Dasar VagrantBox

Ridwan Fajar 10 April 2017

Instalasi dan Konfigurasi Dasar VagrantBox

Virtualisasi saat ini menjadi penunjang bagi lingkungan pengembangan perangkat lunak secara modern. Dalam suatu laptop kita dapat memasang berbagai sistem operasi virtual yang disesuaikan dengan konfigurasi server kita di cloud. Salah satu keunggulannya adalah dapat memisahkan konfigurasi laptop dengan konfigurasi server sehingga kita dapat melihat jelas pengaturan yang disesuaikan.

Tidak semua orang mau repot - repot menggunakan Vagrant. Padahal ada banyak keuntungan bila menggunakan Vagrant. Tidak hanya sebagai sarana pengembangan perangkat lunak. Kamu juga dapat melakukan deploy aplikasi dengan menggunakan Vagrant, sehingga server kita tidak perlu dikonfigurasi ulang. Cukup konfigurasi di lokal, dan pasang VagrantBox yang telah dikonfigurasi di lokal ke server.

Vagrant dikembangkan oleh Hashi Corp. yang juga merupakan pengembang TerraForm dan berbagai perangkat DevOps lainnya. Untuk memasang VagrantBox, caranya sangat mudah. Bila kamu menggunakan keluarga Unix. Kamu dapat memasangnya melalui package manager. Misal bila kita lakukan di Ubuntu:

$ sudo apt-get install virtualbox
$ sudo apt-get install vagrant

Bila kita ingin memasangnya di OSX, maka berikut langkahnya:

$ brew cask install virtualbox
$ brew cask install vagrant

Untuk memulainya sekarang mari kita buat sebuah direktori. Silahkan buat direktori berikut ditempat yang kamu suka:

$ mkdir myvagrantbox
$ cd myvagrantbox
$ vagrant init ubuntu/trusty64
$ vagrant up

Seketika maka akan muncul output yang akan mencetak proses download image Vagrant yang diinginkan. Setelah itu barulah proses konfigurasi awal akan dilakukan oleh Vagrant.

Selanjutnya setelah VagrantBox menyala, kita dapat melakukan ssh ke box yang baru saja dipasang dan ditentukan sebagai default. Dan kamu sudah dapat menjalankan perintah - perintah khas Linux di dalam box tersebut.

$ vagrant ssh
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-115-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sat Apr  1 14:53:45 UTC 2017

  System load:  0.47              Processes:           95
  Usage of /:   3.7% of 39.34GB   Users logged in:     0
  Memory usage: 19%               IP address for eth0: 10.0.2.15
  Swap usage:   0%                IP address for eth1: 192.168.33.10

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud


Last login: Fri Mar 31 06:52:03 2017 from 192.168.33.1
vagrant@vagrant-ubuntu-trusty-64:~$ free -m
             total       used       free     shared    buffers     cached
Mem:           489        249        240          5         11        119
-/+ buffers/cache:        118        371
Swap:            0          0          0
vagrant@vagrant-ubuntu-trusty-64:~$

Kamu juga dapat melakukan ssh ke VagrantBox dengan cara berikut:

ssh vagrant@127.0.0.1 -p 2222 -i .vagrant/machines/default/virtualbox/private_key

Dan cobalah untuk memasang Apache2 di dalam VagrantBox tersebut:

$ sudo apt-get install apache2

Lalu edit Vagrantfile dan cari bagian forwarded port. Tembak port 80 pada VagrantBox ke port 9000 dari komputer yang menjadi host alias komputer kita:

config.vm.network "forwarded_port", guest: 80, host: 9000

Lalu sekarang kita akan coba akses Apache2 dari web browser yang ada di laptop kita melalui URL 127.0.0.1:9000. Kamu pun dapat mengubah ip localhost default menjadi ip lain. Silahkan cari bagian private network dan ubah menjadi seperti berikut:

config.vm.network "private_network", ip: "192.168.33.10"

Lalu sekarang kita akan coba akses Apache2 dari web browser yang ada di laptop kita melalui URL 192.168.33.10. Kamu pun dapat mengaksesnya melalui ssh dengan perintah berikut yang dijalankan dari komputer host:

ssh vagrant@192.168.33.10 -p 22 -i .vagrant/machines/default/virtualbox/private_key

Terakhir, mari kita buat folder yang dapat disinkronisasi dengan VagrantBox. Silahkan buat direktori diluar direktori ini dengan nama data:

$ cd ..
$ ls 
myvagrantbox
$ mkdir data

Lalu cari bagian ini di dalam Vagrantfile dan hapus komentarnya:

config.vm.synced_folder "../data", "/vagrant_data"

Nyalakan ulang dengan vagrant up kemudian vagrant ssh. Bila kamu menyimpan beberapa file di dalam folder data tadi maka kamu dapat melihatnya di dalam VagrantBox:

$ vagrant ssh
vagrant@vagrant-ubuntu-trusty-64:~$ ls /vagrant_data
notes.txt

Menarik bukan? kita serasa memiliki server walaupun sebenarnya bukan server.