Feb 18, 2015

Instalasi Homestead Laravel

Pada artikel sebelumnya saya sudah pernah menjelaskan beberapa keuntungan menggunakan Homestead untuk pengembangan website Laravel. Pada artikel ini saya akan menjelaskan langkah-langkah instalasi Homestead. Sebelum menginstal Homestead, ada beberapa hal yang perlu disiapkan terlebih dahulu. Unduh :

sesuai dengan sistem operasi yang kamu gunakan. Setelah semuanya selesai diunduh, lakukan instalasi secara berurutan untuk Virtualbox, Vagrant dan Git. Apabila kamu baru pertama kali menginstal Git untuk sistem operasi Windows, pastikan kamu mencentang pilihan ‘Add Path to..’ saat instalasi.

Saya menggunakan Ubuntu pada tutorial ini. Untuk pengguna Windows, beberapa perintah instalasi yang terkait dengan bash dan ssh dapat dijalankan pada Git Bash. Untuk pengaturan yang terkait dengan direktori dapat menyesuaikan dengan jenis OS yang digunakan.

Pastikan kamu dapat menjalankan perintah ini di terminal kamu.

vagrant -v

Instalasi Vagrant biasanya akan secara otomatis menambahkan PATH pada sistem kamu. Apabila perintah tersebut tidak dikenali atau error, kamu mungkin perlu me-restart komputer kamu lalu coba jalankan kembali perintah tersebut (biasanya hal demikian terjadi pada Windows).

Menambahkan box Homestead pada Vagrant

Sebenarnya, Homestead adalah paket box untuk Vagrant. Sehingga yang akan kita lakukan sekarang adalah menambah box Homestead pada Vagrant dengan menjalankan perintah:

vagrant box add laravel/homestead

Perintah di atas akan mengunduh file box Homestead secara otomatis dari cloud service Vagrant. Ukuran file box adalah sekitar 1 GB sehingga proses instalasi dan pengundunhan mungkin akan memakan waktu yang cukup lama. Apabila koneksi internet kamu kurang baik, abaikan perintah sebelumnya atau hentikan proses pengunduhan dengan mengetik ctrl + c. Untuk mengatasinya, kamu dapat mengunduh box Homestead secara manual dari https://vagrantcloud.com/laravel/boxes/homestead/versions/0.2.2/providers/virtualbox.box.

Pada saat saya menulis artikel ini, versi Homestead yang terbaru adalah 0.2.2. Anda dapat mengecek versi terbaru Homestead di sini

Setelah box terunduh, ganti direktori terminal ke direktori tempat menyimpan unduhan, lalu jalankan perintah berikut:

vagrant box add laravel/homestead homestead-0-2-2.box

Beberapa perintah atau pengaturan yang kamu lihat setelah ini ada yang dituliskan dengan kurung kurawal { }. Tujuannya adalah ingin menkamui bahwa pengaturan tersebut dapat kamu ganti sesuai keinginan, dengan terlebih dahulu membaca keterangan yang ada di dalamnya.

Menginstal Homestead CLI

Lakukan cd ke direktori tempat kamu ingin menaruh semua projek Laravel, lalu jalankan perintah berikut:

git clone https://github.com/laravel/homestead.git Homestead

Setelah unduhan selesai, masuk ke direktori Homestead lalu jalankan perintah bash init.sh untuk menginsialisasi file konfigurasi Homestead.yaml. File Homestead.yaml akan tersimpan pada direktori ~/.homestead.

Letak direktori .homestead akan berbeda tergantung dengan sistem operasi yang kamu gunakan. Untuk windows kamu dapat menemukan direktori tersebut di drive C:\.

Konfigurasi spesifikasi komputer virtual

Homestead.yaml yang telah dihasilkan sebelumnya merupakan file konfigurasi untuk Homestead kamu. Sekarang buka file Homestead.yaml pada aplikasi text editor kamu. Pada baris awal Homestead.yaml akan terlihat pengaturan seperti dibawah ini:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

Konfigurasi pada bagian ini sudah sangat jelas. Untuk ip kamu bisa menggantikannya dengan alamat ip komputer kamu, untuk memory kamu bisa menggantikannya dengan kapasitas ram komputer, sedangkan untuk cpus kamu bisa menggantikannya dengan jumlah core pada processor komputer kamu. Namun pada tutorial ini, kamu dapat mengabaikan konfigurasi tersebut dengan nilai default.

