De todo un poco

Lighttpd con y sin php5 en OpenWRT

with 2 comments

Otra de las cosas que tenía pensado agregarle a mi router es un servidor web, pero no estático, sino que permitiera el uso de php lo que le entregaría mucho más potencial de uso, en un comienzo busqué alguna solución con el mismo servidor web que traía incorporado OpenWRT uhttpd para el uso de la interfaz web Luci, pero sin resultados muy exitosos al intentar agregarle php. Así que finalmente decidí instalar Lighttpd ya que existe un paquete disponible para OpenWRT y a este agregarle php. Sin embargo, como nada puede ser fácil, no funcionó inmediatamente, pero aquí dejo la configuración que ocupé para que quede funcionando correctamente.

Reconfigurando uHttpd para evitar conflicto de puerto

Como pienso ocupar el puerto 80 para servidor web, y la interfaz web del router esta ocupando ese puerto, lo moveremos a otro para asi poder ocuparlo sin problemas. Para ello ingresamos al archivo de configuración de uhttpd y modificamos el parámetro “listen_http” dejándolo para que escuche en el puerto 8080:

config uhttpd main

# HTTP listen addresses, multiple allowed

list listen_http 0.0.0.0:8080

Otra forma de evitar el conflicto es desactivar del inicio o desinstalar directamente uhttpd ya que por ejemplo en mi caso no ocupo ni ocuparé la interfaz web para configurar el router.

Instalando y configurando Lighttpd con / sin php

Ahora necesitamos un directorio raíz que será donde alojaremos nuestro sitio web asi que lo creamos:

mkdir /home/NOMBRECARPETA/www

A continuación instalamos los paquetes que creamos necesarios aparte del servidor web, en este caso el módulo fastcgi además del php5 php5-cgi y libsqlite3, éste ultimo necesario para el correcto funcionamiento de php5-cgi. Si quisieramos solo montar un servidor web estático bastaría con instalar solo el módulo lighttpd, y saltarse todos los pasos de configuración que tengan que ver con cgi, php o alguno de los módulos, es decir solo fijar el puerto 80 y la raiz del sitio.

opkg update

opkg install lighttpd lighttpd-mod-fastcgi php5 php5-cgi libsqlite3

Verificamos que el php-cgi funcione correctamente con el siguiente commando:

php-cgi -v

Primero configuramos el PHP modificando el archivo /etc/php.ini modificando los siguientes dos parámetros:

doc_root = “/home/NOMBRECARPETA/www”

cgi.force_redirect = 0

Ahora solo queda configurar Lighttpd modificando el archivo /etc/lighttpd/lighttpd.conf fijándonos que llo siguiente no esté comentado:

server.modules = (

[..]

“mod_fastcgi”

[..]

)

Y configuramos donde estará alojado el sitio:

server.document-root = “/home/NOMBRECARPETA/www”

Agregamos “index.php” en esta linea

index-file.names = ( “index.html”, “default.html”, “index.htm”, “default.htm”, “index.php” )

y el puerto de escucha en 80

server.port = 80

Para activar el modulo fast cgi nos fijamos que lo siguiente no esté comentado

fastcgi.server = (

“.php” => (

“localhost” => (

“socket” => “/tmp/php-fastcgi.socket”,

“bin-path” => “/usr/bin/php-cgi”

)

)

)

Listo, ahora solo queda configurar el Firewall para permitir el acceso al puerto 80 desde internet.

Configurando el firewall para el Servidor Web

basta con agregar una nueva regla en el archivo etc/config/firewall para aceptar conexiones en el puerto 80:

#Permitir WEB

config rule

option src              wan

option proto            tcp

option dest_port        80

option target           ACCEPT

Finalmente nos aseguramos que el servidor inicie automáticamente

/etc/init.d/lighttpd enable

Reiniciamos y entonces tendremos nuestro servidor funcionando en el puerto 80 de nuestro router.

Written by overside_

26.noviembre.2010 a 12.28

Publicado en Odisea con OpenWRT

Tagged with , , ,

2 comentarios

Subscribe to comments with RSS.

  1. […] post se basa en el que escribió Overside en https://overside.wordpress.com/2010/11/26/lighttpd-con-php5-en-openwrt/. Gracias por compartir tus […]

  2. Hola he instalado solamente el de html he seguido los pasos pero el puerto le he puesto el 81, reinicio y pongo la IP_router:81 y en la carpeta www he puesto un index.html y no abre la pagina.

    Gracias.

    pep

    20.marzo.2013 at 06.04


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: