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 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") staticfile.excludeextensions = ( ".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.
para que liste directorios (que no tienen index.html), añadir a la configuracion:
# activar el listado de directorios dir-listing.activate = "enable"
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" )))
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