jueves, 5 de marzo de 2009

Lighttpd: Un servidor web rápido!


En algún momento se me presentó la duda de qué clase de servidor Web podría estar usando un portal como “www.youtube.com”. Dentro de mi ilusión, pensé que debido a su popularidad “Apache2” podría ser la alternativa, sin embargo, desperté rápidamente cuando me enteré que era un servidor Web llamado “Lighttpd” o “Lighty” como lo llaman por cariño. (En esta dirección podrán confirmar la información http://highscalability.com/youtube-architecture)

Lighttpd es un servidor Web que he descubierto recientemente y me ha sorprendido su alto rendimiento, facilidad de configuración y cumplimiento de las necesidades típicas que se nos presentan a la hora de instalar una aplicación web.

Algunos de los requerimientos que se nos presentan son:
  • Administración de hosts virtuales.
  • Creación de “alias”.
  • Programación en PHP5.
  • Administración de archivos vía DAV.
  • Uso de certificados de seguridad con SSL.
Pues la sorpresa es que todas estas funciones están soportadas por “lighty” y lo mejor es que además de pertenecer a una de las creaciones de la comunidad de software libre, es realmente impresionante la rapidez con la que trabaja.

En este artículo se describen los pasos para instalar el “Lighttpd” así como configurar varias de sus funcionalidades principales.

1. Instalación de “Lighttpd”:

Suponemos que no tenemos instalado ningún otro servidor Web. En caso de tenerlo, al momento de instalarlo la se presentará un mensaje de error indicando que el puerto 80 está ocupado y no levantará a la primera.
#aptitude install lighttpd

2. Configuración de “PHP5” y el soporte para la base de datos “Mysql 5” en “Lighty”:
  • Instalamos “PHP5”:
    #aptitude install php5-cgi php5-common php5-mysql
  • Modificamos la configuración del “PHP5”:
    #vim /etc/php5/cgi/php.ini
  • Modificamos la línea:
    cgi.fix_pathinfo=1
    El archivo de configuración se encuentra en “/etc/lighttpd/lighttpd.conf”. Lo editamos para cargar el módulo “mod_cgi” y “mod_fastcgi”:
    #vim /etc/lighttpd/lighttpd.conf
  • Modificamos los siguientes parámetros:
    server.modules = (
    “mod_access”,
    “mod_alias”,
    “mod_accesslog”,
    “mod_compress”,
    “mod_cgi”,
    “mod_fastcgi”,
    # “mod_rewrite”,
    # “mod_redirect”,
    # “mod_status”,
    # “mod_evhost”,
    # “mod_usertrack”,
    # “mod_rrdtool”,
    # “mod_webdav”,
    # “mod_expire”,
    # “mod_flv_streaming”,
    # “mod_evasive”
    )
    Al final del archivo agregamos:
    ...
    fastcgi.server = ( “.php” => ((”bin-path” => “/usr/bin/php5-cgi”,”socket” => “/tmp/php.socket”)))
  • Reiniciamos el servicio Web:
    #/etc/init.d/lighttpd force-reload
3. Prueba del servidor Web:
  • Creamos el siguiente archivos en el directorio de páginas Web:
    # echo "" > /var/www/index.php
  • Verificamos la visualización de contenido visitando la página:
    http://localhost/index.php
Existen un conjunto de módulos que pueden ser activados a partir del archivo de configuración del “Lighty”. Entre ellos están “mod_rewrite”, “mod_status”, “mod_webdav” y “mod_flv_streaming”. Bastaría con estudiar un poco la finalidad de cada uno de ellos para explotar su capacidades.

En el siguiente enlace se pueden encontrar las diferencias entre configuraciones realizadas en Apache2 y Lighttpd:

http://www.onlamp.com/pub/a/onlamp/2007/04/05/the-lighttpd-web-server.html

Personalmente he probado “Lighttpd” en ambientes de concurrencia alta. Especialmente en aulas virtuales basadas en MOODLE y administradores de contenido Web como JOOMLA y el rendimiento en ambos casos ha mejorado de manera claramente importante.

Éxitos!

FUENTES:
http://www.saghul.net/blog/2007/08/14/howto-un-servidor-web-ligero-lighttpd-php5-mysql5/
http://chrisjohnston.org/2009/setting-up-a-llmp-stack-linux-lighttpd-mysql-php5-on-ubuntu-810
http://www.onlamp.com/pub/a/onlamp/2007/04/05/the-lighttpd-web-server.html
http://www.guatewireless.org/optimizando-el-servidor-web-apache-2-vs-lighttpd-1x/
http://www.guatewireless.org/lighttpd-instalacion-y-configuracion-del-web-server/

1 comentario:

Anónimo dijo...

excelente blogs!!! :)