En esta entrada vamos a instalar el servidor web Lighttpd con soporte para PHP a través de FastCGI. Lighttpd se caracteriza por ser un servidor web ligero y rápido a la vez que seguro y flexible.
Lo primer que hacemos es descargar la última versión estable de Lighttpd y descomprimirla:
# wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.28.tar.gz # tar -xzvf lighttpd-1.4.28.tar.gz
Vamos a compilar Lighttpd, en este caso vamos a dejar las opciones por defecto y deshabilitar ipv6, zlib y bzip2, básicamente es para que veáis como siempre algun parámetro de la línea de compilación, podríais compilarlo como está por defecto sin problemas. Lo instalamos en la ruta /usr/local/lighttpd.
# mkdir /usr/local/lighttpd # cd lighttpd-1.4.28 # ./configure --prefix=/usr/local/lighttpd --without-zlib --without-bzip2 --disable-ipv6
Al finalizar aparecerá un resumen de lo que vamos a instalar con las características y plugins activos/deshabilitados, ejemplo:
Plugins: enabled: mod_access mod_accesslog mod_alias mod_auth mod_cgi mod_compress mod_dirlisting mod_evhost mod_expire mod_extforward mod_fastcgi mod_flv_streaming mod_indexfile mod_proxy mod_redirect mod_rewrite mod_rrdtool mod_scgi mod_secdownload mod_setenv mod_simple_vhost mod_ssi mod_staticfile mod_status mod_trigger_b4_dl mod_userdir mod_usertrack mod_webdav disabled: mod_cml mod_magnet mod_mysql_vhost Features: enabled: auth-crypt large-files regex-conditionals disabled: auth-ldap compress-bzip2 compress-deflate compress-gzip network-ipv6 network-openssl stat-cache-fam storage-gdbm storage-memcache webdav-locks webdav-properties
Si todo es correcto, compilamos e instalamos:
# make && make install
Vamos a crear un usuario/grupo dedicado para la ejecución del servicio, sin acceso shell:
# groupadd lighttpd # useradd -g lighttpd -s /sbin/nologin -d /var/www/html lighttpd
Creamos la estructura de logs:
# mkdir /var/log/lighttpd && chown lighttpd:lighttpd /var/log/lighttpd
Para finalizar de momento con Lighttpd, creamos el fichero de configuración básico, lo podemos ubicar en /etc/lighttpd:
# mkdir /etc/lighttpd && cd /etc/lighttpd
Ahora podemos copiar el fichero de configuración básico que tenemos en las sources:
# cp ./doc/config/lighttpd.conf /etc/lighttpd/ && chown lighttpd:root /etc/lighttpd/lighttpd.conf
Está perfectamente documentado así que una vez personalizado con vuestros requerimientos (probablemente incluso dejandolo tal cual sea suficiente de momento) creamos el script para arrancar/parar el servicio en init.d:
cp ./doc/initscripts/rc.lighttpd.redhat /etc/init.d/lighttpd && chmod +x /etc/init.d/lighttpd
Si queréis, antes de seguir con PHP podéis arrancar el servicio y crear una página de test para verificar que funciona correctamente:
# /etc/init.d/lighttpd start
Ahora vamos a instalar PHP, si queréis información detallada sobre la compilación de PHP podéis ver este otro artículo en el que instalamos Apache y PHP, en este caso hacemos una compilación básica con todo por defecto de la versión 5.3.6:
# wget http://es2.php.net/get/php-5.3.6.tar.gz/from/ar2.php.net/mirror # tar -xzvf php-5.3.6.tar.gz # cd php-5.3.6 # ./configure # make # make install
Finalmente configuramos Lighttpd para usar PHP a través de FastCGI, añadimos lo siguiente al fichero de configuración lighttpd.conf para activar soporte FastCGI:
fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/fcgi.socket", "bin-path" => "/usr/local/bin/php-cgi" ) ) )
Reiniciamos Lighttpd y ya deberíamos poder visualizar páginas php desde el servidor web:
# /etc/init.d/lighttpd restart
¡Buenas!
Aquí os dejo un enlace sobre cómo montar lighttpd + mysql + php-fpm sobre Fedora 19, para el que le interese.
http://supaplex.info/2013/12/04/instalar-lighttpd-php-fpm-php5-mysql-en-fedora-19/
¡Saludos!
Hola, quisiera hacerte una consulta, instale lighttpd en mi maquina y funciona perfecto, pero ahí alguna forma de administrar por medio de una web la creación de dominios y dominios virtuales sin la necesidad de entrar al lighttpd.conf
Hola,
No conozco ningún frontend o GUI de configuración para Lighttpd. Sí que hay sistemas de panel de control para otros servidores web (cPanel, Plex, etc) pero suelen ser de pago. Te recomiendo aprender a configurar todo desde CLI, a la larga es mucho mejor y cuando tengas problemas sabrás donde buscar.
Saludos