WebServer pada OpenWrt Backfire 10.03.1 dengan uHTTPd + PHP5 + PHP5-mod-mysql

Jika kita meng-install/mem-flash OpenWrt Backfire 10.03.1 dengan fitur WebUI, maka secara default, webserver yang ter-built-in pada firmware adalah uHTTPd. Ini dikarenakan paket-paket LuCI + uHTTPd lebih ringkas jika di-built-in ke dalam firmware.

Instalasi PHP5

opkg update
opkg install php5
opkg install php5-cgi

Konfigurasi uHTTPd

uncomment pada >> list interpreter        “.php=/usr/bin/php-cgi”

root@g-wrt:/etc/config# vi uhttpd
———-potong
#List of extension->interpreter mappings.
#Files with an associated interpreter can
#be called outside of the CGI prefix and do
#not need to be executable.
list interpreter        “.php=/usr/bin/php-cgi”
#       list interpreter        “.cgi=/usr/bin/perl”
———–potong

lalu save.
restart uHTTPd

root@g-wrt:/etc/init.d# ./uhttpd stop
root@g-wrt:/etc/init.d# ./uhttpd start

Tes PHP5

buat file (misalnya) tes-php.php
isinya:

<?php
phpinfo();
?>

save dan simpan di /www

Buka browser, http://ipaddress-router/tes-php.php

tes-php

Meng-enable MySQL pada PHP5

Install php-mod-mysql

opkg update
opkg install php-mod-mysql

Edit file /etc/php.ini pada bagian:

edit/tambahkan “short_open_tag = On” (tanpa tanda petik)
dan uncomment “extension=mysql.so” (tanpa tanda petik) pada bagian ; Dynamic Extensions

————potong
; Language Options
engine = On
;short_open_tag = Off
short_open_tag = On
precision    =  12
y2k_compliance = On
————–potong
;extension=json.so
;extension=ldap.so
;extension=mbstring.so
;extension=mcrypt.so
extension=mysql.so
————–potong

Script PHP untuk tes MySQL:

<?php

$host = "localhost"; 
$user = "user12"; 
$pass = "34klq*"; 

$r = mysql_connect($host, $user, $pass);

if (!$r) {
    echo "Could not connect to server\n";
    trigger_error(mysql_error(), E_USER_ERROR);
} else {
    echo "Connection established\n"; 
}

echo mysql_get_server_info() . "\n"; 

mysql_close();

?>

php-mysql

Untuk MySQL selanjutnya bisa dilihat di sini.

Referensi:
http://wiki.openwrt.org/doc/uci/uhttpd
http://wiki.openwrt.org/doc/howto/lamp?s%5B%5D=mysql
https://gatoti14.wordpress.com/2013/03/05/mysql-innodb-enabled-pada-openwrt-backfire-10-03-1/