Konfigurasi mod_include pada web server Apache adalah modul yang memproses dokumen sebelum dikirim ke browser menggunakan teknik Server Side Includes (SSI). Modul ini memungkinkan administrator dan pengembang web untuk menyisipkan konten file eksternal, tanggal, variabel server, hingga hasil eksekusi skrip CGI langsung ke dalam file HTML statis tanpa perlu menggunakan bahasa pemrograman sisi server yang kompleks seperti PHP.
Untuk mengaktifkan dan mengonfigurasikan mod_include dengan benar pada lingkungan server Linux (seperti Ubuntu/Debian atau CentOS/RHEL), Anda harus memastikan modul ini aktif di tingkat server, mendefinisikan direktif AddOutputFilter, serta memberikan izin eksekusi SSI melalui blok konfigurasi direktori pada berkas virtual host.
Langkah Aktivasi Modul mod_include
Pada sistem berbasis Debian atau Ubuntu, modul mod_include biasanya sudah terinstal secara default tetapi belum tentu aktif pada situs web yang sedang berjalan. Gunakan perintah terminal berikut untuk mengaktifkan modul tersebut:
sudo a2enmod include
sudo systemctl restart apache2
Untuk sistem berbasis RedHat/CentOS/Fedora, modul ini dimuat melalui berkas konfigurasi utama Apache (/etc/httpd/conf/httpd.conf) atau direktori conf.d/ dengan memastikan baris berikut tidak memiliki tanda komentar:
LoadModule include_module modules/mod_include.so
Konfigurasi Virtual Host dan Direktori
Agar Apache mengenali dan memproses tag SSI pada ekstensi file tertentu (misalnya .shtml atau langsung pada .html), Anda perlu menambahkan konfigurasi direktif pada blok <Directory> di dalam berkas konfigurasi virtual host Anda.
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
Jika Anda ingin Apache memproses SSI langsung di dalam file berekstensi .html (yang tidak disarankan untuk performa situs berskala besar), ubah baris filter menjadi:
AddOutputFilter INCLUDES .html
Tabel Direktif dan Opsi Konfigurasi mod_include
| Direktif / Opsi | Letak Konfigurasi | Fungsi Utama |
|---|---|---|
Options +Includes |
Directory, .htaccess | Mengaktifkan pemrosesan Server Side Includes pada direktori tersebut. |
Options +IncludesNOEXEC |
Directory, .htaccess | Mengaktifkan SSI tetapi melarang tag #exec untuk alasan keamanan. |
AddOutputFilter INCLUDES |
ServerConfig, VHost, Directory | Menentukan filter output Apache untuk memindai tag SSI pada tipe file tertentu. |
XBitHack On |
Directory, .htaccess | Memeriksa bit executable pada file; jika aktif, file diperlakukan sebagai dokumen SSI. |
Contoh Penggunaan Sintaks SSI dalam Berkas HTML
Setelah konfigurasi server selesai dan layanan Apache telah dimulai ulang, Anda dapat membuat file dengan ekstensi .shtml dan menyisipkan elemen SSI standar. Berikut adalah contoh implementasi penyisipan file header, footer, dan tanggal modifikasi file:
<!--#include virtual="/header.html" -->
<main>
<h1>Selamat Datang di Situs Kami</h1>
<p>Halaman ini diperbarui terakhir pada: <!--#flastmod file="index.shtml" --></p>
</main>
<!--#include virtual="/footer.html" -->
Troubleshooting Masalah Umum
Jika tag SSI yang Anda tuliskan muncul sebagai teks biasa di browser alih-alih dieksekusi oleh server, lakukan pemeriksaan berikut:
- Periksa Ekstensi File: Pastikan file menggunakan ekstensi
.shtmlatau Anda sudah mendefinisikanAddOutputFilter INCLUDES .htmldi konfigurasi server. - Izin Opsi (Options): Pastikan direktif
Optionspada blok direktori mencakup tanda plus (+Includes), bukan menghilangkannya. Jika menggunakan file.htaccess, pastikanAllowOverride Optionsdiaktifkan di konfigurasi utama Apache. - Log Kesalahan: Periksa berkas
error.logmilik Apache untuk mendeteksi kesalahan sintaks konfigurasi atau masalah izin akses file yang disisipkan.