Untuk mengaktifkan dan melakukan setting file dengan ekstensi .shtml (Server Side Includes) pada web server Apache, Anda harus memastikan bahwa modul mod_include aktif serta melakukan konfigurasi pada berkas konfigurasi Apache (seperti httpd.conf, apache2.conf, atau berkas .htaccess). SSI memungkinkan Anda menyisipkan dokumen lain ke dalam sebuah halaman web tanpa perlu menggunakan bahasa pemrograman server-side yang kompleks seperti PHP.
Berikut adalah tabel ringkasan direktif utama yang dibutuhkan untuk menjalankan fungsi SSI pada Apache:
| Direktif Apache | Fungsi Utama | Contoh Penggunaan |
|---|---|---|
LoadModule include_module |
Mengaktifkan modul SSI Apache di server. | LoadModule include_module modules/mod_include.so |
AddType / AddHandler |
Memberitahu Apache untuk mengenali ekstensi file SHTML. | AddType text/html .shtmlAddHandler server-parsed .shtml |
Options +Includes |
Memberikan izin direktori untuk memproses perintah SSI. | Options Indexes FollowSymLinks Includes |
XBitHack On |
Memerintahkan Apache memproses file yang memiliki bit executable. | XBitHack On |
Langkah 1: Mengaktifkan Modul Include
Sebelum konfigurasi dijalankan, pastikan modul mod_include sudah dimuat oleh Apache. Pada sistem operasi berbasis Debian/Ubuntu, Anda dapat mengaktifkannya menggunakan perintah terminal:
sudo a2enmod include
sudo systemctl restart apache2
Jika Anda menggunakan server berbasis CentOS/RHEL/AlmaLinux, pastikan baris modul berikut tidak memiliki tanda komentar (#) pada berkas httpd.conf:
LoadModule include_module modules/mod_include.so
Langkah 2: Mengatur Konfigurasi Direktori
Selanjutnya, Anda perlu mengizinkan Apache memproses SSI pada direktori web Anda. Buka berkas konfigurasi virtual host atau berkas konfigurasi utama Apache, lalu tambahkan opsi Includes pada blok direktori:
<Directory "/var/www/html">
Options Indexes FollowSymLinks Includes
AllowOverride All
Require all granted
</Directory>
Langkah 3: Mengaktifkan Handler SHTML
Agar server mengenali file berakhiran .shtml dan mengeksekusi perintah di dalamnya, tambahkan konfigurasi handler berikut ke dalam berkas konfigurasi virtual host atau langsung di dalam berkas .htaccess pada root direktori website Anda:
AddType text/html .shtml
AddHandler server-parsed .shtml
Langkah 4: Pengujian Berkas SHTML
Buat sebuah berkas baru bernama index.shtml di dalam direktori root web Anda (misalnya /var/www/html/index.shtml) dan masukkan sintaks SSI standar untuk pengujian:
<html>
<head>
<title>Tes SHTML</title>
</head>
<body>
<h1>Uji Coba Server Side Includes</h1>
<p>Halaman ini dimuat pada: <!--#echo var="DATE_LOCAL" --></p>
</body>
</html>
Akses domain atau alamat IP server Anda melalui peramban web. Jika tanggal dan waktu server tampil secara dinamis, konfigurasi SHTML di Apache telah berhasil diterapkan.
Troubleshooting Masalah Umum
Jika file .shtml diakses namun perintah SSI tidak dieksekusi (muncul sebagai teks mentah atau error 500), lakukan pemeriksaan berikut:
- Error 500 Internal Server Error: Biasanya disebabkan oleh penulisan sintaks direktif yang salah di dalam berkas
.htaccessatauhttpd.conf. Periksa log error Apache (/var/log/apache2/error.log). - Perintah SSI Diabaikan: Pastikan direktif
Options +Includessudah aktif pada direktori tempat file tersebut berada. Jika menggunakan.htaccess, pastikanAllowOverridediizinkan bernilaiAllatau mencakupOptions.