Mod Include Directives Apache: Panduan Lengkap SSI

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_include telah 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 .html dengan risiko penurunan performa server).