Eu sou novo na configuração do Sysadmin e do Apache. Tentando fazer o AWStats funcionar, mas na solução de problemas, tentei executar um simples script Hello World (saída html) na porta 8888 e bati em uma parede do 403 Forbidden.
Não é o script:
mikekilmer@glitchbox:/var/www/html$ perl /usr/lib/cgi-bin/hello.pl
Content-type: text/html
<HTML>
<HEAD>
<TITLE>Hello, world!</TITLE>
</HEAD>
<BODY>
<H1>Hello, world!</H1>
</BODY>
</HTML>
Shebang corresponde ao caminho para perl: #!/usr/bin/perl
Estas são as principais configurações:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
As permissões de diretório e arquivo são 755 e 644, sendo a propriedade root: root (nos arquivos cgi-bin e perl).
O html / index.html do Apache é exibido:
link
Isso é o que o log de erros diz:
[Sat Jun 06 05:53:24.412867 2015] [authz_core:error] [pid 28374:tid 140381836453632] [client 108.205.62.183:55886] AH01630: client denied by server configuration: /usr/local/apache2
Acho que talvez esteja faltando algo com o Configurando o Apache para permitir CGI.
Módulo
1. Nota: Se o Apache foi construído com suporte a módulos compartilhados, você precisa garantir que o módulo esteja carregado; no seu apache2.conf você precisa ter certeza de que a diretiva LoadModule não foi comentada. Uma diretiva configurada corretamente pode ser assim:
LoadModule cgi_module modules/mod_cgi.so
Não sei se foi criado com suporte a módulos compartilhados. Instalado com o apt-get. Não encontrando a linha LoadModule no arquivo de configuração. Se eu adicionar a linha acima da linha acima a apache2.conf
, o Apache não reiniciará.
ScriptAlias
2. Há um ScriptAlias no arquivo de configuração, colocado lá pelo AWStats. A adição desta diretiva ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
não pareceu fazer nada. Eu até tentei mover meu hello (ou eu deveria dizer hellp) script em /usr/local/apache2/cgi-bin/
ainda 403.
Usando explicitamente as opções
Até tentei adicionar
Options +ExecCGI
AddHandler cgi-script .cgi
para a diretiva <Directory /var/www/>
.
Tudo sem sucesso. Alguma idéia para o próximo passo?