Tabla de Contenidos

Servidor web con Lighttpd
lighttpd wiki

configuracion en /etc/lighttpd/lighttpd.conf
despues de modificarla, para que lighttpd vuelva a cargar la configuracion
sudo service lighttpd restart
tambien, otra ordenes para el demonio lighttpd:
sudo service lighttpd status
sudo service lighttpd stop
sudo service lighttpd start

para que ejecute programas en python

para que ejecute cgi en python, añadir a la configuracion:

server.modules += (
	"mod_cgi",
	"mod_fastcgi",
	"mod_compress",
	"mod_dirlisting",
	"mod_staticfile",
	"mod_rewrite",    )

cgi.assign = (".py" => "/usr/bin/python3")

static­file.exclude­extensions = ( ".php", ".py", ".fcgi",".cgi" )

Todos los programas cgi en python DEBEN comenzar con:

#!/usr/bin/env python3 
# -*- coding: utf-8 -*- 
import cgi 
print("Content-Type: text/html\r\n\r\n")
...
..
.

es muy importante que la primera accion sea imprimir "Content-Type: text/html\r\n\r\n" para que el navegador entienda que es una pagina web, y no que hay que descargar este archivo.
Recuerda que el archivo.py debe tener permisos para el usuario www-data, el usuario que corre Lighttpd.

Listar directorios

para que liste directorios (que no tienen index.html), añadir a la configuracion:

# activar el listado de directorios
dir-listing.activate = "enable"

para que ejecute programas en PHP

instalar PHP-FastCGI
sudo apt-get install php-cgi php-fpm

ya debe estar en /etc/lighttpd/conf-enabled/15-fastcgi-php.conf

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket"
))) 

redireccionar a otro puerto

hay que cargar tambien los modulos "mod_proxy" "mod_redirect"
y definir las rutas de redireccion

$HTTP["url"] =~ "^/raspberry" {
  $HTTP["host"] =~ ".*" {
    url.redirect = ( "^/(.*)" => "http://%0:8888" )
    url.redirect-code = 302
  }
}

Este ejemplo redirige <domain>/raspberry hacia <domain>:8888

lighttpd mod_redirect
lighttpd mod_proxy
lighttpd mod_rewrite