Lighttpd Python cgi quebrado no Xenial

1

Estou tentando configurar o servidor da Web Lighttpd com um script cgi básico e SIMPLES. Eu não preciso de fastCGI nem nada (eu poderia usar PHP, mas o ubuntu agora força você a usar o PHP7 que quebra todos os scripts PHP5 que eu tenho obrigado pela comunidade PHP!).

De qualquer forma, perdi os últimos 2 dias com este problema, o que não deve ser um problema, mas por alguma razão as versões recentes do Ubuntu quebraram coisas que costumavam sempre funcionar.

Soooo .. Aqui está o problema.

Lighttpd instalado ... ok funciona bem

Ativado o módulo CGI ... ok, bom

no arquivo de configuração 10-cgi.conf alterado:

cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".php" => "/usr/bin/php-cgi",
#       ".py"  => "/usr/bin/python"
)

para:

cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".php" => "/usr/bin/php-cgi",
       ".py"  => "/usr/bin/python"
)

Verificamos que / usr / bin / python está realmente nesse caminho .... ok..good.

criou um diretório cgi-bin .... ok

definir permissões no diretório cgi-bin para estar no grupo e pertencer a: www-data .... ok

criou um arquivo cgi python de teste no diretório cgi-bin, e o definiu como executável e fez um chmod 0755 test.py .... ok ... bom. suceess

abriu um navegador da Web: link ... BOOM

funciona, sim, mais ou menos. Quer baixar a resposta da web como um arquivo chamado test.py. Na verdade, ele não está baixando o arquivo python no servidor, apenas a resposta que o servidor da Web deve enviar de volta ao navegador. Eu comecei a trabalhar antes e trabalhei sem problemas. Mas, como eu disse, o que os desenvolvedores de distros do ubuntu estão fazendo, está quebrando muitas coisas que costumavam funcionar. Portanto, tutoriais on-line são remendados, na melhor das hipóteses.

no começo eu pensei que talvez algumas configurações MIME não estivessem corretas, então eu adicionei manualmente o Python MIME ao arquivo lighttpd.conf. Não parece mudar nada. Eu adicionei o seguinte na parte inferior do arquivo lighttpd.conf:

mimetype.assign   += ( ".py" => "text/x-python" )
mimetype.assign   += ( ".pyo" => "application/x-python-code" )
mimetype.assign   += ( ".pyc" => "application/x-python-code" )

aqui estão os meus dois arquivos de configuração:

10-cgi.conf:

# /usr/share/doc/lighttpd/cgi.txt
server.modules += ( "mod_cgi" )

## Warning this represents a security risk, as it allow to execute any file
## with a .pl/.php/.py even outside of /usr/lib/cgi-bin.
#
cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".php" => "/usr/bin/php-cgi",
       ".py"  => "/usr/bin/python"
)

lighttpd.conf:

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
       "mod_rewrite",
#       "mod_cgi",
)

server.document-root        = "/var/www/html"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80


index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc",)
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".cgi", ".py")

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

mimetype.assign   += ( ".py" => "text/x-python" )
mimetype.assign   += ( ".pyo" => "application/x-python-code" )
mimetype.assign   += ( ".pyc" => "application/x-python-code" )

estou apenas sendo absolutamente retardado, ou os scripts de configuração que são executados automaticamente quando o ubuntu instala o lightty são corrompidos em algum lugar?

    
por Kjohnson 08.01.2017 / 09:21

0 respostas