Escrito el 16 abril 2013 por Luis Ignacio Díaz Martínez
Tabla de contenidos
Casí todos tendríamos que conocer uno de los servicios web más extendidos en el mundo «Apache «. Sin dudarlo es una solución perfecta para montar un servidor HTTP potente y seguro. No obstante, si necesitamos algo muy sencillo como puede ser un pequeño servidor web que nos devuelva muy poca cantidad de ficheros e información o tenemos muy pocos recursos en la máquina que vamos a realizar la instalación o sencillamente queremos ahorrar al máximo los recrusos del equipo… tendremos que tirar de otros servicios como en el caso de lighttpd, servicio HTTP ligero, rápido y con integración a multiples módulos.
Una solución perfecta para cuando vamos ajustados tanto de tiempo como de recursos.
Este procedimiento no tiene mucho chiste… sencillamente instalar el paquete…
1 |
apt-get install lighttpd |
Para comprobar que el servidor está funcionando de forma correcta vamos a lanzar por telnet una pequeña petición donde pediremos la cabezera del servidor:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
root@Zion:~# telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.0 200 OK Content-Type: text/html Accept-Ranges: bytes ETag: "2613069820" Last-Modified: Tue, 16 Apr 2013 07:30:52 GMT Content-Length: 3585 Connection: close Date: Tue, 16 Apr 2013 07:55:47 GMT Server: lighttpd/1.4.28 Connection closed by foreign host. |
Como podemos observar aparece que la versión de nuestro servidor es lighttpd/1.4.28. Por lo tanto, funciona!
Primero de todo vamos a instalar PHP5:
1 |
apt-get install php5-cgi |
Ahora tendremos que añadir al final del fichero de configuración de PHP una pequeña línea:
1 |
echo "cgi.fix_pathinfo = 1" >> /etc/php5/cgi/php.ini |
Y ahora tendríamos que activar el módulo de lighttpd… para ello vamos a editar el siguiente fichero:
1 |
nano /etc/lighttpd/lighttpd.conf |
Dejando así lo siguiente de la zona «server.modules«:
1 2 3 4 5 6 7 8 |
server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_fastcgi", "mod_redirect", # "mod_rewrite" ) |
Como podemos ver tenemos la opción de «mod_fastcgi» que nos permitirá ejecutar scripts CGI ( por ejemplo PHP en nuestro caso ).
Pero eso no es todo… aún tenemos que decirle por donde se tiene que comunicar con PHP… y para ello al final del fichero que estamos editando añadiremos lo siguiente:
1 2 3 4 |
fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Con esas líneas estamos ordenando que la extensión «php» sea tratada con el CGI de la ruta establecida y del socket establecido.
Para aplicar los cambios que hemos realizado vamos a reiniciar el servicio de lighttpd:
1 |
service lighttpd restart |
Ahora vamos a probar PHP… sencillamente creamos el fichero TEST de PHP y lo comprobamos tal que así:
1 |
echo "<?php phpinfo(); ?>" > /var/www/index.php |
Comprobando…
1 2 3 4 |
telnet localhost 80 GET / HTTP/1.0 [salida] |
En «salida» nos mostrará un montón de tablas.. (<table>…</table>) que contendrán los módulos que están instalados…
No obstante podemos hacer la misma prueba de funcionamiento si tecleamos la dirección IP ( o localhost si estamos instalándolo en la misma máquina ) en nuestro navegador preferido.