Homestead adalah image virtualbox atau vmware yang sudah di install LAMP jadi kita tinggal pake, bisa dibilang homestead merupakan official image untuk develop aplikasi di Laravel. Dengan homestead kita tidak perlu menginstall aplikasi PHP, MySQL atau Web Server di komputer kita. Dari instalasi sampai konfigurasi akan di bahas di tulisan ini. Homestead bisa di install di Windows, Linux ataupun Mac OS tetapi disini akan di fokuskan instalasi di Linux Fedora.

1. Instalasi VirtualBox
Berikut ini cara install VirtualBox di Fedora

# 64 Bit
wget http://download.virtualbox.org/virtualbox/4.3.26/VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm
yum localinstall VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm 
# 32 Bit
wget http://download.virtualbox.org/virtualbox/4.3.26/VirtualBox-4.3-4.3.26_98988_fedora18-1.i686.rpm
yum localinstall VirtualBox-4.3-4.3.26_98988_fedora18-1.i686.rpm

selanjutnya install VirtualBox Extension Pack (caranya sama untuk 32 bit ataupun 64 bit)

wget http://download.virtualbox.org/virtualbox/4.3.26/Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack

2. Instalasi Vagrant
Untuk link download bisa dilihat di vagrantup.com/downloads.html saat ini versi terbaru adalah 1.7.2.

# 64 Bit
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.rpm
yum localinstall vagrant_1.7.2_x86_64.rpm
# 32 Bit
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_i686.rpm 
yum localinstall vagrant_1.7.2_i686.rpm

3. Instalasi Homestead
Selanjutnya adalah ‘instalasi’ homestead, kenapa saya buat tanda petik di instalasi? karena sebenarnya kita hanya mendownload image vagrant ;). Dari terminal jalankan perintah

vagrant box add laravel/homestead

output perintah diatas

==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
 
1) virtualbox
2) vmware_desktop
 
Enter your choice: 1
==> box: Adding box 'laravel/homestead' (v0.2.5) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.5/providers/virtualbox.box
==> box: Successfully added box 'laravel/homestead' (v0.2.5) for 'virtualbox'!

4. Konfigurasi Homestead
Tahap terakhir adalah konfiguras Homestead. Kita terlebih dahulu menginstall aplikasi homestead untuk mengelola image yang tadi kita download. Saya anggap anda sudah menginstall composer, kita akan menggunakan composer untuk instlalasi homestead. Login sebagai user biasa, lalu jalankan perintah :

composer global require "laravel/homestead=~2.0"

tambahkan di baris paling bawah file ~/.bashrc

PATH=~/.composer/vendor/bin:$PATH

lalu inisialisasi perubahan tersebut

source ~/.bashrc

Generate file konfigurasi untuk homestead

homestead init

perintah diatas akan membuat folder dan file baru di /home//.homestead file konfigurasinya adalah Homestead.yaml. Untuk mengeditnya bisa menggunakan

homestead edit

atau langsung menggunakan editor teks pilihan anda

nano /home/tommy/.homestead/Homestead.yaml

bagian yang perlu di perhatikan adalah

folders:
    - map: ~/Code
      to: /home/vagrant/Code
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

Sebagai contoh saya meletakkan file-file laravel saya di folder /var/www/html/, nama foldernya laravel. maka format yang benar menjadi

folders:
    - map: /var/www/html
      to: /home/vagrant/Code
sites:
    - map: homestead.app
      to: /home/vagrant/Code/laravel/public

struktruk file diatas harus benar, kalo ngga nanti sewaktu di buka di browser muncul No input file specified.
Jalankan homestead

homestead up

output perintah diatas

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 80 => 8000 (adapter 1)
    default: 443 => 44300 (adapter 1)
    default: 3306 => 33060 (adapter 1)
    default: 5432 => 54320 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> 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: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /home/tommy/.composer/vendor/laravel/homestead
    default: /home/vagrant/Code => /var/www/html
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: to force provisioning. Provisioners marked to run always will still run.

sekarang coba akses http://localhost:8000 muncul halaman awal laravel
homestead homepage
agar alamat tersebut bisa diakses menggunakan domain yang tadi kita buat (homestead.app), edit file /etc/hosts tambahkan

192.168.10.10	homestead.app

lalu buka kembali browser anda ketik http://homestead.app
homestead domain

Tiap melakukan perubahan di Homestead.yaml jalankan perintah

homestead provision

agar image disesuaikan dengan konfigurasi baru. Bila perubahan tidak di aplikasikan di homestead, solusinya hapus image dengan perintah

homestead destroy

lalu jalankan kembali

homestead up

Catatan :
karena domain .app merupakan gTLD resmi maka disarankan menggunakan ekstensi lain, contoh .laravel .lara atau variasi lainnya.

Join the Conversation

2 Comments

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

  1. klo installnya di linux mint sama gk yh langkah – langkahnya ?

    baru beralih ke linux nih mas jadi agak bingung