Mengaktifkan SHTML (Server Side Includes) pada web server Apache di Ubuntu membutuhkan tiga tahapan utama: memastikan modul include aktif, mengonfigurasi direktif Options +Includes serta AddHandler pada blok konfigurasi virtual host, dan melakukan pengujian file dengan ekstensi .shtml.
SHTML memungkinkan penyisipan konten file lain (seperti header, footer, atau navigasi) ke dalam dokumen HTML secara dinamis tanpa memerlukan bahasa pemrograman sisi server yang kompleks seperti PHP atau Python.
Langkah 1: Mengaktifkan Modul Include Apache
Secara default, modul include pada Apache mungkin belum aktif. Gunakan utilitas a2enmod untuk mengaktifkannya melalui terminal:
sudo a2enmod include
Setelah modul diaktifkan, muat ulang (restart) layanan Apache agar perubahan diterapkan oleh sistem:
sudo systemctl restart apache2
Langkah 2: Konfigurasi Virtual Host untuk SHTML
Anda perlu memberitahu Apache agar mengizinkan eksekusi Server Side Includes dan mengenali ekstensi file .shtml. Buka file konfigurasi virtual host situs Anda (misalnya /etc/apache2/sites-available/000-default.conf atau file konfigurasi domain Anda) menggunakan teks editor seperti nano:
sudo nano /etc/apache2/sites-available/000-default.conf
Tambahkan atau sesuaikan blok <Directory> di dalam blok <VirtualHost *:80> seperti contoh kode di bawah ini:
<Directory /var/www/html>
Options Indexes FollowSymLinks +Includes
AllowOverride All
Require all granted
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
Simpan file konfigurasi (pada nano tekan Ctrl+O, Enter, lalu Ctrl+X). Uji sintaks konfigurasi Apache untuk memastikan tidak ada kesalahan ketik:
sudo apache2ctl configtest
Jika hasil pengecekan memunculkan Syntax OK, terapkan perubahan dengan merestart ulang Apache:
sudo systemctl restart apache2
Langkah 3: Membuat dan Menguji File SHTML
Buat file baru berformat .shtml di direktori root web Anda (misalnya /var/www/html/index.shtml):
sudo nano /var/www/html/index.shtml
Masukkan sintaks SSI dasar untuk menguji apakah penyisipan file berfungsi dengan baik:
<html>
<head>
<title>Uji SHTML Ubuntu</title>
</head>
<body>
<h1>Halaman Utama SHTML</h1>
<p>Tanggal dan waktu server saat ini:</p>
<!--#echo var="DATE_LOCAL" -->
</body>
</html>
Akses alamat IP server atau domain Anda melalui peramban web (browser). Jika tanggal dan waktu server berhasil muncul secara dinamis di halaman web, konfigurasi SHTML telah sukses.
Tabel Parameter & Direktif SHTML Apache
| Direktif / Perintah | Fungsi Utama |
|---|---|
+Includes |
Mengizinkan penggunaan Server Side Includes pada direktori terkait. |
AddType text/html .shtml |
Menetapkan tipe MIME untuk file beresktensi .shtml sebagai dokumen HTML. |
AddOutputFilter INCLUDES .shtml |
Memerintahkan Apache memproses file .shtml melalui filter SSI. |
<!--#include virtual="file.html" --> |
Sintaks SSI untuk menyisipkan konten file eksternal. |
Troubleshooting Masalah Umum SHTML
Jika file .shtml Anda hanya menampilkan teks kode mentah SSI atau tidak memproses perintah, periksa beberapa hal berikut:
- Modul belum aktif: Pastikan perintah
sudo a2enmod includesudah dieksekusi dan Apache direstart. - Izin Direktori: Pastikan direktif
Optionspada blok<Directory>mencakup+Includes, bukan hanyaIncludes(tanda plus dibutuhkan jika opsi lain tertimpa). - Ekstensi File: Pastikan file disimpan dengan ekstensi persis
.shtml, bukan.html(kecuali Anda menambahkan filter SSI untuk ekstensi.htmlyang tidak disarankan karena masalah performa).