Konfigurasi Apache2 di Debian

Sebelum salah sangka, tulisan saya ini tidak menjelaskan cara mengatur Apache2. Namun membahas gaya atau pendekatan cara melakukan konfigurasi Apache 2 di Debian dan keluarganya. Silakan baca dokumentasi Apache 2 atau tutorial yang lain kalau Anda sedang mencari tahu bagaimana cara membuat/mengatur konfigurasi untuk Apache 2.

Oya, semua yang saya tulis ini hanya berasal dari pengamatan saya. Mohon koreksi jika ada yang salah.

***

Debian (dan turunannya) punya cara unik untuk mengatur virtual host di apache2. Konfigurasi apache2 yang normalnya ada pada berkas bernama httpd.conf diubah dan dipecah2 sedemikian sehingga menjadi fleksibel dan mudah diotomasi dengan skrip.

Konfigurasi utama apache2 di Debian bukanlah ada pada berkas httpd.conf, melainkan pada berkas apache2.conf yang terletak di bawah direktori /etc/apache2. Dari konfigurasi utama ini, berkas2 konfigurasi lainnya diikutsertakan (include) sehingga menjadi satu konfigurasi utuh. Berkas2 lainnya itu antara lain adalah

  • /etc/apache2/mods-enabled/*.load dan /etc/apache2/mods-enabled/*.conf yang isinya adalah konfigurasi untuk mengaktifkan modul dan konfigurasi untuk modul tersebut.
  • /etc/apache2/httpd.conf yang ditujukan tuk konfigurasi tambahan yang dibuat oleh sang admin.
  • /etc/apache2/ports.conf yang berisi daftar port yang ingin dibuka. Isinya tentu saja hanya baris2 konfigurasi dg keyword Listen
  • /etc/apache2/conf.d/[^.#]* yang isinya juga konfigurasi lain2 yg dipecah2 ke dalam beberapa berkas
  • /etc/apache2/sites-enabled/[^.#]* yang isinya adalah konfigurasi virtual host

Kalau ngeliat direktori /etc/apache2, maka di dalamnya akan terdapat pasangan direktori sites-available dan sites-enabled dan juga mods-available dan mods-enabled. Apa artinya “available” dan bedanya dengan “enabled” yang disebut dari konfigurasi utama apache2.conf?

Singkatnya begini. Yang berada di dalam direktori “available” adalah konfigurasi siap pasang sedangkan konfigurasi yang benar2 dipasang dan aktif berada di dalam direktori “enabled”.

Kalau ngeliat isi direktori “enabled”, maka Anda akan menjumpai symbolic link ke berkas-berkas yang ada pada direktori “available”. Ya, konfigurasi sebenarnya memang diletakkan di bawah direktori “available”. Dari sekian konfigurasi yang ada di bawah direktori tersebut, konfigurasi yang benar-benar dipakai akan “ditunjuk” atau “dipilih” dengan cara membuat symbolic linknya dari direktori “enabled”.

Sebagai contoh jika Anda ingin membuat konfigurasi sebuah virtual host. Maka buatlah sebuah berkas di dalam direktori sites-available yang berisi konfigurasi virtual host yang Anda inignkan. Jika sudah dan Anda ingin mengaktifkannya, buatlah symbolic link ke berkas tersebut dari dalam direktori sites-enabled.

Untuk lebih mempermudah pengaturan, Debian telah menyiapkan dua buah skrip untuk membantu urusan mengaktifkan dan menonaktifkan virtual host, yaitu skrip bernama a2ensite dan a2dissite (yang sepertinya berasal dari kalimat “apache 2 enable site” dan “apache 2 disable site”). Cara menggunakannya adalah seperti berikut ini.

$ sudo a2ensite nama-berkas-virtual-host

Begitu pula tuk urusan modul. Konfigurasi siap pakai berada di dalam mods-available dan yang dipakai ada dalam mods-enabled. Skrip pembantunya juga ada, yaitu a2enmod dan a2dismod.

Salah satu keuntungan dengan melakukan pemecahan berkas konfigurasi menjadi berkas-berkas yang lebih kecil adalah mempermudah otomasi. Sebagai contoh jika kita ingin menonaktifkan modul php5, maka kita cukup mengetikkan sudo a2dismod php5 dan reload apache2nya. Tidak perlu susah-susah mengedit berkas konfigurasi, mencari baris konfigurasi yang berhubungan dengannya, lalu melakukan penghapusan atau penambahan tanda komentar.

Selain itu, terkait juga dengan instalasi dan penghapusan paket yang berisi modul tuk Apache2, skrip instalasi tidak perlu susah-susah melakukan parsing konfigurasi yang ada untuk memasang atau menghapus konfigurasi yang terkait dengan modul tersebut. Karena pada dasarnya yang perlu dilakukan hanyalah menambah dan menghapus berkas pada direktori mods-available.

***

Gaya penanganan berkas konfigurasi yang dipecah-pecah seperti ini memang dapat membuat bingung “pendatang baru”. Namun, menurut saya, kalau sudah paham apa maksudnya, maka gaya seperti ini dapat membuat hidup lebih mudah =D

1 thought on “Konfigurasi Apache2 di Debian”

Leave a Reply