Module Beginner 3 Juni 2018

Tutorial Install Laravel Homestead — Bahasa Indonesia

Halo semua! Kembali lagi sama saya Kiddy! Kali ini gue mau ngeshare tutorial cara install Laravel Homestead. Wah pasti yang pada pake…

Tutorial Install Laravel Homestead — Bahasa Indonesia

Image Halo semua! Kembali lagi sama saya Kiddy! Kali ini gue mau ngeshare tutorial cara install Laravel Homestead. Wah pasti yang pada pake Laravel pada bingung nih, homestead apaan tuh? sejenis buah-buahan? engga sob! Mentang-mentang puasa makanannya otak mulu ahahaha

Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, and any other server software on your local machine. No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes!Bingung kan lu pake bahasa inggris, pasti lu copy terus paste di google translate, ngaku? ahahaha

Oke jadi simplenya gini, Homestead adalah sebuah paket dimana kita dapat membangun web server (ubuntu, debian dll) pada local machine kita. Tujuannya biar apa?

  • Persamaan ruang lingkup kerjaBayangin lo kerja dimana masing-masing developer lo beda-beda OSnya, ada yang pake Linux, Windows 10, Windows 8, kalo yang punya rejeki sih levelnya ya Mac lah ya wkwkwkw. Dengan adanya Homestead, membangun projek pake Laravel akan membuat semua environment local jadi sama yaitu menggunakan Ubuntu. Sehingga gaada alasan si developer A bilang “Ini jalan di local gue kok” sedangkan si developer B dapet error.
  • Penyamaan server lokal dan server produksiWah yang ini ga kalah penting bro, biasanya server produksi (VPS) itu umumnya sih pake Ubuntu. Meskipun ada juga pake yang lain, tapi setidaknya Linux lah. Nah dengan adanya Homestead, kita bisa menyamakan environment projek kita dengan server, jadi kalo di local kita error karena misal command salah dari ubuntu, di server produksi juga pasti error dan kita tau salahnya gimana dan how to solve it.
  • Penggunaan NGINXNah jaman now nih tiap server biasanya mulai beralih ke NGINX, bagi yang engga tau NGINX itu apa ada baiknya baca thread ini duluhttps://medium.com/@samdias9792/nginx-better-and-faster-web-server-technology-fceeed0c7374.Saat di local menggunakan NGINX dan di server menggunakan NGINX juga, so kita udah tau apa yang terjadi kalo error dari config si NGINX tersebut.
  • (Opsional) Web yang berjalan secara bersamaanWeb yang diakses di server lokal bisa diakses secara bersamaan, bayangkan kalau lo membuat microservices yang dipecah menjadi 10 modul. Kalau pake XAMPP pasti ribet setting-setting dulu, pake Homestead jadi gampang settingnya.

Gue saranin lo menggunakan minimal RAM 4GB karena ya… ini kan ngejalanin server di lokal, yang berarti akan menggunakan ruang yang gak kecil buat jalaninnya. Ini ibarat server di cloud kita pindahin ke lokal komputer kita.

Nah si Homestead ini nyediain banyak banget bundle yang udah diinstall didalamnya, yaitu:

  • Ubuntu 18.04 (OS)
  • Git
  • PHP 7.2
  • PHP 7.1
  • PHP 7.0
  • PHP 5.6
  • Nginx
  • Apache (Optional)
  • MySQL
  • MariaDB (Optional)
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • Elasticsearch (Optional)
  • ngrok
  • wp-cli
  • Zend Z-Ray
  • Go
  • Minio Gila keren banget kan? Bahkan Homestead udah ada Node dan Composer loh sehingga lo gaperlu lagi tuh nginstall tools tersebut karena udah tersedia!

Oke setelah pengertiannya udah dapet let’s down to business

Pertama, lo harus punya Virtual Box nih buat tempat jalanin OS lo.

Kedua, lo harus install Vagrant. Ini tools untuk download Homestead-nya.

Ketiga, setelah install Vagrant cukup jalanin di CMD

vagrant box add laravel/homesteadDengan menjalankan command diatas, vagrant akan ngedownload tools yang dibutuhkan si homestead. Ukurannya sekitar 1–2GB jadi pastikan pake Wifi dan KONEKSI YANG KENCENG. Karena bakalan lamaaa banget.Keempat, gue asumsikan lo udah install Git. Buka CMD lo dan masuk ke C:/Users/namaUser lalu jalankan command dibawah

git clone https://github.com/laravel/homestead.git HomesteadCommand diatas akan ngeclone si Homestead dan dimasukan ke folder C:/Users/namaUser.

Kelima, buka Git CMD. Pindah ke **C:/Users/namaUser **jika belum lalu masukkan command dibawah.

Image ssh-keygen -t rsa -C “email_lo@example.com”Setelah itu dia bakalan agak rewel, tinggal enter-enter-enter aja biar cepet.

Kelima, masuk ke folder Homestead dan kita akan nge initialize file .yaml si Homestead (config-nya homestead) dan masukkan command dibawah.

//Masuk ke folder Homesteadcd Homestead``` //Initialize confignya

// Mac / Linux...bash init.sh// Windows...init.bat

Untuk windows pake **init.bat** ya!

Nah sekarang lo akan liat sebuah file namanya **Homestead.yaml**, ini merupakan file konfigurasi server lokal kita.

