Niat hati mau bikin performa website makin ngebut dengan migrasi dari Apache ke Nginx di panel Webuzo VPS, tapi yang didapat justru mimpi buruk: semua custom permalink mendadak jebol dan memuntahkan pesan menyebalkan 404 Not Found (The requested URL was not found on this server). Homepage mungkin masih aman dibuka, begitu klik artikel atau slug URL tertentu, sistem langsung blank.
Kepanikan seperti ini adalah makanan sehari-hari bagi sysadmin maupun webmaster yang baru pertama kali bermain di ekosistem Webuzo. Masalah ini bukan tanda VPS Anda rusak atau database korup. Nginx memang tidak membaca file konfigurasi rewrite bawaan Apache secara otomatis. Untungnya, Anda hanya butuh menyisipkan satu blok konfigurasi kecil ke dalam sistem untuk membereskan kekacauan ini.
Biang Kerok di Balik Error 404 Nginx Webuzo
Sebelum buru-buru menyalahkan server, pahami dulu apa yang terjadi di balik layar.
| Parameter | Apache (Sebelumnya) | Nginx (Sekarang) |
|---|---|---|
| Penanganan URL | Otomatis membaca file konfigurasi lokal direktori | Bergantung penuh pada blok konfigurasi pusat |
| Dampak Migrasi | Permalink custom berjalan normal tanpa konfigurasi manual | Slug dinamis gagal di-route dan memicu error 404 |
| Lokasi Perbaikan | Level direktori root web | File common di /usr/local/apps/nginx/etc/conf.d/ |
Saat Anda beralih ke Nginx di Webuzo, web server baru ini kehilangan instruksi routing untuk melempar slug URL ke file eksekusi utama. Nginx mengira slug tersebut adalah folder atau file fisik nyata yang memang tidak ada di server, sehingga memunculkan respons 404.
Membedah File Konfigurasi: Langkah Eksekusi
Akses server Anda via Terminal, PuTTY, atau gunakan koneksi SFTP. Pastikan Anda memiliki hak akses root untuk mengedit konfigurasi inti Nginx Webuzo.
File yang menjadi target perbaikan berada di direktori:
/usr/local/apps/nginx/etc/conf.d/common
1. Buka File via Text Editor
Jika Anda terbiasa dengan CLI, buka terminal dan gunakan teks editor favorit Anda. Ingat, gunakan perintah sudo jika belum masuk sebagai root:
bashsudo vim /usr/local/apps/nginx/etc/conf.d/common
Atau bagi yang lebih nyaman dengan nano:
bashsudo nano /usr/local/apps/nginx/etc/conf.d/common
(Catatan: Jika memakai Vim, tekan tombol i untuk masuk ke mode insert/pengetikan).
2. Sisipkan Blok Routing Nginx
Gulir ke baris paling bawah. Aturan mainnya tegas: tambahkan baris konfigurasi baru di akhir file, jangan pernah mengutak-atik konfigurasi yang sudah ada sebelumnya.
Salin dan tempel baris berikut:
nginxlocation / { try_files $uri $uri/ /index.php?q=$request_uri; }
Baris ini menginstruksikan Nginx untuk memeriksa keberadaan file ($uri) atau folder fisik ($uri/). Jika keduanya tidak ada, server akan otomatis mengalihkan request slug URL tersebut ke script pemroses utama (/index.php?q=$request_uri).
3. Simpan Perubahan
Bagi pengguna Vim, tekan tombol Esc lalu ketik :wq! dan tekan Enter untuk menyimpan sekaligus keluar. Bagi pengguna Nano, tekan shortcut kombinasi Ctrl + X, pilih opsi y, lalu tekan Enter.
Reload Sistem: Dua Opsi Praktis
Perubahan konfigurasi tidak akan berpengaruh apapun sampai Nginx membaca ulang file common yang baru saja Anda edit. Ada dua cara untuk merestart service ini.
Opsi CLI Terminal
Jalankan perintah restart langsung dari console:
bashservice nginx restart
Opsi GUI Webuzo
Jika Anda lebih suka kontrol berbasis panel:
- Masuk ke dashboard Webuzo.
- Buka menu Services.
- Cari service nginx.
- Klik pada logo reload/refresh.
Selesai. Bersihkan cache browser Anda lalu coba klik kembali custom permalink yang sebelumnya rusak. Slug URL kini bisa diakses secara normal tanpa ada lagi gangguan error 404. Setup Nginx Anda di VPS Webuzo sudah siap melibas traffic dengan optimal.
