Direktif Options Includes dalam konfigurasi server web Apache berfungsi untuk mengaktifkan fitur Server Side Includes (SSI). Dengan mengaktifkan opsi ini, server web dapat memproses file yang memiliki direktif SSI (biasanya menggunakan ekstensi .shtml) sebelum dikirimkan ke peramban pengguna, memungkinkan penyertaan konten dinamis seperti tanggal, waktu, atau file lain ke dalam halaman web statis.
Penggunaan direktif ini harus disesuaikan dengan kebutuhan keamanan server, karena SSI dapat dieksekusi langsung di tingkat server. Di bawah ini adalah rincian teknis, tabel parameter pendukung, serta langkah-langkah implementasinya pada sistem operasi berbasis Linux.
Sintaks dan Contoh Penggunaan
Direktif Options dapat diletakkan di dalam file konfigurasi utama Apache (seperti httpd.conf atau apache2.conf) maupun di dalam berkas .htaccess jika direktif AllowOverride mengizinkannya.
<Directory "/var/www/html">
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
Tabel Parameter Opsi Apache yang Terkait
| Parameter Opsi | Fungsi Utama | Dampak Keamanan |
|---|---|---|
Includes |
Mengaktifkan Server Side Includes (SSI) tanpa eksekusi perintah sistem (exec). |
Sedang. Mencegah eksekusi shell command dari SSI. |
IncludesNOEXEC |
Mengaktifkan SSI tetapi menonaktifkan elemen #exec dan #include ke cgi. |
Rendah/Aman. Lebih aman digunakan jika lingkungan hosting bersama. |
All |
Mengaktifkan semua opsi kecuali MultiViews. |
Tinggi. Membuka fitur yang mungkin tidak diperlukan. |
None |
Menonaktifkan semua opsi tambahan pada direktori tersebut. | Sangat Aman. Standar yang disarankan untuk direktori publik tertentu. |
Langkah Teknis Implementasi SSI
- Buka terminal server dan akses file konfigurasi Apache atau file
.htaccesspada direktori web root Anda. - Tambahkan baris
Options +Includesuntuk menambahkan fungsi SSI pada direktori yang diinginkan, atau gunakanOptions -Includesuntuk mematikannya. - Pastikan modul
include_modulepada Apache telah aktif. Anda dapat mengaktifkannya di Ubuntu/Debian menggunakan perintah terminalsudo a2enmod include. - Tambahkan pemetaan tipe file dengan menambahkan
AddType text/html .shtmldanAddOutputFilter INCLUDES .shtmlagar server mengenali file SSI. - Simpan konfigurasi dan lakukan uji ulang sintaks menggunakan perintah
sudo apachectl configtest. - Muat ulang layanan Apache dengan perintah
sudo systemctl restart apache2(untuk Ubuntu/Debian) atausudo systemctl restart httpd(untuk CentOS/RHEL).
Troubleshooting Lapangan
Jika tag SSI seperti <!--#echo var="DATE_LOCAL" --> tidak dieksekusi dan muncul sebagai komentar HTML biasa di peramban, periksa beberapa hal berikut:
- Pastikan ekstensi file Anda sudah benar (misalnya
index.shtml, bukanindex.html, kecuali Anda telah mengkonfigurasi Apache untuk memparsing file .html). - Periksa apakah direktif
AllowOverridepada konfigurasi utama mengizinkan penggunaanOptionsdi file.htaccess. - Perhatikan tanda plus (+) atau minus (-) pada direktif. Menggunakan
Options Includestanpa tanda plus akan menimpa seluruh opsi default yang ada sebelumnya (sepertiIndexesatauFollowSymLinks). GunakanOptions +Includesuntuk menambahkannya secara aman.