Konfigurasi Mod Include Apache
Modul mod_include pada Apache HTTP Server digunakan untuk mengimplementasikan Server Side Includes (SSI). SSI memungkinkan penyisipan konten dinamis (seperti tanggal, file lain, atau output perintah sistem) ke dalam file HTML statis sebelum dikirim ke klien. Untuk mengaktifkannya, Anda harus memastikan modul dimuat, direktif Options +Includes diatur, dan tipe MIME yang tepat didefinisikan.
Langkah Aktivasi Modul
Pada sistem berbasis Debian/Ubuntu, gunakan perintah berikut untuk mengaktifkan modul:
sudo a2enmod include
sudo systemctl restart apache2Pada sistem berbasis RHEL/CentOS, modul ini biasanya sudah dimuat secara default dalam file /etc/httpd/conf.modules.d/00-base.conf. Pastikan baris LoadModule include_module modules/mod_include.so tidak diberi tanda komentar.
Konfigurasi Virtual Host
Anda harus memberikan izin kepada Apache untuk memproses SSI pada direktori tertentu. Tambahkan konfigurasi berikut ke dalam file Virtual Host Anda:
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>| Direktif | Fungsi |
|---|---|
| Options +Includes | Mengizinkan eksekusi perintah SSI. |
| AddType text/html .shtml | Mendefinisikan ekstensi file yang diproses SSI. |
| AddOutputFilter INCLUDES | Mengaktifkan filter pemrosesan konten. |
Penggunaan Sintaks SSI
Setelah konfigurasi aktif, Anda dapat menyisipkan perintah SSI ke dalam file dengan ekstensi .shtml. Contoh penggunaan:
<!--#echo var="DATE_LOCAL" -->
<!--#include virtual="/footer.html" -->Troubleshooting dan Keamanan
Perhatikan bahwa penggunaan SSI dapat menimbulkan risiko keamanan jika tidak dikelola dengan benar. Hindari penggunaan Options +IncludesExecCGI kecuali benar-benar diperlukan, karena ini memungkinkan eksekusi skrip CGI melalui SSI yang berpotensi dieksploitasi. Selalu periksa log error Apache di /var/log/apache2/error.log jika konten tidak muncul setelah konfigurasi diterapkan.