Installing PHP 5.x and Apache 2.2.x as CGI in Windows

Baik, kali ini saya akan coba sharing bagaimana konfigurasi Apache web server agar mendukung dan menjalankan PHP. Mungkin kamu sudah pernah atau sering menggunakan paket AMP (Apache, MySQL, dan PHP) seperti XAMPP, WAMP, LAMPP, PHPTriad, AppServ dll. Kalau kamu penasaran gimana konfigurasi Apache supaya dapat menjalankan skrip PHP, berikut saya share caranya.

Ada dua(?) macam cara untuk membuat Apache support PHP, yaitu menjadikan PHP sebagai module Apache (biasanya juga disertakan module Apache di dalam paket distribusi PHP) dan PHP sebagai CGI/Fast-CGI. Yang kali ini saya tulis konfigurasi PHP sebagai CGI application.
Caranya cukup mudah, yang perlu disiapkan adalah installer Apache, dan paket binary PHP terbaru (biasanya dalam bentuk arsip .zip).

Instal Apache terlebih dahulu. Next-click saja, kecuali kalau mau custom installation. Asumsi folder instalasi Apache ada di “C:\Program Files\Apache Software Foundation\Apache2.2″ selanjutnya saya sebut APACHE_ROOT saja.

Langkah berikutnya, ekstrak arsip paket PHP di folder tertentu, misal di C:\php-5.3.0
Kemudian edit file APACHE_ROOT\conf\httpd.conf menggunakan text editor, misal Notepad atau Notepad++. Lalu tambahkan pada akhir file tersebut:

<FilesMatch "\.php$">
   SetHandler application/x-httpd-php-cgi
</FilesMatch>
<IfModule actions_module>
   Action application/x-httpd-php-cgi "/php/php-cgi.exe"
</IfModule>
<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>
ScriptAlias /php/ "C:/php-5.3.0/"
<Directory "C:/php-5.3.0">
   AllowOverride None
   Options None
   Order deny,allow
   Deny from all
<Files "php-cgi.exe">
Allow from all
</Files>
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html index.php index.phtml index.php4 index.htm default.html default.php
</IfModule>

Simpan file tersebut. Restart Apache kalau sudah running. Kemudian coba apakah skrip PHP sudah bisa dieksekusi.
Misal kita buat file phpinfo.php di dalam document root dari Apache, biasanya ada di APACHE_ROOT\htdocs.
Ketikan saja skrip berikut:

phpinfo();

Lihat di web browser apakah muncul seperti gambar berikut. Kalau muncul maka kamu telah berhasil.

FAQ:
Q: File httpd.conf tidak bisa di simpan di folder APACHE_ROOT\conf?
A: Mungkin ada masalah di hak akses atau permission untuk menuliskan/mengubah isi folder tersebut. Coba jadikan file tersebut writable dengan mengubah security levelnya di properties-nya.

Q: Apache versi berapa yang digunakan?
A: Pada contoh di atas, saya menggunakan Apache versi 2.2.11. Jadi kamu bisa menggunakan versi yang sama atau lebih baru dengan yang saya gunakan.

Q: PHP versi berapa aja yang didukung?
A: Untuk konfigurasi di atas tersebut diperuntukan untuk PHP versi 5+

Q: Apakah support di Windows Vista atau di Windows 7?
A: Konfigurasi yang saya lakukan di atas itu dilakukan menggunakan Windows 7 Ultimate, seharusnya juga bisa di Windows Vista. Saya juga pernah mencobanya di Windows Server 2008 dan dapat berjalan dengan baik. Windows XP? Saya rasa tidak akan ada masalah untuk Windows XP.

Q: Koq Apache saya ga mau running, padahal udah disetting automatic di Service Console?
A: Coba kamu jalanin Apache menggunakan console atau command prompt. Biasanya ada pesan error yang muncul kalau ada kesalahan.