Saya masih sering menggunakan aplikasi di Windows, namun untuk urusan aplikasi berbasis server level advanced, Windows nggak semudah Linux.
Hari ini terpaksa saya menggunakan WSL untuk menginstall Nginx-PHP. Dan ada beberapa masalah yang harus di selesaikan, karena memang sedikit ada perbedaan setting awal antara windows dan WSL.
1. Masalah: 502 Bad Gateway Nginx
Kesalahan ini terjadi karena Nginx tidak bisa berkomunikasi dengan PHP-FPM. Ini umumnya disebabkan oleh PHP-FPM yang belum berjalan.
Solusi: Untuk menjalankan PHP-FPM, gunakan perintah sudo service php8.1-fpm start.
2. Masalah: systemctl tidak berfungsi
Perintah systemctl tidak dapat digunakan karena WSL, secara default, tidak di-boot dengan systemd sebagai init system.
Solusi:
- Gunakan perintah
sudo service <nama_layanan> start (contoh: sudo service php8.1-fpm start).
- Cara terbaik adalah mengaktifkan
systemd secara permanen di WSL 2. Caranya:
- Buka file
/etc/wsl.conf dengan sudo nano /etc/wsl.conf.
- Tambahkan baris
[boot] dan systemd=true.
- Simpan file, lalu jalankan
wsl --shutdown di PowerShell.
3. Masalah: PHP-FPM tidak berjalan otomatis saat startup
Setelah menggunakan sudo service php8.1-fpm start, layanan tersebut tidak akan otomatis berjalan saat Anda menutup dan membuka kembali terminal WSL.
Solusi:
- Setelah mengaktifkan
systemd (solusi di atas), gunakan sudo systemctl enable php8.1-fpm agar layanan berjalan otomatis setiap kali WSL dimulai.
4. Masalah: Lokasi www/html di WSL tidak jelas
Jalur /var/www/html di WSL tidak dapat diakses langsung dari File Explorer Windows.
Solusi: Akses folder tersebut melalui jalur jaringan khusus: \\wsl.localhost\Ubuntu\var\www\html (ganti Ubuntu dengan nama distro Anda).
5. Masalah: Terminal WSL tidak langsung masuk ke /home/cakedy
Saat membuka WSL dari PowerShell, terminal akan berada di direktori Windows, bukan di direktori home pengguna Linux.
Solusi:
- Gunakan perintah
cd setelah masuk ke terminal.
- Untuk mengubah perilaku ini secara permanen, atur
startingDirectory di pengaturan Windows Terminal ke jalur //wsl$/Ubuntu/home/cakedy.