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
Includessudah ditambahkan pada barisOptionsdi direktori terkait. - Pastikan filter output
AddOutputFilter INCLUDES .shtmlaktif. - Periksa log error Apache (
error.log) untuk mendeteksi konflik konfigurasi atau kesalahan sintaks direktif.