Konfigurasi Virtual Host Apache untuk mengaktifkan Server Side Includes (SSI) memerlukan pengaktifan modul include_module serta penambahan direktif Options +Includes dan AddType pada blok konfigurasi server. SSI memungkinkan pengembang menyisipkan konten dari file lain ke dalam halaman web statis secara dinamis tanpa menggunakan bahasa pemrograman berat seperti PHP.
Kesalahan umum yang sering terjadi adalah kegagalan mengaktifkan eksekusi handler .shtml atau tidak memberikan izin akses direktori melalui direktif AllowOverride. Tanpa pengaturan yang tepat, perintah SSI seperti #include tidak akan dieksekusi oleh server web dan hanya dianggap sebagai komentar biasa oleh peramban.
Langkah Teknis Konfigurasi Virtual Host SSI
Ikuti prosedur teknis di bawah ini untuk mengonfigurasi Apache agar mendukung file dengan ekstensi .shtml dan menjalankan direktif SSI pada lingkungan sistem operasi berbasis Linux (Ubuntu/Debian/CentOS).
1. Aktifkan Modul Include Apache
Pastikan modul include pada peladen web Apache telah aktif. Jalankan perintah terminal berikut:
sudo a2enmod include
sudo systemctl restart apache2
2. Sunting Berkas Konfigurasi Virtual Host
Buka berkas konfigurasi Virtual Host Anda (biasanya terletak di /etc/apache2/sites-available/000-default.conf atau direktori domain terkait) dan tambahkan blok direktori seperti di bawah ini:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks +Includes
AllowOverride All
Require all granted
</Directory>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</VirtualHost>
3. Uji Coba Berkas SSI
Buat berkas baru bernama index.shtml di dalam direktori DocumentRoot Anda, lalu masukkan sintaks pengujian SSI standar:
<html>
<head>
<title>Uji Coba SSI</title>
</head>
<body>
<h1>Halaman Utama</h1>
<!--#echo var="DATE_LOCAL" -->
<!--#include virtual="footer.html" -->
</body>
</html>
Tabel Parameter Konfigurasi SSI
| Direktif / Parameter | Fungsi Utama | Catatan Penerapan |
|---|---|---|
+Includes |
Mengaktifkan pemrosesan Server Side Includes oleh mod_include. | Wajib dimasukkan dalam blok <Directory>. |
AddType text/html .shtml |
Memberitahu Apache bahwa ekstensi .shtml harus diperlakukan sebagai dokumen HTML. | Diperlukan agar peladen mengenali tipe MIME berkas. |
AddOutputFilter INCLUDES .shtml |
Mengaktifkan filter output SSI untuk ekstensi berkas tertentu. | Memastikan Apache memindai tag SSI sebelum dikirim ke klien. |
XBitHack on |
Menginstruksikan Apache memproses SSI pada berkas dengan izin eksekusi (executable bit). | Alternatif jika tidak ingin mengubah ekstensi berkas menjadi .shtml. |
Troubleshooting Lapangan
Jika tag SSI pada situs Anda tidak merender konten yang dimaksud, lakukan pemeriksaan berikut:
- Periksa Log Kesalahan: Lihat berkas error log Apache (biasanya di
/var/log/apache2/error.log) untuk mendeteksi masalah izin akses berkas yang akan disisipkan. - Konflik Ekstensi: Pastikan Anda mengakses berkas dengan ekstensi
.shtml, bukan.htmlstandar, kecuali Anda menambahkan filter SSI secara global untuk seluruh berkas HTML (tidak disarankan karena masalah performa). - Izin Berkas (Permissions): Pastikan pengguna peladen web (seperti
www-data) memiliki hak baca (read access) terhadap berkas yang dipanggil melalui perintah#include virtualatau#include file.