A primeira coisa (útil) que fiz foi postar um simples script "hello world" no cgi-bin:
#!/usr/bin/perl
# hello.pl -- my first perl script!
print "Content-type: text/html\n\n";
print <<"EOF";
<HTML>
<HEAD>
<TITLE>Hello, world!</TITLE>
</HEAD>
<BODY>
<H1>Hello, world!</H1>
</BODY>
</HTML>
EOF
Ainda proibido. Garantiu que todas as permissões eram 755
para diretórios e 644
para arquivos. Interessado em alterar as propriedades de vários arquivos para e de root:root
, myusername:www-data
.
Alguém na Linode (hospedagem na Web) recomendou o uso para verificar as permissões de arquivo:
sudo apt-get install tree
tree -puf /usr/lib | grep cgi
tree -puf /var/www
Mostra uma árvore de arquivos, propriedades e permissões. Legal!
Registro de erros do Apache verificado:
$ sudo cat /var/log/apache2/error.log
Hmmm:
[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
Postou uma pergunta mais útil , juntou-se à lista de e-mails do Debian e foi encaminhado para os documentos: /usr/share/doc/apache2/README.Debian
então recebeu a seguinte resposta SO:
Isso significa que você não configurou a autorização do seu servidor da Web.
O que você quer fazer é garantir que você tenha algo como
<Directory /usr/local/apache2/cgi-bin>
Require all granted
</Directory>
Note que no Debian, existe um sistema de configuração avançado que teria feito tudo isso para você, se você o tivesse usado; -)
Para isso, primeiro remova (ou comente) as coisas que você já adicionou. Então:
a2enmod cgi
service apache2 restart
Comentei as alterações que o AWStats fez, executei a2enmod
, reiniciei e o 'Hello World' funcionou. Restabeleceu as alterações de configuração do AWStats para etc/apache2/apache2.conf
:
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
Options None
#Options Index FollowSymLinks
AllowOverride All
Require all granted
</Directory>
E há o AWStats no navegador. Impressionante.