Memasang Vagrant di Ubuntu 16.04 64bit

Prasyarat:

  1. Virtualbox

  2. Vagrant


Setelah keduanya terpasang, sekarang waktunya menambahkan box, semacam kontainer untuk sistem operasi yang akan kita pasang.


vagrant box add ubuntu/xenial64

Perintah ini otomatis akan mengunduh OS ubuntu 16.04 64bit dari official repository vagrant. Namun terkadang, kecepatan unduh amat sangat mengecewakan, bahkan sering gagal. Untuk itu biasanya saya menggunakan penyedia repo alternatif, seperti vagrantbox.es.



Caranya:
vagrant box add {title} {url}

Misal jika ingin menambahkan ubuntu xenial 64, maka:
vagrant box add ubuntu/xenial64 https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box

Direktori default tempat box jika Anda menggunakan ubuntu, ada di
~/.vagrant.d/boxes/

Selanjutnya, buat direktori project
mkdir vagrantproject && cd vagrantproject
vagrant init

Perintah init ini pada akan menciptakan berkas baru bernama Vagrantfile, yang isinya adalah konfigurasi dari box yang sudah kita unduh dan akan kita jalankan. Untuk setting paling dasar, cukup cari dan ubah baris berikut:
config.vm.box = "base"

sesuaikan dengan OS box yang kita unduh tadi
config.vm.box = "ubuntu/xenial64"

Kemudian, jalankan mesin virtual kita dengan mengetik:
vagrant up

Jika tidak ada pesan kesalahan, berarti mesin virtual sudah terpasang dan siap digunakan. Misal kita ingin ssh login ke mesin virtual tersebut:
ssh vagrant@127.0.0.1 -p 2222

atau sesuaikan dengan informasi dari box yang Anda unduh. Misal, karena saya menggunakan repo alternatif, maka untuk login ssh, username adalah ubuntu.
ssh ubuntu@127.0.0.1 -p 2222

Password default adalah vagrant, tapi kadang jika kita menggunakan repo alternatif, password terletak di:
cat ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/0/virtualbox/Vagrantfile

Atau login menggunakan ssh-key (recommended)
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@127.0.0.1 -p 2222

Berikut ini contoh konfigurasi Vagrantfile
Vagrant.configure(2) do |config|
config.vm.hostname = "banteng-server"
config.vm.box = "ubuntu/trusty64"
# port forwarding
config.vm.network :forwarded_port, guest: 8000, host: 8000
config.vm.provision :shell, :path => "provision/provision-ubuntu-14.04.sh"
config.vm.synced_folder "../../git", "/vagrant_data"
# fix stdin is not tty
config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
end

Comments

Popular posts from this blog

Adding Image Alternate Text into WordPress Image Attachment using python-wordpress-xmlrpc Library

Keutamaan Tidur yang Sedikit Menurut para Ulama

Kisah Nabi Uzair a.s.