Modul mod_include pada web server Apache menyediakan fungsi Server Side Includes (SSI), sebuah mekanisme untuk menyisipkan teks, file, atau output eksekusi program ke dalam halaman web secara dinamis sebelum dikirim ke klien. Inti dari penggunaan modul ini terletak pada konfigurasi direktif yang dideklarasikan di dalam file konfigurasi Apache (seperti httpd.conf, apache2.conf, atau file .htaccess).
Penggunaan utama direktif ini adalah untuk mengaktifkan pemrosesan SSI, menentukan ekstensi file yang diizinkan, serta mengatur bagaimana kesalahan (error) ditampilkan kepada pengunjung situs. Tanpa direktif yang tepat, perintah SSI seperti <!--#include--> di dalam dokumen HTML tidak akan dieksekusi oleh server.
Daftar Direktif Utama mod_include
Berikut adalah tabel direktif esensial yang disediakan oleh modul mod_include beserta fungsi dan konteks penggunaannya:
| Nama Direktif | Deskripsi Fungsi | Konteks Default |
|---|---|---|
XBithack |
Menyalakan pemrosesan SSI berdasarkan bit executable pada izin file (permission). | directory, .htaccess |
SSIEndTag |
Mengubah string penutup (closing tag) untuk elemen SSI. | server config, virtual host, directory, .htaccess |
SSIStartTag |
Mengubah string pembuka (opening tag) untuk elemen SSI. | server config, virtual host, directory, .htaccess |
SSITimeFormat |
Mengatur format string tanggal yang digunakan oleh perintah penanggalan SSI. | server config, virtual host, directory, .htaccess |
SSIUndefinedEcho |
Menentukan teks pengganti jika variabel yang dicetak melalui echo tidak terdefinisi. | server config, virtual host, directory, .htaccess |
Konfigurasi Mengaktifkan SSI di Apache
Agar direktif mod_include berfungsi, Anda harus mengaktifkan handler dan opsi eksekusi pada direktori tertentu melalui file konfigurasi Apache atau file .htaccess. Berikut adalah contoh sintaks konfigurasi yang benar:
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
Langkah-langkah penerapan teknis:
- Pastikan modul
includetelah aktif di server Apache Anda (pada Ubuntu/Debian jalankan perintahsudo a2enmod include). - Buka file konfigurasi virtual host atau file
.htaccesspada direktori web root Anda. - Tambahkan baris kode konfigurasi di atas untuk mengizinkan penggunaan opsi
+Includesdan memetakan ekstensi file.shtml. - Simpan file konfigurasi dan lakukan uji sintaks dengan perintah
sudo apachectl configtest. - Restart layanan Apache menggunakan perintah
sudo systemctl restart apache2(atauhttpdpada sistem berbasis RedHat).
Troubleshooting Masalah Umum SSI
Kendala yang sering ditemui di lapangan saat menggunakan mod_include meliputi:
- File tidak terproses: Pastikan server dikonfigurasi untuk membaca ekstensi file yang benar. Jika menggunakan ekstensi
.htmlbiasa, Anda perlu menambahkanAddOutputFilter INCLUDES .html, meskipun praktik ini dapat membebani performa server karena semua file HTML harus dipindai. - Pesan Kesalahan Server (500 Internal Server Error): Periksa apakah opsi
+Includesbertabrakan dengan direktifOptions -Indexesatau batasan dariAllowOverridedi tingkat direktori utama.