Tutorial SSI Apache: Cara Menggunakan Server Side Includes

Pengertian dan Fungsi SSI

Server Side Includes (SSI) adalah direktif sederhana yang disisipkan ke dalam file HTML untuk menambahkan konten dinamis ke halaman web sebelum dikirim ke browser. SSI memungkinkan Anda menyertakan file lain (seperti header atau footer), menampilkan tanggal, atau menjalankan perintah shell tanpa perlu bahasa pemrograman backend yang kompleks seperti PHP.

Langkah Mengaktifkan Modul mod_include

Agar Apache dapat memproses file SSI, modul mod_include harus aktif. Pada sistem berbasis Debian/Ubuntu, gunakan perintah berikut:

sudo a2enmod include
sudo systemctl restart apache2

Konfigurasi Virtual Host

Anda harus mengizinkan penggunaan SSI di dalam file konfigurasi Virtual Host atau file .htaccess dengan menambahkan opsi Includes. Berikut adalah contoh konfigurasi pada file .conf:

<Directory /var/www/html>
    Options +Includes
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</Directory>

Tabel Perintah Dasar SSI

PerintahFungsi
<!--#include virtual="file.html"-->Menyertakan konten file lain
<!--#echo var="DATE_LOCAL"-->Menampilkan tanggal lokal server
<!--#flastmod file="index.html"-->Menampilkan waktu modifikasi terakhir file
<!--#exec cmd="ls"-->Menjalankan perintah shell (berisiko)

Implementasi Praktis

Untuk menggunakan SSI, simpan file Anda dengan ekstensi .shtml atau konfigurasikan Apache agar memproses file .html sebagai SSI. Contoh penggunaan untuk menyertakan footer:

<!--#include virtual="/includes/footer.html" -->

Tips Keamanan

Hindari penggunaan direktif #exec jika tidak diperlukan, karena dapat menjadi celah keamanan (Remote Code Execution) jika input pengguna tidak disanitasi dengan benar. Selalu gunakan IncludesNOEXEC jika Anda hanya membutuhkan penyertaan file statis.