2 min read

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 :

  1. Ping alamat 192.168.10.10, jika mendapat rely berarti sudah berhasil mennyalakan homestead.
  2. homestead ssh fungsi ini utnuk dapat masuk ke dalam mesin hommestead mirip dengan perintah vagrant ssh.
  3. 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 :

  1. Memory saya ubah ke 1024 agar tidak terlalu memberatkan laptop sendiri yang kekurangan RAM.
  2. folders map saya ubah ke lokasi folder laravel yang berada di /var/www/html/folder-laravel.
  3. folders to saya ubah ke home/vagrant/laravel.
  4. sites map saya ubah ke hello.app
  5. sites to saya ubah ke /home/vagrant/laravel/public
  6. 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.