Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas Proyectos Sobre

Instalación y configuración de Lighttpd con PHP + FastCGI

Read in English
Instalación y configuración de Lighttpd con PHP + FastCGI

Tabla de contenidos

Light logo

lighttpd (pronunciado lighty) es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares.

Está optimizado para entornos donde la velocidad es muy importante, y por eso consume menos CPU y memoria RAM que otros servidores. Por todo lo que ofrece, lighttpd es apropiado para cualquier servidor que tenga problemas de carga.

lighttpd es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux yUNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows mantenida por Kevin Worthington.

Descargamos el codigo:

Descomprimimos

CODE
bash
tar -xzvf lighttpd-1.4.30.tar.gz

Accedemos a la carpeta

CODE
text
cd lighttpd-1.4.30

Creamos la carpeta donde lo vamos a instalar.

BASH
bash
 mkdir /usr/local/lighttpd

La configuración será por defecto, lo instalaremos en /usr/local/lighttpd  y deshabilitar ipv6, zlib y bzip2

CODE
text
./configure --prefix=/usr/local/lighttpd --without-zlib --without-bzip2 --disable-ipv6

Si al compilar os salta el siguiente error:

configure: error: pcre-config not found, install the pcre-devel package or build with –without-pcre

es porque os faltan las librerías libpcre, las instalamos.

apt-get install libpcre3 libpcre3-dev

AL final nos aparecera un resumen de la configración, plugins activados y desactivados.

Plugins:

CODE
text
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:

text
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 a ido bien…compilamos e instalamos

CODE
text
 make && make install

Creamos un usuario y grupo sin shell para la ejecución del servicio.

CODE
text
# useradd -G lighttpd -s /sbin/nologin -d /var/www/html lighttp
# groupadd lighttpd

Creamos la estructura de logs:

BASH
bash
mkdir /var/log/lighttpd

Cambiamos el propietario y el grupo.

BASH
bash
 chown lighttpd:lighttpd /var/log/lighttpd

Creamos el la carpeta donde se alojar el fichero de configuración.

BASH
bash
mkdir /etc/lighttpd

Copiamos los archivos   de configuración

CODE
bash
 cp ./doc/config/lighttpd.conf /etc/lighttpd/
cp -rp doc/config/conf.d/  /etc/lighttpd/
cp ./doc/config/modules.conf  /etc/lighttpd/
cp -rp ./doc/config/vhosts.d/ /etc/lighttpd/

Cabíamos el propietario

bash
chown lighttpd:root /etc/lighttpd/lighttpd.conf

Copiamos el script para arrancar/parar el servicio en init.d

CODE
bash
cp ./doc/initscripts/rc.lighttpd /etc/init.d/lighttpd

Damos permisos de ejecución.

BASH
bash
chmod u+x /etc/init.d/lighttpd

Comprobamos si podemos acceder al servidor web con la dirección ip de la maquina, en mi caso: http://192.168.1.185


Finalmente vamos a compilar el PHP y confgurar FastCGI

Descargamos PHP

BASH
bash
wget http://es2.php.net/get/php-5.3.10.tar.gz

Descomprimimos

CODE
bash
tar xvf php-5.3.10.tar.gz

Accedemos

text
cd cd php-5.3.10/

Instalamos las librerías necesarias.

CODE
bash
apt-get install libmysqlclient15-dev libxml2-dev

Configuramos

CODE
text
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysql=/usr/bin/mysql --with-mysql --enable-ftp --disable-pdo --disable-ctype

Compilamos e instalamos

CODE
text
make && make install

Por ultimo, añadimos la siguiente configuración al fichero: lighttpd.conf

CODE
text
fastcgi.server = ( ".php" =>
                   ( "localhost" =>
                     ( "socket" => "/tmp/fcgi.socket",
                       "bin-path" => "/usr/local/php/bin/php-cgi"
                     )
                   )
                 )

Reiniciamos Lighttpd y ya deberíamos poder visualizar páginas php desde el servidor web:

CODE
text
# /etc/init.d/lighttpd restart

Finalizada la instalación!

un saludo,rokitoh!

Comentarios