Isinya seperti ini

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsafolders:    - map: ~/namaProjek      to: /home/vagrant/codesites:    - map: projek1.local      to: /home/vagrant/code/tell-auth/public    - map: projek2.local      to: /home/vagrant/code/telladmin/public      php: "5.6"databases:    - projekGede# blackfire:#     - id: foo#       token: bar#       client-id: foo#       client-token: bar# ports:#     - send: 50000#       to: 5000#     - send: 7777#       to: 777#       protocol: udp**Folders**, adalah tempat lo nyimpen projek lo, biasanya bisa aja satu projek terdiri dari beberapa sub projek (microservices).

**Sites**, adalah tempat lo nyetting projek tersebut diarahin ke url mana. Lo bisa ubah **.local** jadi **.com** apabila lo TLD .com dan mau pake Login Facebook di web. Tapi hati-hati jangan sampe lu nimpa domain yang udah ada, misal **facebook.com**, nanti malah gabisa diakses webnya hahaha. Lo bisa ganti versi PHP sesuai yang lo butuhkan, enak kan gausah nginstall-nginstall? Cukup tulis versi PHP yang dibutuhkan, defaultnya adalah 7.2

**Databases**, adalah database yang otomatis di generate sama sistem, lu bisa buat manual atau lewat HeidiSQL nanti.

Ketujuh, saatnya lo masuk ke sini C:\Windows\System32\drivers\etc. Pastiin lo punya Notepad++ buat edit file yang bernama hosts. Klik kanan edit with Notepad++ tambahin dua data dibawah ini.

192.168.10.10 projek1.com192.168.10.10 projek2.comKetika dia ngesave nanti dia akan nanya mode administrator, iyain aja terus save ulang, karena kalo ngedit file hosts harus didalam mode administrator (Run as Admin).

Kedelapan, lo udah siap! Jalanin homesteadnya dengan cara

vagrant up --provisionTunggu sekian lama, gasampe lu nunggu jodoh kok.

![Image](https://cdn-images-1.medium.com/max/800/1*dT17wWZTyXjxdWtD0pCSSQ.png)

![Image](https://cdn-images-1.medium.com/max/800/1*E4cOcKfMMYHHZyXU4cjesw.png)
Tara~~~~~ Sudah selesai Booting nih! Berarti siap digunakan Homesteadnya!

Sekarang coba masuk ke Linuxnya dengan cara

vagrant ssh
![Image](https://cdn-images-1.medium.com/max/800/1*5iU15a-FgV9ymDVsWRDf2g.png)
Nah lo udah berhasil nih masuk ke linuxnya!

Semua folder projek lo ada didalam folder code, so jangan lupa tiap abis masuk tulis

cd codeKalo gamau kaya gini tinggal hapus aja tulisan folder code di Homestead.yaml nya (NYOBA SENDIRI YA!).

Nah setelah masuk kedalam folder code lo bisa mulai pake composer

composer create-project --prefer-dist laravel/laravel ProjekSatutunggu deh!

Kalau kalian perhatian setelah nginstall Laravel, di file .env sudah otomatis ditulis username dan password untuk database yaitu

DB_USERNAME=homesteadDB_PASSWORD=secretItu gakperlu diganti karena udah default dari sananya, malah enak gausah nyetting-nyetting, apalagi ngubah jadi **root **terus passwordnya kosong (ups cara lama hahahaha).

Apabila ditengah jalan servernya kaya error, engga perlu restart komputer lo, cukup reboot servernya aja dengan cara

vagrant reload --provisionDan kalau setelah ngoding lo mau matiin servernya cukup tulis

vagrant haltOke karena lu udah siap projeknya, sekarang gue ajarin cara hubungan ama database MySQL nya.

Pertama, download dan install [HeidiSQL](https://www.heidisql.com/)

Kedua, Buat session baru dan samain aja nih settinganya

Masukkin IP nya sesuai IP yang ada di Homestead.yamlUsername **homestead**Password **secret**

![Image](https://cdn-images-1.medium.com/max/800/1*BhBEsgz4dxmplq3frFbtcw.png)
Ketiga, klik open dan kalo berhasil lo akan masuk kedalam HeidiSQL!

Oke sekian dari gue ya! Kalo ada pertanyaan bisa langsung tulis di komen!

See ya! Happy Coding~

Bagi yang pake Linux gaada Heidi SQL untuk linux. Tapi kalian bisa pake MySQL workbench. Malah menurut gue bagusan ini sih wkwkwk. Link dibawah ini ya

[https://www.mysql.com/products/workbench/](https://www.mysql.com/products/workbench/)

[https://www.mysql.com/products/workbench/](https://www.mysql.com/products/workbench/)

PS:Thanks to agan [Tri Wicaksono](https://medium.com/@tri.wicaksono69) yang udah nemuin error yang terjadi (di windows hahaha)

Problem:

An error occurred while downloading the remote file. The errormessage, if any, is reproduced below. Please fix this error and tryagain.```
OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

How to solve : https://gist.github.com/idecardo/deec25b8fa54976edb496d7ce7d320a7


Artikel ini merupakan konten legacy dari blog Medium (Tahun 2018). Beberapa konsep atau sintaks mungkin sudah mengalami perubahan pada versi terbaru.