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 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
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
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.
klo installnya di linux mint sama gk yh langkah – langkahnya ?
baru beralih ke linux nih mas jadi agak bingung
sama saja :D