mod_include adalah modul Apache HTTP Server yang menyediakan fitur Server Side Includes (SSI). Modul ini bertindak sebagai filter yang memproses dokumen HTML sebelum dikirimkan ke klien, memungkinkan penyisipan file eksternal, variabel server, dan eksekusi perintah shell secara dinamis.
Untuk mengaktifkan dan menggunakan SSI secara optimal, administrator server memerlukan pemahaman mendalam mengenai direktif utama yang didukung oleh mod_include, termasuk cara konfigurasi handler dan kontrol eksekusi perintah sistem.
Direktif Utama mod_include Apache
Mod_include menyediakan beberapa direktif inti untuk mengatur perilaku parsing file di dalam blok konfigurasi <Directory>, .htaccess, atau Virtual Host.
| Direktif | Deskripsi | Default |
|---|---|---|
SSIEndTag |
Mengubah string penutup untuk elemen SSI. | --> |
SSIStartTag |
Mengubah string pembuka untuk elemen SSI. | <!--# |
SSITimeFormat |
Mengatur format string tanggal untuk variabel waktu DATE_LOCAL. |
%A, %d-%b-%Y %H:%M:%S %Z |
SSIUndefinedEcho |
Menentukan string yang ditampilkan ketika variabel yang dipanggil tidak terdefinisi. | (none) |
XBitHack |
Mengaktifkan parsing SSI untuk file berdasarkan bit izin eksekusi file (executable bit). | Off |
Konfigurasi Handler dan Opsi Eksekusi
Agar Apache memproses file HTML sebagai dokumen SSI, handler server-parsed harus diaktifkan melalui direktif AddHandler atau AddType di dalam blok konfigurasi utama atau file .htaccess.
AddType text/html .shtml
AddHandler server-parsed .shtml
Selain handler, direktif Options harus menyertakan Includes atau IncludesNOEXEC agar server mengizinkan pemrosesan SSI:
<Directory "/var/www/html">
Options +Includes
AddOutputFilter INCLUDES .shtml
</Directory>
Penggunaan IncludesNOEXEC sangat disarankan untuk alasan keamanan karena mencegah perintah shell eksternal dijalankan melalui elemen SSI <!--#exec ... -->.
Sintaks Dasar Elemen SSI
Setelah direktif server dikonfigurasi, elemen SSI disisipkan langsung ke dalam dokumen HTML menggunakan format tag khusus:
<!--#include virtual="footer.html" -->
<!--#echo var="DATE_LOCAL" -->
Troubleshooting dan Tips Lapangan
Jika instruksi SSI tidak diproses dan tag terlihat mentah di browser, periksa beberapa hal berikut:
- Pastikan modul
mod_includetelah dimuat (loaded) di Apache (LoadModule include_module modules/mod_include.so). - Periksa error log Apache untuk mendeteksi kesalahan sintaks atau masalah izin akses file yang disertakan.
- Pastikan ekstensi file sesuai dengan konfigurasi handler (biasanya
.shtml, atau ubah konfigurasi agar memproses file.htmldengan risiko penurunan performa server).