Lighttpd es un servidor web  muy ligero, que llevaba tiempo siguiendo y me he decidido a instalarlo en una instancia micro de Amazon  EC2 para comprobar su poco consumo de recursos.

La instalación descrita a continuación está probada bajo amzn-v0.9, el sistema operativo de Amazon adaptado por defecto en sus instancias  micro y basado en CentOS.

Para instalarlo se deben realizar los siguientes pasos:

–  Instalar Lighttpd tecleando en la terminal:

 yum install lighttpd

Tras esto ya tendremos instalado Lighttpd.

– Ahora podemos iniciar el servicio tecleando en la terminal:

 service lighttpd start

Para poder poder servir paginas escritas en PHP, debemos instalar el módulo fastcgi y hacer algunas configuraciones extras.

– Instalamos los paquetes lighttpd-fastcgi y php-cli

 yum install lighttpd-fastcgi php-cli

El siguiente paso es configurar lighttpd para que soporte php; abrimos el archivo /etc/php.ini tecleando en la terminal:

 vim /etc/php.ini

y agregamos al final del archivo esta linea:

 cgi.fix_pathinfo = 1

Los siguiente es  editar el fichero /etc/lighttpd/lighttpd.conf tecleando en la terminal:

 vi /etc/lighttpd/lighttpd.conf

y descomentamos la línea que dice mod_fastcgi y mod_alias (quitamos el # ) de modo que quede similar a esta:

server.modules              = (
                                "mod_alias",
                                "mod_access",
                                "mod_fastcgi",
                                "mod_accesslog" )

Lo siguiente es editar el fichero /etc/lighttpd/conf.d/fastcgi.conf  y descomentamos las siguientes líneas:

#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )

Guardamos los cambios y salimos del editor.

Sólo queda reiniciar Lighttpd para que se apliquen los cambios tecleando:

 service lighttpd restart

Tras esto  tendremos Lighttpd funcionando y sirviendo páginas php mediante fastcgi.

La mejor manera de comprobar su correcto funcionamiento es mediante un fichero de prueba, que podemos llamar como queramos y que contenga las siguientes líneas:

<?

phpinfo();

?>

¿Pero que sería un servidor sin un certificado ssl para asegurar las comunicaciones?

La configuración ssl es bastante sencilla:

Primero se crea un directorio donde guardaremos el certificado:

mkdir /etc/lighttpd/ssl

Y dentro crearemos un certificado autofirmado

cd /etc/lighttpd/ssl
openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 365 -nodes
chmod 400 lighttpd.pem

Después editamos /etc/lighttpd/lighttpd.conf y añadimos:

$SERVER["socket"] == ":443" {
  ssl.engine = "enable" 
  ssl.pemfile = "/etc/lighttpd/ssl/lighttpd.pem" 
}

Reiniciamos el servidor y ¡listo!

En próximos posts seguiré ahondando en una configuración más exhaustiva y segura y probaré la autenticación básica de usuarios y la reescritura

Anuncios