Cara Mengaktifkan SHTML di Apache: Panduan Teknis Lengkap

Langkah Mengaktifkan SHTML pada Apache

Untuk mengaktifkan Server Side Includes (SHTML) pada Apache, Anda harus memastikan modul include telah dimuat dan direktori target memiliki izin eksekusi untuk perintah SSI. SHTML memungkinkan penyisipan konten dinamis seperti tanggal, file lain, atau variabel server ke dalam file HTML statis tanpa memerlukan bahasa pemrograman sisi server yang kompleks.

1. Mengaktifkan Modul Include

Pastikan modul mod_include aktif di konfigurasi Apache Anda. Pada sistem berbasis Debian/Ubuntu, gunakan perintah berikut di terminal:

sudo a2enmod include
sudo systemctl restart apache2

Pada sistem berbasis RHEL/CentOS, pastikan baris berikut tidak dikomentari di file httpd.conf:

LoadModule include_module modules/mod_include.so

2. Konfigurasi Direktori dan .htaccess

Anda perlu memberikan izin kepada Apache untuk memproses SSI. Tambahkan atau ubah konfigurasi pada file .htaccess atau blok <Directory> di file konfigurasi utama Anda:

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

3. Tabel Ringkasan Konfigurasi

ParameterFungsi
Options +IncludesMengizinkan eksekusi perintah SSI di direktori tersebut.
AddType text/html .shtmlMendefinisikan ekstensi .shtml sebagai file HTML.
AddOutputFilter INCLUDES .shtmlMengaktifkan filter pemrosesan SSI untuk file .shtml.

4. Pengujian SHTML

Buat file bernama test.shtml di direktori web Anda dan masukkan kode berikut untuk memverifikasi apakah server telah memproses SSI dengan benar:

<!--#echo var="DATE_LOCAL" -->

Jika konfigurasi berhasil, saat file diakses melalui browser, teks tersebut akan menampilkan tanggal dan waktu server saat ini.

Troubleshooting Umum

  • Izin File: Pastikan file .shtml memiliki izin baca (read) yang benar oleh user web server (biasanya www-data atau apache).
  • Syntax Error: Perintah SSI harus diawali dengan <!--# dan diakhiri dengan -->. Kesalahan penulisan satu karakter saja akan menyebabkan perintah tidak tereksekusi.
  • Override: Jika menggunakan .htaccess, pastikan AllowOverride All telah diatur pada blok direktori di konfigurasi utama Apache agar aturan di .htaccess dapat terbaca.