Como he comentado en alguna ocasión, me gusta Apache2. Durante muchos años Apache Software Foundation ha realizado un gran trabajo, añadiendo funcionalidades y módulos, corrigiendo bugs y mejorando en cada versión de Apache2(y Apache 1.x, por supuesto). También he comentado en otras el gran trabajo de Alvaro López, y los excelentes resultados de rendimiento, superando ampliamente los obtenidos con Apache2.Actualmente busco un paquete de software de servidor web ligero y rápido, con soporte PHP5(vía fast-cgi sirve), que corra sin problemas en una máquina con 128MB de RAM(vps). Desde hace un par de semanas he testeado lighttpd y los resultados son más que satisfactorios.
A continuación, y a modo de recordatorio personal,comentaré como instalar lighttpd(version 1.4.25 de Enero de 2010) en una máquina corriendo Ubuntu 9.10, con las siguientes características.
Kernel: Linux polinico 2.6.31-14-generic-pae
Procesador: AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
RAM: 8262708k total
gcc: gcc-4.4 4.4.1-4ubuntu9
make: 3.81-6
Actualizamos las fuentes de los repositorios e instalamos los paquetes necesarios.
[root@polinico ~#]apt-get update && apt-get -y install gcc make build-essential libpcre3-dev libbz2-dev zlib1g-dev
Una vez instalados, necesitamos descargar lighttpd.
[root@polinico tmp#] wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz && md5sum lighttpd-1.4.25.tar.gz
Muchas veces obviamos el paso de la comprobación de la suma md5 del fichero, nunca está de más...
[root@polinico tmp#]wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz && md5sum lighttpd-1.4.25.tar.gz
--2010-01-26 23:20:36-- http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz
Resolviendo download.lighttpd.net... 64.34.173.165
Conectando a download.lighttpd.net|64.34.173.165|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 780629 (762K) [application/x-tar-gz]
Guardando: «lighttpd-1.4.25.tar.gz»
100%[======================================>] 780.629 205K/s en 4,5s
2010-01-26 23:20:41 (168 KB/s) - `lighttpd-1.4.25.tar.gz' guardado [780629/780629]
87e936ec272ddaba8a2fdfecd8c6b704 lighttpd-1.4.25.tar.gz
Desempaquetamos el fichero...
[root@polinico tmp#]tar zxvf lighttpd-1.4.25.tar.gz && cd lighttpd-1.4.25
Lo bueno de la compilación desde el código fuente, a parte de la optimización del binario resultante, es la posibilidad de habilitar/deshabilitar el soporte a protocolos/tecnologías/lenguajes...etc. Por defecto,si no indicamos nada al ejecutar configure, tendremos un binario de lighttpd con los siguientes plugins habilitados:
- mod_access
- mod_access_log
- mod_alias
- mod_auth
- mod_cgi
- mod_compress
- mod_dirlisting
- mod_evhost
- mod_extforward
- mod_flv_streaming
- mod_fastcgi
- mod_indexfile
- mod_proxy
- mod_redirect
- mod_rrdtool
- mod_scgi
- mod_secdownload
- mod_setenv
- mod_simplehost
- mod_ssi
- mod_putasgae
- mod_staticfile
- mod_status
- mod_trigger_b4_dk
- mod_userdir
- mod_usertrack
- mod_webdav
Y como características destacadas
- auth-crypt
- compress-bzip2
- compress-deflate
- regex-conditionals
Si queremos optimizar y personalizar al máximo la compilación:
[root@polinico tmp#] ./configure --help|more
En caso de usar las opciones por defecto:
[root@polinico tmp#] ./configure && make && make install
Ya hemos instalado lighttpd!!! No era para tanto, verdad? Me he encontrado con el que script de arranque/parada de /etc/init.d puede dar problemas al indicar correctamente la localización del binario.Recordemos que por defecto es /usr/local/sbin. No me he parado a localizar el .pid de lighttpd, pero con "ps aux|grep lighttpd|grep etc|awk '{ print $2 }'"(chapuza) solucionamos la papeleta.Podéis descargar el script aquí.