Menggunakan Laravel Homestead
Setelah tulisan sebelumnya saya menuliskan 3 cara untuk menggunakan laravel di lokal mesin dengan menggunakan homestead. Sampai saat ini saya masih menggunakan laravel homestead sebagai development environment. Untuk pemasangan homestead saya sudah tulis di tulisan sebelumnya, pada tulisan kali ini saya berfokus kepada konfigurasi agar laravel yang ada di lokal mesin terbaca ke homestead.
Konfigurasi Homestead.yaml
Saat selesai install homestead di home akan muncul folder baru namanya .homestead
dan di dalamnya tersedia sebuah berkas konfigurasi Homestead.yaml
. Isi dari berkas tersebut saat belum diubah :
ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/Code to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant/Code/public databases: - homestead variables: - key: APP_ENV value: local # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 93000 # to: 9300 # - send: 7777 # to: 777 # protocol: udp
$ homestead up
Tunggu sampai proses selesai dan untuk mengetesnya ada beberapa cara :
- Ping alamat 192.168.10.10, jika mendapat rely berarti sudah berhasil mennyalakan homestead.
homestead ssh
fungsi ini utnuk dapat masuk ke dalam mesin hommestead mirip dengan perintah vagrant ssh.- Utuk megnetes aplikasi laravelnya kunjungi alamat
hello.app
, jika muncul tampilan laravel berarti konfigurasi sudah benar.
Dan untuk mengehentikan homestead yang sedang berjalan gunakan perintah :
$ homestead halt
Isu-isu yang kemungkinan terjadi ( karena saya alami )
1. 'read': No such file or directory @ rb_sysopen - /home/userame/.ssh/id_rsa.pub (Errno::ENOENT)
Cara mengatasinya cukup mudah ketikan saja perintah ini di terminal
$ ssh-keygen -t rsa -C "[email protected]"
Ikuti saja perintah yang muncul selanjutnya, setelah itu nyalakan kembali
$ homestead up
Penjelasan Singkat :
ip : Alamat ip untuk homestead.
memory : Jumlah memory yang digunakan saat homestead dinyalakan.
cpu : jumlah cpu yang digunakan saat homestead dinyalakan.
provider : mesin yang digunakan saat homestead dinyalakan.
Konfigurasi di atas mirip dengan konfigurasi Vagrantfile sebenarnya karena homestead sendiri merupakan box
dari vagrant.
Sedangkan untuk bagian folders
terdapat dua bagian yang pertama :
map : ini merupakan lokasi folder laravel di lokal mesin.
to : merupkana lokasi yang akan disambungkan di homestead.
Sedangkan sites
merupakan konfigurasi untuk nginx yang ada di homestead
map : untuk alamat website laravel.
to : Path kemana konfigurasi nginx di homestead akan mengacu.
Dan database
sesuai namanya merupakan daftar nama database yang akan otomatis dibuat di dalam homestead.
Sekarang dengan asumsi bahwa sudah memiliki source code laravel di lokal mesin maka cara selanjutnya adalah ubah sedikit konfigurasi pada berkas Homestead.yaml
menjadi seperti berikut :
---
ip: "192.168.10.10"
memory: 1024
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: /var/www/html/folder-laravel
to: /home/vagrant/laravel
sites:
- map: hello.app
to: /home/vagrant/laravel/public
databases:
- hello
variables:
- key: APP_ENV
value: local
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# ports:
# - send: 93000
# to: 9300
# - send: 7777
# to: 777
# protocol: udp
Hal yang saya ubah :
- Memory saya ubah ke 1024 agar tidak terlalu memberatkan laptop sendiri yang kekurangan RAM.
- folders map saya ubah ke lokasi folder laravel yang berada di
/var/www/html/folder-laravel
. - folders to saya ubah ke
home/vagrant/laravel
. - sites map saya ubah ke
hello.app
- sites to saya ubah ke
/home/vagrant/laravel/public
- databases saya ubah jadi hello
Selanjutnya yang saya lakukan adalah menambahkan lamat web hello.app
di hosts
$ sudo gedit /etc/hosts
Lalu tambahkan ini
192.168.10.10 hello.app
Langkah selanjutnya adalah menyalakan homestead dengan cara.
Kelebihan :
Salah satu yang disarankan di situs ofisial laravel, sudah disiapkan paket-paket yang dibutuhkan didalam box homestead, memungkinkan setiap developer mempunyai environment
yang sama apabila bekerja tim dan menghindari error “di saya jalan kok di kamu ngga ?”. Dan juga satu berkas homestead.yaml
bisa digunakan untuk banyak projek laravel.
Kekurangan :
Karena membutuhkan vagrant dan virtualbox maka harap perhatikan kemampuan RAM, jangan sampai laptop jadi malah tidak nyaman digunakan.
Kurang lebih seperti ini penggunaan laravel homestead di lokal yang berarti merupakan caara ke 4 jika menyambung tulisan sebelumnya. Untuk tulisan ke 5 saya belum bisa memastikan, karena dockernya sendiri saya belum install. Hhe.