Troubleshooting SHTML Web Server: Solusi SSI & Nginx Apache

Troubleshooting SHTML pada web server (Apache dan Nginx) berfokus pada kegagalan eksekusi Server Side Includes (SSI). Penyebab utamanya meliputi direktif ekstensi file yang belum diaktifkan pada konfigurasi server, modul SSI yang belum dimuat (loaded), atau kesalahan sintaks pada tag komentar HTML seperti <!--#include virtual="/header.shtml" -->.

Untuk mengatasi error pada halaman SHTML, langkah pertama adalah memeriksa error log server untuk menemukan akar masalah spesifik, apakah terkait izin akses file (permission), direktif Includes yang hilang pada konfigurasi virtual host, atau salah ketik path file yang di-include.

Matriks Masalah & Solusi SHTML Web Server

Gejala Error Penyebab Utama Solusi Cepat
HTTP 500 Internal Server Error Modul SSI belum aktif atau sintaks tag SSI salah. Aktifkan modul include dan periksa log error.
Tag <!--#include...> tampil sebagai teks biasa Server tidak memetakan ekstensi .shtml ke handler SSI. Tambahkan AddHandler atau AddType untuk shtml.
Pesan '[an error occurred while processing this directive]' File yang dipanggil via virtual/file tidak ditemukan (404) atau salah path. Periksa kembali path relatif atau absolut file target.

Konfigurasi Perbaikan pada Apache HTTP Server

Pada server Apache, pastikan modul mod_include sudah aktif. Anda dapat mengaktifkannya melalui terminal Linux menggunakan perintah sudo a2enmod include. Setelah itu, pastikan konfigurasi VirtualHost Anda mengizinkan eksekusi SSI.

<Directory "/var/www/html">
    Options +Includes
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</Directory>

Simpan konfigurasi tersebut, lalu lakukan restart layanan Apache dengan perintah sudo systemctl restart apache2 agar perubahan diterapkan secara langsung.

Konfigurasi Perbaikan pada Nginx Web Server

Secara default, Nginx tidak mengaktifkan SSI untuk semua file HTML, melainkan harus diaktifkan secara eksplisit pada blok server atau location. Tambahkan baris ssi on; pada blok konfigurasi Nginx Anda.

server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    location / {
        index index.shtml index.html;
        ssi on;
        ssi_types text/html shtml;
    }
}

Uji validitas konfigurasi Nginx menggunakan sudo nginx -t, kemudian muat ulang server menggunakan sudo systemctl reload nginx.

Tips Lapangan Troubleshooting SHTML

Pastikan hak akses (file permissions) pada file yang di-include minimal bernilai 644 dan direktori induknya 755 agar proses server dapat membaca file tersebut tanpa memicu kendala Permission Denied.