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 +Includestidak 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).