Instalasi dan Konfigurasi Dasar VagrantBox
Ridwan Fajar 10 April 2017
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.