Apache mod_include adalah modul pada web server Apache yang memproses Server Side Includes (SSI), sebuah mekanisme sederhana untuk menyisipkan konten dari suatu file ke file lain di dalam halaman web sebelum disajikan ke browser. Modul ini memungkinkan pengembang web untuk menambahkan elemen dinamis seperti tanggal, waktu, atau file header dan footer yang sama ke banyak halaman HTML tanpa menggunakan bahasa pemrograman server yang kompleks seperti PHP.
Untuk menggunakan SSI, server harus dikonfigurasi untuk mengenali file yang mengandung direktif SSI, biasanya melalui ekstensi file khusus seperti .shtml atau dengan mengaktifkan bit eksekusi pada file HTML standar.
Langkah Konfigurasi mod_include di Apache
Sebelum menggunakan direktif SSI di dalam dokumen HTML, administrator server harus memastikan modul mod_include sudah aktif dan direktori web diizinkan untuk memproses SSI melalui file konfigurasi Apache (httpd.conf atau file virtual host).
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>Berikut adalah penjelasan parameter konfigurasi di atas:
| Parameter Konfigurasi | Fungsi Utama |
|---|---|
Options +Includes | Mengaktifkan pemrosesan Server Side Includes pada direktori tersebut. |
AddType text/html .shtml | Memberitahu server agar memperlakukan file dengan ekstensi .shtml sebagai dokumen HTML. |
AddOutputFilter INCLUDES .shtml | Memasang filter output agar Apache memindai file .shtml untuk mencari sintaks SSI. |
Sintaks Dasar Server Side Includes (SSI)
Direktif SSI ditulis di dalam komentar HTML khusus yang dikenali oleh Apache. Format dasarnya adalah sebagai berikut:
<!--#element attribute="value" -->Berikut adalah daftar direktif utama yang paling sering digunakan dalam pengembangan web sehari-hari:
| Direktif SSI | Contoh Penggunaan | Deskripsi Fungsi |
|---|---|---|
include | <!--#include virtual="header.html" --> | Menyisipkan isi file lain (seperti header, footer, atau navigasi) ke dalam dokumen saat ini. |
echo | <!--#echo var="DATE_LOCAL" --> | Menampilkan nilai variabel server (misalnya tanggal, IP pengunjung, atau nama file). |
flastmod | <!--#flastmod file="index.html" --> | Menampilkan tanggal dan waktu terakhir kali file tertentu dimodifikasi. |
fsize | <!--#fsize file="document.pdf" --> | Menampilkan ukuran file secara otomatis dalam format byte, KB, atau MB. |
set | <!--#set var="title" value="Beranda" --> | Membuat atau mendefinisikan variabel kustom yang bisa dipanggil kemudian. |
Contoh Implementasi File SHTML
Berikut adalah contoh kode lengkap penggunaan SSI pada file berformat .shtml untuk menggabungkan komponen header dan footer secara modular:
<!--#include virtual="/includes/header.html" -->
<main>
<h1>Selamat Datang di Situs Kami</h1>
<p>Halaman ini diperbarui terakhir pada: <!--#flastmod virtual="index.shtml" --></p>
</main>
<!--#include virtual="/includes/footer.html" -->Troubleshooting dan Tips Lapangan
Jika direktif SSI tidak berfungsi dan teks komentar terlihat mentah di browser, periksa beberapa hal berikut:
- Pastikan ekstensi file adalah
.shtml, atau jika ingin menggunakan ekstensi.html, tambahkan barisAddOutputFilter INCLUDES .htmlpada konfigurasi Apache (perhatikan bahwa hal ini dapat menurunkan performa server karena Apache harus memindai setiap file HTML). - Periksa log error Apache (biasanya di
/var/log/apache2/error.log) untuk melihat pesan kesalahan izin akses file yang disisipkan (include). - Pastikan jalur file (path) pada atribut
virtualdimulai dari direktori root dokumen (web root), atau gunakan atributfileuntuk jalur relatif terhadap direktori file saat ini.