Cara Mengaktifkan Server Side Includes (SSI) di cPanel

Apa Itu Server Side Includes (SSI)?

Server Side Includes (SSI) adalah mekanisme sederhana untuk menyisipkan konten dinamis ke dalam file HTML statis sebelum dikirim ke browser pengunjung. Dengan SSI, Anda dapat menggunakan perintah khusus (seperti menyertakan header, footer, atau tanggal) tanpa harus menulis ulang kode tersebut di setiap halaman. Di cPanel, fitur ini dikelola melalui konfigurasi Apache yang memungkinkan server memproses file dengan ekstensi tertentu (biasanya .shtml) untuk mengeksekusi perintah SSI.

Langkah Mengaktifkan SSI di cPanel

Untuk mengaktifkan SSI, Anda harus memastikan server mengenali file Anda sebagai file yang mengandung perintah SSI. Ikuti langkah teknis berikut:

  1. Login ke akun cPanel Anda.
  2. Cari menu Advanced, lalu pilih Apache Handlers.
  3. Pada bagian Add an Apache Handler, masukkan data berikut:
    • Extension: shtml
    • Handler: server-parsed
  4. Klik tombol Add.
  5. Jika Anda ingin file .html biasa juga memproses SSI, tambahkan handler dengan extension html dan handler server-parsed (Catatan: ini dapat meningkatkan beban server).

Sintaks Dasar SSI

Setelah handler aktif, Anda dapat menyisipkan perintah SSI langsung ke dalam kode HTML Anda. Berikut adalah contoh sintaks yang paling sering digunakan:

<!--#include virtual="/header.html" -->

Perintah di atas akan mengambil konten dari file header.html dan menampilkannya di lokasi tersebut saat halaman dimuat.

Perintah SSIFungsi
<!--#include virtual="file.html" -->Menyisipkan konten dari file lain
<!--#echo var="DATE_LOCAL" -->Menampilkan tanggal dan waktu server
<!--#flastmod file="index.html" -->Menampilkan waktu modifikasi terakhir file
<!--#exec cmd="ls" -->Menjalankan perintah shell (Sangat berisiko)

Tips Keamanan dan Troubleshooting

Penggunaan SSI memiliki risiko keamanan jika tidak dikelola dengan benar, terutama perintah exec. Berikut adalah panduan praktis untuk menjaga keamanan situs Anda:

  • Batasi Perintah: Hindari penggunaan #exec kecuali benar-benar diperlukan, karena dapat disalahgunakan untuk menjalankan perintah berbahaya di server.
  • Gunakan Ekstensi .shtml: Disarankan menggunakan ekstensi .shtml daripada .html untuk membedakan file yang diproses server dengan file statis murni.
  • Cek Error Log: Jika konten tidak muncul, periksa Error Log di cPanel untuk melihat apakah ada kesalahan sintaks atau masalah izin akses file (permission).
  • Izin File: Pastikan file yang akan di-include memiliki izin akses (chmod) yang dapat dibaca oleh user web server (biasanya 644).