Konfigurasi mod_include pada web server Apache memungkinkan penggunaan Server Side Includes (SSI), sebuah mekanisme sederhana untuk menyisipkan konten dari file lain ke dalam sebuah halaman web secara dinamis sebelum dikirim ke klien. Modul ini sangat berguna untuk menyertakan elemen yang sering berulang seperti header, footer, atau navigasi tanpa harus menulis ulang kode di setiap file HTML.
Untuk mengaktifkan dan mengonfigurasi mod_include, Anda harus memastikan modul tersebut aktif di Apache, lalu menambahkan direktif khusus pada file konfigurasi virtual host atau berkas .htaccess. Pengaturan ini melibatkan pengaktifan handler SSI dan izin eksekusi melalui opsi Includes pada direktif Options.
Langkah Mengaktifkan Mod Include di Apache
Pada sistem berbasis Debian/Ubuntu, modul ini biasanya sudah terinstal namun perlu diaktifkan melalui utilitas bawaan, diikuti dengan restart layanan Apache. Pada sistem berbasis RedHat/CentOS, modul ini dimuat secara otomatis melalui file konfigurasi utama.
# Mengaktifkan mod_include di Ubuntu/Debian
sudo a2enmod include
sudo systemctl restart apache2
Setelah modul aktif, tambahkan konfigurasi direktori berikut pada blok <Directory> di file konfigurasi virtual host Apache Anda:
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
Tabel Direktif dan Opsi Mod Include
| Direktif / Opsi | Fungsi Utama | Contoh Penggunaan |
|---|---|---|
Options +Includes |
Mengizinkan pemrosesan Server Side Includes pada direktori terkait. | Options Indexes FollowSymLinks +Includes |
AddType text/html .shtml |
Menetapkan ekstensi file .shtml agar diproses oleh Apache. |
AddType text/html .shtml .html |
AddOutputFilter INCLUDES |
Memfilter output dokumen untuk mengeksekusi elemen SSI. | AddOutputFilter INCLUDES htm html shtml |
#include |
Menyertakan isi file eksternal ke dalam dokumen saat ini. | <!--#include virtual="/header.html" --> |
Sintaks Dasar Server Side Includes (SSI)
Setelah konfigurasi server selesai, Anda dapat menggunakan berbagai perintah SSI di dalam file HTML atau SHTML. Format penulisan SSI menyerupai komentar HTML namun diawali dengan tanda tanya dan tanda seru ganda.
<!--#include virtual="header.html" -->
<h1>Selamat Datang di Situs Kami</h1>
<p>Halaman ini diperbarui terakhir pada: <!--#flastmod file="index.html" --></p>
<!--#include virtual="footer.html" -->
Troubleshooting dan Tips Keamanan
Penggunaan SSI yang tidak dibatasi dapat menimbulkan risiko keamanan, terutama jika pengguna dapat mengunggah file ke server. Pastikan untuk menghindari penggunaan opsi IncludesNOEXEC jika Anda tidak ingin mengeksekusi perintah sistem eksternal melalui SSI. Jika halaman tidak memproses tag SSI, periksa kembali apakah ekstensi file sudah terdaftar pada AddOutputFilter dan apakah modul mod_include benar-benar telah dimuat oleh Apache.