Por que o script Perl CGI não roda?

1

Estou usando o Apache no CentOS e estou tentando executar um script Perl CGI como índice de diretório para que ele seja executado automaticamente como um subdomínio. Eu adicionei DirectoryIndex script.cgi e adicionei uma sub-rotina Directory observando o caminho /var/www/folder habilitando o script a ser executado.

A única maneira de executar o script é se eu também adicionar uma sub-rotina File *.cgi na sub-rotina de diretórios (ou mesmo fora dela) e mover a seção relevante para ela:

    Options +ExecCGI and SetHandler perl-script

Eu ainda estou aprendendo o Apache e me perguntando por que apenas referenciar a pasta não era suficiente. Por que eu também tenho que adicionar uma sub-rotina de arquivo e referência *.cgi ? O script CGI teria sido o único arquivo na pasta.

    
por mike 12.08.2013 / 21:42

1 resposta

0

Como você quer executar um script cgi, o apache2 não precisa saber sobre o perl. Então, eu removerei a diretiva SetHandler .

Para depurá-lo, veja seu /var/log/apache2/error.log ou similar. Seu diretório tem que ser acessível pelo apache. O script que você gosta de executar precisa ter o sinalizador de execução definido.

Exemplo de configuração:

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory "/var/www/cgi-bin/">
            AllowOverride None
            Options +ExecCGI -MultiViews
            Order allow,deny
            Allow from all
    </Directory>
    
por 18.03.2014 / 19:26