Definisi dan Fungsi mod_include
Modul mod_include pada Apache HTTP Server adalah komponen yang mengimplementasikan fitur Server Side Includes (SSI). SSI memungkinkan pengembang untuk menyisipkan konten dinamis (seperti tanggal, variabel lingkungan, atau isi file lain) ke dalam dokumen HTML statis sebelum dikirim ke peramban pengguna. Proses ini terjadi di sisi server, sehingga beban pemrosesan tidak dibebankan kepada klien.
Sintaks Dasar SSI
Untuk menggunakan SSI, file harus memiliki ekstensi yang dikenali oleh server (biasanya .shtml) atau dikonfigurasi melalui direktif XBitHack. Berikut adalah sintaks dasar yang digunakan dalam file HTML:
<!--#directive parameter1=value1 parameter2=value2 -->Direktif Utama mod_include
| Direktif | Fungsi |
|---|---|
| config | Mengatur format output (misal: format tanggal). |
| include | Menyisipkan konten dari file lain. |
| echo | Menampilkan nilai variabel lingkungan. |
| exec | Menjalankan perintah shell atau skrip CGI. |
| flastmod | Menampilkan tanggal modifikasi terakhir file. |
Langkah Implementasi
Untuk mengaktifkan mod_include pada Apache, pastikan modul telah dimuat dan direktif Includes telah diatur pada konfigurasi direktori Anda.
- Pastikan modul aktif:
LoadModule include_module modules/mod_include.so. - Tambahkan opsi
Includespada direktori target:<Directory "/var/www/html"> Options +Includes </Directory> - Tambahkan handler untuk file .shtml:
AddType text/html .shtml AddOutputFilter INCLUDES .shtml - Restart Apache:
sudo systemctl restart apache2.
Keamanan dan Troubleshooting
Penggunaan direktif exec sangat berisiko jika tidak dikelola dengan ketat karena memungkinkan eksekusi perintah sistem. Gunakan IncludesNOEXEC sebagai opsi yang lebih aman jika Anda hanya membutuhkan penyisipan file sederhana. Jika SSI tidak muncul, periksa log kesalahan Apache (biasanya di /var/log/apache2/error.log) untuk memastikan tidak ada kesalahan sintaks pada tag SSI Anda.