Cara Setting VirtualDocumentRoot di Apache untuk Hosting Dinamis

Virtual host adalah konfigurasi pada webserver yang memungkinan anda menggunakan lebih dari satu domain pada sebuah server. Dengan virtual host anda dapat membuat lebih dari satu website dengan konten yang berbeda dalam sebuah server.

Cara Setting VirtualDocumentRoot di Apache untuk Hosting Dinamis

VirtualDocumentRoot adalah sebuah fitur yang ada dalam Apache HTTP Server yang memungkinkan Anda untuk membuat virtual host dinamis berdasarkan nama domain atau subdomain yang diterima oleh server. Dengan menggunakan VirtualDocumentRoot, Anda dapat membuat struktur direktori dan konfigurasi yang lebih dinamis untuk melayani berbagai situs web tanpa harus menambahkan konfigurasi virtual host manual setiap kali Anda menambahkan situs baru.

Konfigurasi VirtualDocumentRoot

Untuk menggunakan VirtualDocumentRoot, Anda perlu mengaktifkannya dalam konfigurasi Apache dan mengonfigurasikan pola nama domain yang digunakan untuk menentukan struktur direktori. Berikut adalah contoh cara Anda dapat mengkonfigurasi VirtualDocumentRoot:

Pastikan modul vhost_alias diaktifkan di Apache. Anda dapat melakukannya dengan menjalankan perintah berikut di terminal:

sudo a2enmod vhost_alias

Buka file konfigurasi Apache yang sesuai, biasanya berada di direktori /etc/apache2/sites-available/  Tambahkan blok konfigurasi berikut:

UseCanonicalName Off
VirtualDocumentRoot /var/www/%0/public_html/

Dalam contoh di atas, %0 akan digantikan dengan nama domain yang digunakan dalam permintaan. Misalnya, jika seseorang mengakses https://alt.web.id, maka VirtualDocumentRoot akan mengarahkan ke /var/www/alt.web.id/public_html.

Restart Apache untuk menerapkan perubahan konfigurasi:

sudo systemctl restart apache2

Menggunakan VirtualDocumentRoot untuk Hosting Dinamis

Setelah Anda mengaktifkan dan mengonfigurasi VirtualDocumentRoot, Anda dapat mulai membuat struktur direktori untuk setiap situs web yang dikelola oleh server Anda. Misalnya, jika Anda memiliki dua situs web dengan nama domain alt.web.id dan mikhmon.alt.web.id, Anda dapat membuat struktur direktori sebagai berikut:

/var/www/mikhmon/
├── alt.web.id/
│   └── public_html/
│       ├── index.html
│       └── ...
└── mikhmon.alt.web.id/
    └── public_html/
        ├── index.html
        └── ...

Dalam contoh di atas, saat seseorang mengakses http://alt.web.id, VirtualDocumentRoot akan secara otomatis mengarahkan ke direktori /var/www/alt.web.id/public_html/

Sedangkan untuk http://mikhmon.alt.web.id mengarahkan ke direktori /var/www/mikhmon.alt.web.id/public_html/

Contoh Full Apache Virtual Host


        ServerName alt.web.id
        ServerAlias *.alt.web.id
        ServerAdmin webmaster@localhost
        UseCanonicalName Off
        VirtualDocumentRoot /var/www/mikhmon/%0/public_html/
        ErrorLog ${APACHE_LOG_DIR}/alt.web.id.log
        CustomLog ${APACHE_LOG_DIR}/alt.web.id.log combined
        SSLCertificateFile /etc/letsencrypt/live/alt.web.id/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/alt.web.id/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

VirtualDocumentRoot

Keuntungan VirtualDocumentRoot

Penggunaan VirtualDocumentRoot memiliki beberapa keuntungan:

  1. Skalabilitas: Anda dapat dengan mudah menambahkan atau menghapus situs web tanpa perlu mengedit konfigurasi virtual host.
  2. Efisiensi: Penggunaan yang lebih efisien karena Anda tidak perlu mengulang konfigurasi virtual host untuk setiap situs.
  3. Manajemen Mudah: Mengelola banyak situs web lebih mudah dengan struktur direktori yang terorganisir secara otomatis.

Kesimpulan

VirtualDocumentRoot adalah fitur yang kuat dalam Apache yang memungkinkan Anda untuk membuat virtual host dinamis berdasarkan nama domain atau subdomain. Ini menghilangkan kebutuhan untuk menambahkan konfigurasi virtual host manual untuk setiap situs baru, sehingga membuat pengelolaan hosting web menjadi lebih efisien dan mudah.