Install Nginx-PHP di WSL

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.

Langkah-langkah Install PHP 7.4 di Armbian Bookworm

Kadang kita masih memerlukan PHP 7 pada aplikasi lama kita. Versi terakhir dari PHP 7 adalah PHP 7.4.  Saya kira PHP 7.4 sudah mewakili PHP 7.

Oke memang ini adalah artikel yang digenerate chatgpt. Kadang saya memasukkan materi yang digenerate ChatGPT ke blog ini. Tapi keistimewaannya, kalau sudah masuk ke blog ini berarti sudah saya coba dan jalan.

Di Armbian Bookworm (berbasis Debian 12), PHP 7.4 tidak tersedia langsung dari repository default, karena versi default-nya adalah PHP 8.2. Selanjutnya »

Install Armbian : Debian Bookworm

Semenjak Debian Buster tidak mendapat support lagi, memang ada keinginan saya untuk menggantinya ke Debian Bookworm. Namun karena aplikasi di Debian Bookworm sudah kompleks malas untuk mengganti dengan yang baru. Sebenarnya ada opsi upgrade namun kapasitasnya yang hanya 32GB sudah mepet dan ada potensi gagal juga. Apalagi kalau saya install Debian Bookworm akan ada dua tangga yang harus saya lalui, karena Buster memang sudah terlalu tua.

Kalau saya itung-itung, betapa ribetnya menginstall semua yang ada di Bookworm:

  1. LAMPP
  2. Docker + Container
  3. Home Assistant
  4. Samba
  5. Samba Printer
  6. fstab
  7. PiHole

dan masih banyak lainnya.

Pengalaman baru install Bookworm

Saya memang sudah agak lupa caranya krena terlalu lama tidak install Armbian.  Yang saya ingat hanya iso yang di burn ke sdcard class 10 dengan rufus atau balena etcher.

Ternyata baru sadar install itu walau sekedar copy agak lama juga. Mungkin karena masih menggunakan USB2. Copy 30 menit dan verify 30 menit dengan kecepatan transfer hanya 1 Mbps.

Kedua tidak ada setting apapun seperti cara install sebelumnya, seperti harus menyesuaikan dtb dan sebagainya. Tapi memang saya emndapatkan iso sebagaimana yang saya sampaikan di Armbian Sources .

Dan setelah saya timbang-timbang, terutama dengan RAM yang terbatas hanya 2GB, nampaknya  saya akan memilih menggunakan sistem manual / non docker. Ok segitu dulu informasi dari saya. Mudah-mudahan bermanfaat.

Berikut ini kenampakannya:

Enjoy …