Mengaktifkan Server Side Includes (SSI) pada web server Apache di Ubuntu memerlukan tiga tahapan utama: mengaktifkan modul include, mengonfigurasi direktif Options dan AddOutputFilter pada blok konfigurasi virtual host, serta menyesuaikan izin eksekusi berkas HTML atau SHTML. SSI memungkinkan Anda menyisipkan konten eksternal ke dalam satu halaman web secara dinamis tanpa menggunakan bahasa pemrograman berat seperti PHP.
Persyaratan Sistem
Sebelum memulai, pastikan Anda memiliki akses root atau hak istimewa sudo ke server Ubuntu, serta layanan web server Apache yang sudah terinstal dan berjalan dengan baik.
| Komponen | Keterangan / Perintah |
|---|---|
| Sistem Operasi | Ubuntu Server 20.04 LTS, 22.04 LTS, atau 24.04 LTS |
| Web Server | Apache2 (terinstal via apt install apache2) |
| Modul Apache | include (mod_include) |
| Hak Akses | Sudo / Root privileges |
Langkah 1: Mengaktifkan Modul Include Apache
Modul mod_include bertanggung jawab untuk memproses direktif SSI di dalam Apache. Gunakan utilitas a2enmod untuk mengaktifkan modul ini dengan menjalankan perintah berikut di terminal:
sudo a2enmod include
Setelah modul diaktifkan, muat ulang (restart) layanan Apache agar perubahan diterapkan secara sistem:
sudo systemctl restart apache2
Langkah 2: Mengonfigurasi Virtual Host
Selanjutnya, Anda perlu memberi tahu Apache direktori mana saja yang diizinkan menjalankan perintah SSI. Buka file konfigurasi virtual host Anda menggunakan teks editor seperti nano:
sudo nano /etc/apache2/sites-available/000-default.conf
Tambahkan atau ubah blok direktori untuk web root Anda (misalnya /var/www/html) dengan menyisipkan baris Options +Includes dan AddOutputFilter INCLUDES .shtml atau .html. Contoh konfigurasi lengkap:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks +Includes
AllowOverride All
Require all granted
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
<!-- Jika ingin SSI berjalan di file .html biasa, tambahkan baris berikut: -->
# AddOutputFilter INCLUDES .html
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Simpan file dengan menekan Ctrl+O, lalu keluar dengan Ctrl+X.
Langkah 3: Menguji Konfigurasi dan Validasi
Sebelum me-restart Apache kembali, lakukan uji sintaks konfigurasi untuk memastikan tidak ada kesalahan pengetikan (typo):
sudo apachectl configtest
Jika muncul pesan Syntax OK, restart kembali layanan Apache:
sudo systemctl restart apache2
Langkah 4: Membuat Berkas Uji Coba SSI
Buat sebuah berkas baru berformat .shtml di dalam direktori /var/www/html/ untuk menguji apakah sintaks SSI berfungsi dengan baik:
sudo nano /var/www/html/test.shtml
Masukkan kode pengujian SSI sederhana berikut:
<html>
<head>
<title>Tes SSI Apache</title>
</head>
<body>
<h1>Uji Server Side Includes</h1>
<p>Tanggal dan waktu server saat ini adalah: <!--#echo var="DATE_LOCAL" --></p>
</body>
</html>
Akses berkas tersebut melalui browser Anda (contoh: http://IP_SERVER_ANDA/test.shtml). Jika tanggal dan waktu server berhasil tampil secara dinamis, maka konfigurasi SSI di Ubuntu telah berhasil diaktifkan.
Troubleshooting Lapangan
Jika tag SSI muncul mentah di browser (misalnya tetap tertulis <!--#echo var="DATE_LOCAL" -->), periksa kembali tiga hal berikut:
- Pastikan modul
includebenar-benar aktif dan Apache sudah di-restart. - Periksa apakah direktif
Options +Includestidak tertimpa oleh konfigurasi lain di dalam file utamaapache2.conf. - Jika menggunakan ekstensi
.html, pastikan direktifAddOutputFilter INCLUDES .htmlsudah dimasukkan dengan benar ke dalam blok direktori.