Como posso fazer o apache executar arquivos cgi em todos os diretórios sob ./www?

1

Meu amigo e eu estamos trabalhando em um site de arte e um de nossos scripts funciona bem na maioria dos níveis superiores de ./www, mas uma vez chegamos a ./www/testing/project2/cgi-bin/. Os arquivos cgi parecem retornar apenas 500 erros. Os mesmos scripts funcionam mais acima no diretório. Alguma maneira de persuadir o apache a nos deixar rodar esse arquivo cgi nesses diretórios mais baixos?

    
por Isaac 30.05.2012 / 02:46

1 resposta

1

A configuração padrão do apache2 no Ubuntu habilitará a opção ExecCGI somente para um diretório específico abaixo do seu principal (cgi-bin). No entanto, você pode adicionar essa opção a qualquer diretório que você goste, incluindo o diretório principal.

Encontre a configuração do Apache para esse site. Procure a seção <Directory> relevante que estará em um dos seus arquivos de configuração do host virtual ou, se for em todo o site, em /etc/apache2/sites-available/default . Você pode editá-lo aqui ou colocar sua nova configuração em um arquivo separado em /etc/apache2/conf.d/ .

Você precisará adicionar ExecCGI à sua diretiva Options (ou criar um novo parâmetro Options com +ExecCGI adicionado).

Exemplo para editar uma diretiva de Opções existente:

<Directory /usr/home/joe/www>
    Options Indexes FollowSymLinks Includes ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Exemplo para criar uma nova diretiva Opções para um diretório que substitui o padrão do Apache:

<Directory /usr/home/joe/www>
    Options +ExecCGI
</Directory>
    
por thomasrutter 30.05.2012 / 06:00