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
| Penyebab | Deskripsi | Tindakan Perbaikan |
|---|---|---|
| Salah Path | Konfigurasi DocumentRoot tidak mengarah ke folder yang benar. | Periksa file konfigurasi Apache/Nginx. |
| Izin Akses | User web server tidak memiliki izin akses (permission) ke folder. | Ubah permission ke 755 atau 750. |
| Folder Terhapus | Direktori public_html tidak sengaja terhapus. | Buat ulang direktori dan restore dari backup. |
| Symlink Rusak | Tautan simbolik ke folder utama terputus. | Perbaiki path symlink pada konfigurasi server. |
Langkah Teknis Perbaikan
Untuk mengatasi masalah ini, ikuti langkah-langkah berikut secara berurutan:
- Verifikasi Keberadaan Folder: Masuk ke File Manager atau gunakan terminal SSH. Pastikan folder
public_htmlada di dalam direktori/home/username/. Jika tidak ada, buat folder baru dengan perintahmkdir public_html. - Cek Konfigurasi Virtual Host: Jika Anda menggunakan Apache, periksa file konfigurasi di
/etc/apache2/sites-available/. Pastikan barisDocumentRootmengarah ke path yang benar, contoh:DocumentRoot /home/username/public_html. - Periksa Permission: Pastikan pemilik folder adalah user yang tepat. Gunakan perintah
chown -R username:username public_htmluntuk memastikan akses penuh. - Restart Service: Setelah melakukan perubahan konfigurasi, selalu lakukan restart pada web server dengan perintah
systemctl restart apache2atausystemctl 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.