Cara Setting DocumentRoot Apache di Ubuntu

Mengubah DocumentRoot pada web server Apache di sistem operasi Ubuntu memerlukan penyesuaian pada file konfigurasi virtual host dan pengaturan izin akses direktori (permissions) agar web server dapat membaca file situs Anda dengan benar. Secara default, Apache menyimpan file web di dalam direktori /var/www/html.

Untuk mengubahnya ke direktori kustom, misalnya /home/username/proyekweb atau /var/www/websitebaru, Anda harus mengikuti prosedur sistematis mulai dari memindahkan atau membuat direktori baru, mengubah konfigurasi Apache, mengedit file apache2.conf atau virtual host terkait, hingga melakukan pengujian dan memuat ulang servis Apache.

Langkah 1: Membuat atau Menyiapkan Direktori Baru

Pertama, pastikan direktori tujuan yang akan dijadikan DocumentRoot sudah ada di sistem. Jalankan perintah berikut di terminal untuk membuat direktori baru:

sudo mkdir -p /var/www/websitebaru

Selanjutnya, berikan kepemilikan direktori tersebut kepada pengguna (user) sistem Anda dan berikan izin akses yang sesuai agar Apache dapat membaca isinya:

sudo chown -R $USER:$USER /var/www/websitebaru
sudo chmod -R 755 /var/www/websitebaru

Langkah 2: Mengubah Konfigurasi Virtual Host Apache

Di Ubuntu, konfigurasi virtual host default biasanya tersimpan di dalam file /etc/apache2/sites-available/000-default.conf. Buka file tersebut menggunakan teks editor seperti nano:

sudo nano /etc/apache2/sites-available/000-default.conf

Cari baris yang mendefinisikan DocumentRoot, kemudian ubah jalurnya mengarah ke direktori baru yang sudah Anda siapkan:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/websitebaru

    <Directory /var/www/websitebaru>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

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

Simpan perubahan dengan menekan tombol Ctrl + O, lalu Enter, dan keluar dari editor dengan menekan Ctrl + X.

Langkah 3: Memperbarui Pengaturan Direktori di apache2.conf

Selain mengubah virtual host, Anda juga perlu memastikan bahwa direktori utama di dalam file konfigurasi global Apache mengizinkan akses. Buka file apache2.conf:

sudo nano /etc/apache2/apache2.conf

Cari blok direktori untuk /var/www/ dan pastikan pengaturannya seperti berikut:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Langkah 4: Uji Konfigurasi dan Restart Apache

Sebelum menerapkan perubahan ke server yang sedang berjalan (production), selalu uji konfigurasi Apache untuk memastikan tidak ada kesalahan penulisan sintaks:

sudo apache2ctl configtest

Jika terminal mengembalikan pesan Syntax OK, Anda dapat langsung memuat ulang (restart) layanan Apache untuk menerapkan DocumentRoot yang baru:

sudo systemctl restart apache2

Tabel Ringkasan Perintah Penting

Fungsi / Aksi Perintah Terminal Ubuntu
Membuat direktori web sudo mkdir -p /path/direktori
Mengubah kepemilikan folder sudo chown -R $USER:$USER /path/direktori
Edit Virtual Host Default sudo nano /etc/apache2/sites-available/000-default.conf
Uji sintaks konfigurasi sudo apache2ctl configtest
Restart layanan Apache sudo systemctl restart apache2

Troubleshooting Masalah Umum

Jika setelah mengubah DocumentRoot Anda mendapati halaman Error 403 Forbidden, hal ini biasanya disebabkan oleh masalah izin akses (permissions) atau konfigurasi blok <Directory> di dalam virtual host yang belum diberikan izin Require all granted. Pastikan juga modul Rewrite aktif jika Anda menggunakan framework PHP seperti Laravel atau WordPress dengan perintah sudo a2enmod rewrite.