Migrasi Apache ke Nginx di Webuzo Malah Bikin Error 404? Ini Solusi Cepatnya

Migrasi Apache ke Nginx di Webuzo Malah Bikin Error 404? Ini Solusi Cepatnya

Oleh Reggi, 23 Dec 2022

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.

ParameterApache (Sebelumnya)Nginx (Sekarang)
Penanganan URLOtomatis membaca file konfigurasi lokal direktoriBergantung penuh pada blok konfigurasi pusat
Dampak MigrasiPermalink custom berjalan normal tanpa konfigurasi manualSlug dinamis gagal di-route dan memicu error 404
Lokasi PerbaikanLevel direktori root webFile 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:

bash
sudo vim /usr/local/apps/nginx/etc/conf.d/common

Atau bagi yang lebih nyaman dengan nano:

bash
sudo 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:

nginx
location / { 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:

bash
service nginx restart

Opsi GUI Webuzo

Jika Anda lebih suka kontrol berbasis panel:

  1. Masuk ke dashboard Webuzo.
  2. Buka menu Services.
  3. Cari service nginx.
  4. 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.


Sedang Ramai Dibaca