Membuat SSH key

Untuk dapat terhubung ke Homestead, kita perlu membuat SSH key. Anda bisa membuatnya dengan menjalankan perintah ini di terminal:

ssh-keygen -t rsa -C "{nama user}@homestead"

Apabila terminal meminta kamu untuk memasukkan alamat direktori atau password, kamu dapat langsung menekan tombol ‘enter’ pada keyboard.

user@PC:~$ ssh-keygen -t rsa -C user@homestead
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
a7:49:79:1c:cb:fa:d0:de:f6:c3:3e:4f:ef:7e:ae:60 user@homestead
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|          .      |
|         + o     |
|        S *      |
|       . B       |
|        = . E.  .|
|         + o..+.o|
|          o..o+OB|
+-----------------+

Apabila kamu menggunakan Windows, kamu dapat menjalankan perintah tersebut pada Git Bash. Setelah SSH key selesai dibuat, masukkan alamat direktori tempat menyimpan file SSH key pada pengaturan di bawah ini:

authorize: ~/.ssh/id_rsa.pub 

keys:
    - ~/.ssh/id_rsa 

Mapping folder projek Homestead

Agar projek Laravel pada direktori lokal kamu bisa dijalankan pada Homestead, kamu harus memetakan direktori projek kamu. Asumsinya adalah semua projek Laravel kamu terletak pada satu direktori yang sama. Pada pengaturan berikut:

folders:
    - map: ~/{lokasi kamu menyimpan kumpulan projek laravel}
      to: /home/vagrant/projects

Pengaturan to menunjukkan direktori projek pada Homestead. Untuk tutorial ini kamu tidak perlu mengganti pengaturan to. Yang perlu dipahami adalah direktori yang alamatnya kamu set ke to nanti akan tersinkron secara otomatis dengan direktori yang alamatnya dideklarasikan di map.

Setelah itu kamu harus mengganti konfigurasi pada bagian sites:

sites:
    - map: {nama aplikasi atau situs}.app
      to: /home/vagrant/projects/{nama folder projek}/public

Menjalankan Homestead

Beri nama domain sesuai dengan nama situs yang kamu masukkan pada konfigurasi site Homestead.yaml pada file hosts komputer kamu. Untuk sistem operasi Linux dan Mac, file hosts dapat ditemukan pada direktori /etc/hosts. Sedangkan untuk Windows, file hosts terdapat pada direktori C:\Windows\System32\drivers\etc\hosts. Buka file hosts pada aplikasi edit teks, lalu tambahkan baris berikut ini:

192.168.10.10  {nama aplikasi atau situs -- sama dengan pengaturan sites map di Homestead.yaml}.app

Pastikan alamat IP-nya sama dengan konfigurasi Homestead.yaml kamu. Ganti direktori kamu sekarang ke direktori Homestead, lalu jalankan perintah dibawah ini:

vagrant up

Perintah di atas akan menjalankan box Homestead. Setelah perintah tersebut selesai dijalankan, kamu dapat membuka situs kamu di browser dengan url.

http://{nama aplikasi atau situs}.app

Pada beberapa kasus, kamu mungkin tidak dapat melakukan koneksi ke homestead setelah menjalankan vagrant up karena terlalu banyak terjadi ssh connection timeout. Hal ini dapat diatasi dengan beberapa cara: 1. Periksa apakah komputer kamu telah menyalakan virtualization technology pada bios. Anda dapat mengikuti artikel ini untuk mengeset pengaturannya; 2. Apabila komputer kamu tidak mendukung virtualization technology, ikuti langkah-langkah pada jawaban di stackoverflow ini.

Mematikan Homestead

Apabila kamu telah menyelesaikan projek kamu, kamu dapat mematikan Homestead dengan menjalankan perintah berikut :

vagrant suspend

Pada praktiknya, kamu harus menjalankan perintah tersebut sebelum kamu mematikan komputer. Anda dapat menjalankan Homestead kembali dengan perintah vagrant up.

Penutup

Dengan mengikuti langkah-langkah tersebut, kamu dapat menggunakan Homestead sebagai server virtual untuk website Laravel. Tentunya masih banyak lagi fitur-fitur Homestead yang dapat dieksplorasi secara mandiri. Apabila kamu memiliki pertanyaan atau kesulitan dalam menginstal Homestead, silakan tinggalkan komentar pada kolom yang tersedia.