Membangun Mesin Virtual dengan Vagrant dan PuPHPet

Kalau kita ingin membangun aplikasi web, hal yang dibutuhkan pasti adalah Web Server (Apache, Nginx) , bahasa pemorgraman (PHP,Ruby) serta biasanya adalah database (MySQL,Postgresql). Selain itu adalah Editor dan Web Browser. Biasanya pada kalangan penggunan Sistem Operasi Windows mereka akan menginstall XAMPP. Dan beberapa pengguna linux memakai LAMP. Meskipun tidak salah, tetapi menggunakan software XAMPP dan sejenisnya hanya cocok digunakan ketika kita belajar dan proses pengembangan, jangan sampai dilakukan di server sebenarnya.

Masalah muncul ketika kita sudah memiliki server berbasis Linux kemudian proses development kita lakukan diatas OS Non Linux (misal menggunakan XAMPP). Akan ada proses penyesuaian ketika aplikasi akan diterapkan. Misalnya saja masalah hak akses directory, penggunaan short open tag (<? dan <?php) dan versi Server,Bahasa Pemrograman yang berbeda. Hal ini tentu akan memperpanjang proses development. Permasalahan ini bisa diatasi dengan cara mudah, yaitu “Pake saja LINUX yang sama dengan Server Production”. Tetapi untuk beberapa kalangan menggunakan Linux itu sebuah ketakutan tersendiri lho hehehe, saya sering bertemu kelompok kelas, kemudian bertanya “Siapa yang sudah pake Linux?” hampir semua menjawab “Tidak pernah”. Mungkin mereka takut? kesulitan? padahal darimana mereka tahu kalo Linux itu sulit padahal belum pernah coba?

Sumber : http://scotch.io/wp-content/uploads/2013/12/vagrant.jpg

Salah satu cara agar kita dapat memasang “Server” pada komputer kita adalah menggunakan Virtual Box. Tetapi lagi-lagi ada yang mengatakan ini rumit. Karena harus instalasi linux lagi, seting lagi dan sebagainya. Tetapi sekarang ada sebuah tools yang memudahkan proses pembuatan mesin virtual, yaitu menggunakan Vagrant.

Apa itu Vagrant? vagrant memudahkan kita, untuk melakukan instalasi virtual mesin pada virtual box. Dengan menggunakan vagrant, kita cukup menulis perintah

$ vagrant init hashicorp/precise32
$ vagrant up

Selanjutnya vagrantlah yang melakukan instalasi Ubuntu 12.04 LTS 32-bit, kita tinggal tunggu sampai prosesnya selesai. Tanpa harus melakukan setting partisi,direktori dan sebagainya. Untuk mesin linux lainnya kita bisa lihat pada https://vagrantcloud.com/discover/featured. Jika proses sudah selesai, untuk masuk ke dalam mesin kita tinggal melakukan perintah

vagrant ssh

Kita bisa setting mesin virtual kita semau kita sendiri, tanpa khawatir merusak Sistem Operasi utama pada komputer kita. User manual penggunaan vagrant dapat dilihat pada halaman Documentation

Setelah melakukan instalasi sistem operasivirtual tersebut, proses instalasi aplikasi pendukung seperti web server, bahasa pemrrograman, database dan shared folder antara mesin virtual dengan mesin utama. Proses setting ini juga tergantung dari keinginan kita sendiri.

Sumber : http://www.pabloserrano.cc/wp-content/uploads/2014/01/Captura-de-pantalla-2014-01-11-a-las-11.15.08-624×162.png

Sekarang proses setting ini bisa dilakukan dengan mudah dengan bantuan puphpet. Yaitu generator untuk membangun mesin virtual pengembangan aplikasi web. PuPHPet bisa kita temukan pada website nya https://puphpet.com/ . Pada halaman tersebut kita dapat membangun mesin virtual serta menentukan setting apa saja yang akan kita atur pada mesin virtual kita nanti.

Langkah singkatnya adalah kita memilih penyedia layanan virtualisasi kita. Jika di local komputer bisa menggunakan virtual box dan vagrant. Provider Virtual Server online adalah Digital Ocean, Amazon Web Service dan Rackspace. Kemudian pilih sistem operasi yang akan diinstall, port forwarding, shared folders. Langkah selanjutnya adalah aplikasi pada server, memilih web server (Apache atau NGINX),setting virtual host,kemudian memilih bahasa pemrograman,database.

Jika langkah sudah selesai, kita akan mengunduh file settingan tersebut, kemudian masuk kedalam direktorinya dan jalankan perintah vagrant up. Maka proses instalasi akan dijalankan, kita tinggal menunggu hingga selesai.

Kesimpulan : Dengan menggunakan teknik virtualisasi menggunakan vagrant dan PuPHPet,proses deployment dan development menjadi lebih cepat dan mudah. Setting shared folder sangat membantu proses development, divan penulisan code program tetap dilakukan di OS utama menggunakan IDE kesayangan kita, tetapi aplikasi dijalankan pada Server Virtual. Sehingga jika mesin virtual terdapat masalah, tidak merusak kode yang sudah dibuat.

Semoga bermanfaat