Konfigurasi SHTML Apache: Panduan Lengkap Server Side Includes

Konfigurasi SHTML (Server Side Includes) pada web server Apache memerlukan pengaktifan modul include_module serta penyesuaian direktif konfigurasi pada file httpd.conf atau berkas konfigurasi virtual host. SHTML memungkinkan penyisipan konten file lain secara dinamis ke dalam halaman web tanpa menggunakan bahasa pemrograman berat seperti PHP.

Untuk mengaktifkan dan mengonfigurasi SHTML di Apache, Anda harus memastikan modul yang dibutuhkan aktif, menentukan handler file, serta memberikan izin eksekusi perintah SSI melalui direktif Options.

Langkah 1: Mengaktifkan Modul Include Apache

Pastikan modul mod_include sudah dimuat oleh Apache. Pada sistem berbasis Ubuntu atau Debian, Anda dapat mengaktifkannya menggunakan perintah terminal:

sudo a2enmod include
sudo systemctl restart apache2

Pada sistem berbasis RedHat/CentOS, pastikan baris berikut tidak memiliki tanda pagar (#) pada file konfigurasi utama Apache:

LoadModule include_module modules/mod_include.so

Langkah 2: Konfigurasi Virtual Host atau httpd.conf

Tambahkan konfigurasi direktif Options Includes dan tentukan handler untuk ekstensi file .shtml. Berikut adalah contoh blok konfigurasi pada Virtual Host Apache:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks Includes
    AllowOverride None
    Require all granted
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</Directory>

Tabel Parameter Konfigurasi SHTML Apache

Direktif Apache Fungsi Utama Keterangan
Includes Mengizinkan eksekusi Server Side Includes Wajib diaktifkan di dalam blok Options.
AddType text/html .shtml Menetapkan tipe MIME untuk file .shtml Memberitahu browser bahwa file adalah dokumen HTML.
AddOutputFilter INCLUDES .shtml Mengaktifkan filter output SSI Memproses tag SSI seperti <!--#include--> sebelum dikirim ke klien.

Langkah 3: Pengujian File SHTML

Setelah konfigurasi selesai dan Apache telah dimulai ulang (restart), buat file uji coba dengan nama index.shtml di direktori root web Anda. Masukkan sintaks SSI dasar untuk menguji apakah pemrosesan berjalan normal:

<html>
<head>
    <title>Uji SHTML Apache</title>
</head>
<body>
    <h1>Halaman SHTML Berhasil Dikonfigurasi</h1>
    <p>Waktu server saat ini adalah: <!--#config timefmt="%A %d %B %Y"--><!--#echo var="DATE_LOCAL"--></p>
</body>
</html>

Troubleshooting Umum SHTML

Jika halaman .shtml Anda menampilkan tag SSI secara mentah (artinya kode <!--#include ... --> muncul di browser), periksa kembali tiga hal utama berikut:

  • Pastikan Includes sudah ditambahkan pada baris Options di direktori terkait.
  • Pastikan filter output AddOutputFilter INCLUDES .shtml aktif.
  • Periksa log error Apache (error.log) untuk mendeteksi konflik konfigurasi atau kesalahan sintaks direktif.