Update: Windows Subsystem for Linux (WSL) atau Homestead

Setup Dev. Environment in Windows

Sebenarnya WSL versi 2 udah lama rilis dan baru pakai untuk satu proyek yang butuh fitur native linux. Beberapa kali ribet mengatasi issue sleep yang dipakai apt-get update dari WSL Ubuntu. Mari kita skip ini karena butuh banyak build step yang memusingkan. Akhirnya memutuskan kembali ke Homestead yang umumnya dipakai untuk proyek Laravel. Langsung saja, untuk menggunakan Homestead kita butuh Virtualbox dan Vagrant. Vagrant membutuhkan ruby dan Bonjour Print Services. Setelah install semua yang dibutuhkan, kita mulai dengan setup proyek yang membutuhkan linux tadi.


# Persiapan 1: Clone proyek
git clone project
# Persiapan 2: Masuk directory proyek
cd project
# Setup 1: Menambah vagrant box dan plugin yang diperlukan
vagrant box add laravel/homestead
vagrant plugin install vagrant-hostsupdater
# Setup 2: Menginstall homestead
composer require laravel/homestead --dev
# Setup 3: Menginisiasi homestead di directory proyek
php vendor/bin/homestead make
# atau
vendor\\bin\\homestead make
# Setup 4: Ubah Homestead.yaml dan after.sh sesuai kebutuhan dan jalankan vagrant
vagrant up
# Setup 5: Masuk ke virtual machine yang telah dibuat dengan vagrant
vagrant ssh
# Setup 6: Masuk ke directory proyek di virtual machine dan kalian bisa akses proyek sesuai config di Homestead.yaml, misal kita pakai default directory nya code
cd code
# Setup 7: Buat database (dengan asumsi user default mysql adalah root)
mysql -u root -p
> mysql > CREATE DATABASE namadb;
> mysql > exit;
# Setup 8: Import database dari sql dump
mysql -u root -p namadb < dumpfiledb.sql
# Setup 9: Pilih aplikasi/ runtime yang dibutuhkan proyek, misal proyekmu pakai php
sudo update-alternatives --config php
composer self-update --1
# Setup 10: Install dependensi proyek
npm install
composer install
# Setup 11: Keluar dari ssh session nya virtual machine
exit

Sesuai dokumentasi dari Homestead dan Vagrant, kalian harus mengunggah file baru ke virtual machine dengan mengeksekusi perintah vagrant rsync dari directory proyek di windows, misalnya setelah berpindah git branch dan setelah melakukan perubahan. Namun, kalian dapat menggunakan perintah vagrant rsync-auto yang dapat terus menerus mengunggah perubahan ke virtual machine. Begitulah proses menjalankan proyek di Windows, semoga bisa membantu. Sekian.