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")
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.
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
