Konfigurasi Document Root Apache untuk Virtual Host

Document Root pada server web Apache adalah direktori utama tempat file-file situs web Anda disimpan dan dilayani kepada pengunjung. Pengaturan Document Root yang tepat sangat krusial, terutama ketika Anda mengelola beberapa situs web dalam satu server melalui konfigurasi virtual host, seperti saat melakukan deployment aplikasi web modern termasuk framework Laravel pada sistem operasi berbasis Linux seperti Ubuntu dan Debian.

Dalam praktiknya, pengaturan Document Root didefinisikan di dalam file konfigurasi virtual host Apache. Direktif ini mengarahkan server ke folder spesifik, misalnya /var/www/html/ atau direktori publik dari sebuah proyek aplikasi seperti /var/www/html/public/ agar file sistem yang sensitif tidak dapat diakses secara langsung oleh publik.

Langkah Konfigurasi Document Root Apache

Untuk mengubah atau menetapkan Document Root pada konfigurasi Apache, Anda perlu mengakses file konfigurasi virtual host yang biasanya terletak di direktori /etc/apache2/sites-available/. Berikut adalah contoh blok konfigurasi virtual host standar yang mendefinisikan Document Root:

<VirtualHost *:80>
    ServerName contoh-domain.com
    DocumentRoot /var/www/html/public

    <Directory /var/www/html/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Tahapan Penerapan

  1. Buka terminal server Anda dan akses direktori konfigurasi virtual host Apache.
  2. Buat atau edit file konfigurasi situs (misalnya 000-default.conf atau file domain khusus).
  3. Ubah nilai pada baris DocumentRoot sesuai dengan jalur absolut direktori proyek Anda.
  4. Pastikan blok <Directory> memiliki izin akses yang sesuai (Require all granted) agar Apache diizinkan membaca file di dalam direktori tersebut.
  5. Simpan file konfigurasi, lalu jalankan perintah pengujian sintaks dengan sudo apache2ctl configtest.
  6. Muat ulang layanan Apache menggunakan perintah sudo systemctl reload apache2 agar perubahan diterapkan.

Tabel Parameter Konfigurasi Virtual Host

Parameter Fungsi Utama Contoh Nilai
VirtualHost Menentukan IP dan port yang mendengarkan permintaan masuk. *:80 atau *:443
ServerName Menentukan nama domain utama untuk virtual host tersebut. domainanda.com
DocumentRoot Menentukan jalur direktori fisik file web yang diakses publik. /var/www/html/public
Directory Mengatur kontrol akses dan hak istimewa pada direktori tertentu. /var/www/html/public

Troubleshooting Masalah Document Root

Kesalahan umum yang sering terjadi saat mengatur Document Root adalah munculnya pesan galat "Forbidden" (403 Forbidden) atau halaman default Apache alih-alih situs web Anda. Hal ini biasanya disebabkan oleh:

  • Izin Direktori (Permission): Pengguna web server (biasanya www-data) tidak memiliki izin baca pada folder tujuan. Pastikan kepemilikan folder diatur dengan benar menggunakan perintah chown.
  • Modul Rewrite Non-Aktif: Untuk aplikasi modern yang menggunakan routing berbasis URL bersih (seperti Laravel), modul rewrite Apache harus diaktifkan melalui perintah sudo a2enmod rewrite.
  • Kesalahan Jalur (Path): Jalur direktori pada DocumentRoot harus menggunakan jalur absolut (dimulai dari akar sistem /), bukan jalur relatif.