Pengenalan Vagrant – (4) Project, UP dan SSH

Ini adalah seri ke 4 dari tutorial pengenalan Vagrant, berikut seri-seri lainnya:

  1. Pengenalan Vagrant – (1) apa dan untuk apa?
  2. Pengenalan Vagrant – (2) Instalasi
  3. Pengenalan Vagrant – (3) Tentang Boxes
  4. Pengenalan Vagrant – (4) Project, UP dan SSH
  5. Pengenalan Vagrant – (5) Suspend, Halt dan Destroy
  6. Pengenalan Vagrant – (6) Provisioning dan Networking

Setelah sebelumnya kita belajar sedikit mengenai teorinya, sekarang kita akan coba praktekkkan langsung.

Sebagai contoh, pertama buat sebuah direktori dan kita beri nama `vagrant-test` dan misalkan lokasinya menjadi `/home/eka/vagrant-test`.

Masuk ke direktory tersebut dan jalankan perintah `vagrant init` dan hasilnya seperti di bawah ini:

$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Perintah di atas akan membuatkan kita sebuah file bernama `Vagrantfile` dan kalau dibuka sebagian isinya seperti ini:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "base"  ...
  ...

Untuk saat ini jangan dibingungkan dahulu mengenai arti isi file tersebut, Vagrantfile merupakan konfigurasi bagaimana kita akan menjalankan Box nantinya, seperti Box mana yang akan dipakai, dan ketika dijalankan perintah apa yang dieksekusi dan lain sebagainya.

Setelah kita mempunyai Vagrantfile, sekarang saatnya kita menginstall Box yang akan dipakai. Seperti artikel sebelumnya kita sudah tahu bagaimana cara menginstall Box  yaitu `vagrant box add hashicorp/precise64`.

$ vagrant box add hashicorp/precise64
==> box: Loading metadata for box 'hashicorp/precise64'
    box: URL: https://vagrantcloud.com/hashicorp/precise64
==> box: Adding box 'hashicorp/precise64' (v1.0.0) for provider: virtualbox
...
...

Setelah download selesai, maka kita perlu memberitahu Vagrant bahwa kita akan menggunakan Box `hashicorp/precise64` yang baru saja kita download, maka buka file `Vagrantfile` dan ganti pada bagian config.vm.box = “base” menjadi config.vm.box = “hashicorp/precise64”.

Jalankan Mesin Virtual

Ok, box sudah terinstall, Vagrantfile sudah di update. Kita akan jalankan box hashicorp/precise64 dengan perintah vagrant up masih di direktori yang sma yaitu `vagrant-test`.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'hashicorp/precise64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'hashicorp/precise64' is up to date...
==> default: Setting the name of the VM: vagrant-test_default_1444449714334_40363
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.2.0
    default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
    default: /vagrant => /home/eka/vagrant-test

Seperti yang terlihat diatas, box saya sudah berjalan dan Vagrant melakukkan beberapa pengaturan standar yaitu mengatur SSH dan Shared folder. Shared folder disini artinya folder tempat anda mengaktifkan Vagrant saat ini secara otomatis bisa diakses melalui box ketika login via SSH.

Perhatikan baris ini:  `default: /vagrant => /home/eka/vagrant-test` artinya ketika anda login via ssh ke dalam Box, anda tinggal pindah direktori ke /vagrant (`cd /vagrant`) dan anda akan melihat semua isi direktori lokal anda.

Login dengan SSH

Sekarang Box Ubuntu anda sudah aktif dan kita bisa login kedalamnya via SSH, cukup dengan perintah vagrant ssh.

$ vagrant ssh
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep 14 06:22:31 2012 from 10.0.2.2
vagrant@precise64:~$ 

Seperti anda lihat seketika kita sudah berada di dalam Box ubuntu. Keren bukan?

Nah untuk menguji apakah benar file di laptop saya bisa saya akses dari dalam Box, tinggal pindah ke direktori `/vagrant`.

vagrant@precise32:~$ cd /vagrant
vagrant@precise32:/vagrant$ ls
Vagrantfile

Anda lihat file `Vagrantfile` yang telah buat sebelumnya. Jadi di dalam box ini kita bisa melakukkan apa saja seperti menginstall web server, mengupdate software, melakukkan konfigurasi, dan yang lainnya.

Berikutnya kita akan belajar bagaimana cara menghentikan Box, dan mengaktifkannya lagi tanpa harus kehilangan semua konfigurasi yang sudah anda lakukkan di dalam Box.

6 Replies to “Pengenalan Vagrant – (4) Project, UP dan SSH”

  1. terimakasih atas tutorialnya, sangat berguna sekali. 🙂
    tetapi saya mau tanya, setelah saya mengikuti cara diatas, kok saya tidak bisa masuk ke vagrant ssh nya ?
    boleh saya tau bagaimana cara mengatur ssh nya ?
    saya menggunakan windows 10.
    terimakasih 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *