Konfigurasi Apache SHTML: Panduan File Server-Side Includes

Konfigurasi Apache untuk file SHTML (Server-Side Includes) memerlukan pengaktifan modul include_module serta pengaturan direktif AddHandler dan AddType di dalam berkas konfigurasi Apache (seperti httpd.conf atau apache2.conf) atau melalui berkas .htaccess. SSI memungkinkan penyisipan konten file lain secara dinamis ke dalam satu halaman web sebelum dikirim ke peramban klien.

Untuk mengaktifkan dukungan SHTML pada server web Apache, administrator sistem harus memastikan modul inti untuk pemrosesan SSI telah dimuat. Langkah-langkah teknis berikut mencakup proses aktivasi modul hingga pengujian skrip SSI di lingkungan produksi.

1. Mengaktifkan Modul Include Apache

Pastikan modul mod_include aktif pada server Apache Anda. Pada sistem operasi berbasis Debian/Ubuntu, jalankan perintah terminal berikut:

sudo a2enmod include
sudo systemctl restart apache2

Pada sistem berbasis RedHat/CentOS/Rocky Linux, modul biasanya sudah dimuat secara otomatis. Anda dapat memastikannya dengan memeriksa baris konfigurasi modul pada berkas utama Apache:

LoadModule include_module modules/mod_include.so

2. Konfigurasi Direktif Handler dan Options

Agar server mengenali ekstensi .shtml dan memproses instruksi SSI di dalamnya, tambahkan pengaturan berikut ke dalam blok <Directory> atau berkas .htaccess:

<Directory "/var/www/html">
    Options +Includes
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</Directory>
Direktif / Opsi Fungsi Utama Keterangan Teknis
Options +Includes Mengaktifkan pemrosesan SSI untuk direktori terkait. Wajib ada agar server mengizinkan pembacaan tag SSI.
AddType text/html .shtml Menetapkan jenis MIME untuk ekstensi berkas. Memastikan peramban membaca berkas sebagai dokumen HTML.
AddOutputFilter INCLUDES .shtml Mengalirkan output berkas melalui filter SSI. Memproses tag seperti #include sebelum dikirim ke klien.

3. Contoh Penerapan Tag SSI dalam File SHTML

Setelah konfigurasi server selesai, buat sebuah berkas dengan nama index.shtml dan masukkan sintaks SSI standar untuk menyertakan komponen luar (misalnya berkas navigasi atau footer):

<!--#include virtual="/header.html" -->
<h1>Selamat Datang di Situs Kami</h1>
<p>Halaman ini menggunakan teknologi Server-Side Includes.</p>
<!--#include virtual="/footer.html" -->

Troubleshooting dan Pengamanan

Jika tag SSI tidak diproses dan hanya tampil sebagai komentar HTML biasa pada peramban, periksa kembali hal-hal berikut:

  • Pastikan direktif Options +Includes tidak ditimpa oleh konfigurasi lain (gunakan tanda plus + untuk menambahkan opsi tanpa menghapus opsi yang sudah ada).
  • Periksa log kesalahan Apache (biasanya di /var/log/apache2/error.log) untuk mendeteksi masalah izin akses berkas yang disertakan.
  • Batasi penggunaan SSI hanya pada direktori yang membutuhkan untuk menghindari potensi celah keamanan eksekusi perintah sistem (#exec).