Mengatasi Error Public_html Not Found: Panduan Teknis Web Server

Memahami Error Public_html Not Found

Pesan kesalahan public_html not found atau direktori tidak ditemukan biasanya terjadi karena konfigurasi server yang tidak tepat atau kesalahan penempatan file pada struktur direktori hosting. Dalam arsitektur web server berbasis Linux (seperti Apache atau Nginx), public_html adalah direktori root yang berfungsi sebagai pintu masuk utama bagi pengunjung untuk mengakses file website Anda.

Jika sistem tidak menemukan direktori ini, website akan menampilkan error 404 atau 403 Forbidden. Hal ini sering terjadi setelah migrasi server, perubahan konfigurasi Virtual Host, atau kesalahan penghapusan folder secara tidak sengaja.

Tabel Diagnosa Penyebab Umum

PenyebabDeskripsiTindakan Perbaikan
Salah PathKonfigurasi DocumentRoot tidak mengarah ke folder yang benar.Periksa file konfigurasi Apache/Nginx.
Izin AksesUser web server tidak memiliki izin akses (permission) ke folder.Ubah permission ke 755 atau 750.
Folder TerhapusDirektori public_html tidak sengaja terhapus.Buat ulang direktori dan restore dari backup.
Symlink RusakTautan simbolik ke folder utama terputus.Perbaiki path symlink pada konfigurasi server.

Langkah Teknis Perbaikan

Untuk mengatasi masalah ini, ikuti langkah-langkah berikut secara berurutan:

  1. Verifikasi Keberadaan Folder: Masuk ke File Manager atau gunakan terminal SSH. Pastikan folder public_html ada di dalam direktori /home/username/. Jika tidak ada, buat folder baru dengan perintah mkdir public_html.
  2. Cek Konfigurasi Virtual Host: Jika Anda menggunakan Apache, periksa file konfigurasi di /etc/apache2/sites-available/. Pastikan baris DocumentRoot mengarah ke path yang benar, contoh: DocumentRoot /home/username/public_html.
  3. Periksa Permission: Pastikan pemilik folder adalah user yang tepat. Gunakan perintah chown -R username:username public_html untuk memastikan akses penuh.
  4. Restart Service: Setelah melakukan perubahan konfigurasi, selalu lakukan restart pada web server dengan perintah systemctl restart apache2 atau systemctl restart nginx.

Pentingnya Struktur Direktori

Dalam ekosistem hosting modern, public_html adalah standar industri. Menempatkan file di luar direktori ini akan membuat file tersebut tidak dapat diakses oleh publik melalui browser, yang sebenarnya merupakan fitur keamanan untuk melindungi file konfigurasi sensitif seperti .env atau file database. Pastikan hanya file yang perlu diakses publik (seperti index.php, css, js, dan images) yang berada di dalam folder tersebut.