Luego de montar una SD de 1GB en el WRT54GL, es hora de aprovecharla...
NOTAS:
- Repositorios usados
src non-free http://downloads.openwrt.org/whiterussian/packages/non-free
src backports http://downloads.openwrt.org/backports/0.9
- SD montada en /mnt/sd, con sitema de archivos ext2
1. lighttpd en SD
a. Instalación básica
~# ipkg -d sd install lighttpd lighttpd-mod-status lighttpd-mod-cgi
b. Configuración
- Editar el archivo /mnt/sd/etc/default/lighttpd
OPTIONS="-f /etc/lighttpd.conf"
Por:
OPTIONS="-f /mnt/sd/etc/lighttpd.conf"
- Editar el archivo /mnt/sd/etc/lighttpd.conf
"mod_status"
"mod_cgi"
Cambiar:
server.document-root = "/www/"
Por:
server.document-root = "/mnt/sd/www/"
- Editar el archivo /mnt/sd/etc/init.d/lighttpd
DEFAULT=/etc/default/$BIN
LOG_D=/var/log/$BIN
RUN_D=/var/run
Por:
DEFAULT=/mnt/sd/etc/default/$BIN
LOG_D=/mnt/sd/var/log/$BIN
RUN_D=/mnt/sd/var/run
En mi caso, cambié el contenido total del archivo pues el que venía por defecto no funcionaba bien:
#!/bin/sh
BINDIR=/mnt/sd/usr/sbin/
BIN=lighttpd
DEFAULT=/mnt/sd/etc/default/$BIN
LOG_D=/mnt/sd/var/log/$BIN
RUN_D=/mnt/sd/var/run
PID_F=$RUN_D/$BIN.pid
start() {
[ -f $DEFAULT ] && . $DEFAULT
mkdir -p $LOG_D
mkdir -p $RUN_D
${BINDIR}${BIN} $OPTIONS
}
stop() {
#[ -f $PID_F ] && kill $(cat $PID_F)
killall lighttpd
}
Para iniciar el servicio basta con ejecutar
/mnt/sd/etc/init.d/lighttpd start
- Inhabilitar el servidor web que venía por defecto en el router
c. Autoarranque
~# cp /mnt/sd/etc/init.d/lighttpd /etc/init.d/S80lighttpd
Por si acaso no se ha hecho:
~# chmod +x /etc/init.d/S80lighttpd
~# reboot
+ NOTA: Posiblemente por la versión del lighttpd, no se inicie en el arranque,
se puede ver el log del sistema para saber qué pasa. Esto al parecer es
por la versión (lighttpd-1.4.11-2)
~# logread
Puede haber problema con la ruta de librerías y módulos que deberían estar
en /usr/lib pero están en /mnt/sd/usr/lib:
libpcre.so.0
libssl.so.0.9.8
libcrypto.so.0.9.8
libz.so.1 (para PHP)
mod_status.so
mod_cgi.so
Para cada uno hacer un enlace:
~# ln -s /mnt/sd/usr/lib/libpcre.so.0 /usr/lib/libpcre.so.0
Con esto ya debe arrancar el servidor web sin nada (sólo html). Ahora el PHP.
2. php5 en SD
a. Instalación básica
~# ipkg -d sd install php5 php5-cgi php5-mod-gd
b. Configuración
- Editar la configuración del lighttpd /mnt/sd/etc/lighttpd.conf
Cambiar:
#### CGI module
#cgi.assign = ( ".pl" => "/usr/bin/perl",
# ".cgi" => "/usr/bin/perl" )
Por:
#### CGI module
cgi.assign = ( ".php" => "/mnt/sd/usr/bin/php")
#cgi.assign = ( ".pl" => "/usr/bin/perl",
# ".cgi" => "/usr/bin/perl" )
Cambiar:
#status.status-url = "/server-status"
#status.config-url = "/server-config"
Por:
status.status-url = "/status"
status.config-url = "/config"
- Editar la configuración del PHP5 /mnt/sd/etc/php.ini
Cambiar:
extension_dir = "/usr/lib/php"
Por:
extension_dir = "/mnt/sd/usr/lib/php"
Habilitar:
extension=gd.so
Luego de esto guardar y reiniciar, se puede crear un archivo info.php que contenga la línea:
3 comentarios:
En mi caso las páginas en PHP me salen en blanco. ¿Alguien sabe como solucionarlo? Muchas gracias.
Yo he seguido todos los pasos tal cual aparecen en esta página y me ocurre el mismo problema.
A mi también me pasa, llevo un mes intentando encontrar solución y nada. Voy a tirar la toalla y que le den por culo ya a esto del OpenWrt. Vaya mierda!!!!!
Publicar un comentario