Debugging Server Side Includes (SSI) pada Apache memerlukan pemeriksaan file log error (error_log) dan memastikan konfigurasi direktif Includes atau IncludesNOEXEC telah aktif di dalam blok <Directory> atau file .htaccess. Masalah paling umum pada SSI meliputi kesalahan sintaks tag, ekstensi file yang tidak dikenali oleh handler Apache, atau pemanggilan direktif #include yang salah jalur (path).
Langkah pertama dalam mendiagnosis kegagalan SSI adalah melihat baris terakhir dari log error Apache. Secara default, Apache mencatat setiap kegagalan pemrosesan SSI ke dalam file log utama server. Jika Anda melihat pesan error seperti [error] [client ...] SSI server error..., kesalahan biasanya bersumber dari sintaks di dalam file HTML atau kesalahan logika direktif.
Langkah Teknis Debugging SSI Apache
Untuk melacak dan menyelesaikan kendala SSI secara tuntas, terapkan langkah-langkah teknis berikut:
- Periksa Konfigurasi Handler dan Options: Pastikan modul
include_module(mod_include) telah aktif di server Apache Anda. Pada blok konfigurasi virtual host atau filehttpd.conf, pastikan opsiIncludestelah ditambahkan. - Aktifkan Logging Spesifik: Atur tingkat log (LogLevel) untuk modul mod_include agar mencatat detail kesalahan secara lebih spesifik.
- Validasi Ekstensi File: Secara default, Apache hanya memproses SSI pada file dengan ekstensi
.shtml. Jika Anda ingin memprosesnya pada file.htmlatau.php, Anda harus menambahkan pemetaan handler secara manual.
Tabel Konfigurasi dan Parameter Debug SSI
| Parameter / Direktif | Fungsi Utama | Contoh Penerapan |
|---|---|---|
Options +Includes |
Mengizinkan eksekusi seluruh perintah SSI pada direktori terkait. | <Directory "/var/www/html">
Options +Includes
</Directory> |
AddHandler server-parsed .shtml |
Memberitahu Apache untuk memproses file berformat .shtml melalui mod_include. | AddHandler server-parsed .shtml .html |
SSIErrorMsg |
Mengatur pesan kustom yang muncul saat terjadi error SSI daripada pesan default. | SSIErrorMsg "[Maaf, terjadi gangguan pada modul SSI]" |
Contoh Konfigurasi Virtual Host untuk SSI
Berikut adalah blok konfigurasi standar pada Apache Virtual Host agar server mengenali dan memproses SSI sekaligus menampilkan pesan error yang ramah debug:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks +Includes
AllowOverride All
Require all granted
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
ErrorLog ${APACHE_LOG_DIR}/ssi_error.log
CustomLog ${APACHE_LOG_DIR}/ssi_access.log combined
</VirtualHost>
Tips Troubleshooting Lapangan
Jika tag SSI seperti <!--#echo var="DATE_LOCAL" --> hanya tampil sebagai teks biasa di browser tanpa dieksekusi, hal tersebut menandakan bahwa handler server-parsed belum aktif atau ekstensi file belum terdaftar di konfigurasi Apache. Selalu gunakan perintah sudo apachectl configtest setelah mengubah konfigurasi untuk menghindari kegagalan restart layanan web server.