Archive for January, 2007

Instalasi Apache2+PHP5 menggunakan mod_fcgid

Selama ini saya sudah cukup puas menggunakan Apache2 dengan metode prefork (apache2-mpm-prefork) digabung dengan modul PHP5 (libapache2-mod-php5). Sampai suatu saat web server saya kedut-kedutan kehabisan resource karena dikeroyok banyak user. Apache dan modul PHP banyak mengkonsumsi memori karena setiap request dihandle oleh satu proses sendiri.

Ketika saya googling, saya menemukan bahwa Apache2 dengan metode worker (apache2-mpm-worker) lebih efisien & hemat resources karena satu proses bisa menangani banyak request (multithreading). Tapi apa daya, ketika saya mencoba menginstall apache2-mpm-worker, si Ubuntu ngomel minta uninstall libapache2-mod-php5. Ternyata modul PHP5 tidak kompatibel, dia maunya cuma sama si apache2-mpm-prefork.

Saya googling lagi, dan ternyata saya harus pakai PHP dalam bentuk CGI. Hiiy saya dulu punya pengalaman buruk menggunakan PHP CGI, banyak error gitu deh. Tapi ternyata jaman sudah berubah, sekarang ada FCGI, yang lebih handal dalam soal menangani aplikasi CGI. Salah satu kelebihan FCGI adalah sudah multi-threading, jadi sekali lagi seperti si apache2-mpm-worker, lebih hemat resource. Lagipula Apache jadi lebih enteng, karena hanya menangani request halaman statis (html, gambar, css dan lain-lain). Semua request PHP ditangani oleh PHP sendiri.

Oke lah kalau begitu kita langsung saja mulai nginstallnya.

Instalasi Apache2 dan mod_fcgid
Pertama-tama kita install dulu Apache2 dan modul FCGI:
$ sudo apt-get install apache2-mpm-worker libapache2-mod-fcgid
Setelah itu kita harus menyalakan modul FCGI terlebih dahulu:
$ sudo a2enmod fcgid

Instalasi PHP5
Setelah itu install paket-paket PHP5. Dibawah ini adalah modul-modul standar, silahkan tentukan sendiri modul-modul yang diinginkan:
$ sudo apt-get install php5-cgi php5-curl php5-gd php5-ldap php5-mysql php5-mysqli php5-sqlite php5-xsl

Konfigurasi Apache
Edit file /etc/apache2/sites-available/default, lalu taruh teks dibawah ini di bagian sesudah “NameVirtualHost” dan sebelum
<Virtualhost>:

<Directory /var/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</Directory>

Kemudian pada masing-masing <directory> lainnya, tambahkan opsi ExecCGI pada baris Options.
Contoh:
Options ExecCGI Indexes

Nah kalau sudah selesai semua, tinggal restart apache deh:
$ sudo /etc/init.d/apache2 force-reload

Silahkan ditest menggunakan phpinfo(). Selamat menikmati Apache+PHP yang lebih mantab!

Install Ubuntu Linux Tanpa Menggangu Windows

Kembali ke Dapper

Instal Ubuntu dari Windows

Apakah koneksi internet murah di Indonesia tidak Mungkin?

Dokumentasi Ubuntu

Setelah KXDocker terinstal?