Isso significa que o servidor web não sabe que neste local, um arquivo que termine com '.cgi' deve ser executado em vez de ser passado diretamente para o navegador. Você precisa configurar o servidor da Web de tal maneira que o diretório no qual nph-proxy.cgi
reside ou a extensão seja considerado automaticamente como programas. As especificidades da configuração dependerão do seu servidor web (Apache, lighttpd etc.).
Ou tente mover o arquivo para um diretório existente (como /var/server/www/cgi-bin/
) que já esteja configurado para executáveis.
Para configurar o Apache, abra o arquivo (com sudo ou gksu) /etc/apache/apache2.conf
:
gksu gedit /etc/apache/apache2.conf
Pesquise se existe uma linha como esta:
ScriptAlias /cgi-bin/ /some/directory/or/another/cgi-bin/
Se sim, crie esse diretório ( sudo mkdir /some/directory/blah/blah/cgi-bin/
) e coloque seu script CGI lá. Caso contrário, adicione esta linha. Então, quando você chama o URL
http://your.machine.blah.foo/cgi-bin/nph-proxy.cgi
será executado.
Como alternativa, você pode permitir que os scripts CGI sejam executados em um diretório específico. Coloque o seguinte no seu arquivo de configuração:
<Directory /the/directory/where/your/script/is/>
Options +ExecCGI
</Directory>
AddHandler cgi-script cgi pl
(verifique se a linha AddHandler já está na sua configuração!)