Server Side Includes (SSI) adalah direktif sederhana yang ditempatkan di dalam halaman HTML untuk memanggil dan menyisipkan konten dari file lain ke dalam satu dokumen web utama saat halaman tersebut dimuat oleh server web Apache. SSI memungkinkan pengembang web untuk membuat elemen modular, seperti menu navigasi, header, atau footer, yang dapat digunakan kembali di banyak halaman tanpa harus menulis ulang kode yang sama.
Untuk menggunakan SSI pada server Apache, file HTML yang berisi tag SSI biasanya harus memiliki ekstensi khusus (umumnya .shtml) dan fitur SSI harus diaktifkan terlebih dahulu di dalam konfigurasi server Apache (httpd.conf atau berkas .htaccess) melalui modul mod_include.
Sintaks Dasar Tag SSI
Sintaks SSI ditulis di dalam komentar HTML khusus agar tidak terlihat oleh pengunjung di sisi klien (browser). Format dasarnya menggunakan awalan <!--# diikuti oleh perintah dan atribut, lalu ditutup dengan -->.
<!--#include virtual="header.html" -->
Tabel Perintah Utama Server Side Includes (SSI)
| Perintah SSI | Atribut Umum | Fungsi Utama |
|---|---|---|
include |
virtual, file |
Menyisipkan isi file lain (seperti header, footer, atau teks) ke dalam dokumen saat ini. |
echo |
var |
Menampilkan variabel server bawaan, seperti tanggal, waktu, atau alamat IP pengunjung. |
flastmod |
virtual, file |
Menampilkan tanggal dan waktu modifikasi terakhir dari file tertentu. |
fsize |
virtual, file |
Menampilkan ukuran file tertentu dalam format byte, KB, atau MB. |
set |
var, value |
Membuat atau menetapkan nilai ke variabel kustom baru untuk digunakan kemudian. |
Langkah Mengaktifkan SSI di Apache
Sebelum tag SSI dapat diproses oleh server Apache, administrator server harus memastikan bahwa modul yang diperlukan sudah aktif dan direktori web diizinkan untuk mengeksekusi SSI. Berikut adalah langkah-langkah teknis pengaturannya:
- Pastikan Modul Aktif: Periksa konfigurasi Apache untuk memastikan modul
mod_includedimuat. Pada sistem berbasis Ubuntu/Debian, aktifkan dengan perintah terminalsudo a2enmod include. - Ubah Konfigurasi Direktori: Tambahkan opsi
Includespada blok<Directory>di dalam file konfigurasi virtual host atau berkas.htaccess:<Directory "/var/www/html"> Options +Includes </Directory> - Atur Handler Ekstensi: Beritahu Apache untuk memproses file dengan ekstensi tertentu (misalnya
.shtml) sebagai dokumen SSI:AddType text/html .shtml AddOutputFilter INCLUDES .shtml - Uji Coba: Buat file dengan nama
index.shtml, masukkan tag SSI seperti<!--#echo var="DATE_LOCAL" -->, lalu akses melalui browser.
Contoh Penggunaan Nyata
Penerapan paling umum dari SSI adalah memecah struktur situs web statis agar lebih mudah dikelola. Berikut adalah contoh kerangka file index.shtml yang memanggil komponen header dan footer secara terpisah:
<!--#include virtual="includes/header.html" -->
<main>
<h1>Selamat Datang di Situs Kami</h1>
<p>Halaman ini menggunakan Server Side Includes untuk menyusun layout.</p>
</main>
<!--#include virtual="includes/footer.html" -->
Troubleshooting Masalah Umum
Jika tag SSI tidak berfungsi dan hanya tampil sebagai komentar kosong atau teks mentah di browser, periksa beberapa hal berikut di lapangan:
- Ekstensi File Salah: Pastikan file menggunakan ekstensi
.shtml, bukan.html, kecuali server dikonfigurasi untuk memproses SSI pada file.html(yang dapat menurunkan performa server). - Izin Akses File (Path): Atribut
virtualmenggunakan jalur relatif terhadap dokumen root server, sedangkan atributfilemenggunakan jalur relatif terhadap direktori file yang sedang aktif. Kesalahan penulisan path akan memicu pesan error[an error occurred while processing this directive]. - Log Error Apache: Selalu periksa file
error.logpada server Apache untuk melihat detail spesifik penyebab kegagalan eksekusi direktif SSI.