Como faço o apache executar um cgi em vez de mostrar o texto?

11

Estou tentando instalar o bugzilla 4 no Ubuntu 11.04

Adicionei o seguinte ao meu httpd.conf

<Directory “/var/www/dev.spincentre/bugzilla”>
   AddHandler cgi-script .cgi
   Options +Indexes +ExecCGI
   DirectoryIndex index.cgi
   AllowOverride Limit
</Directory>

Mas quando vou para a URL, o apache mostra o texto de index.cgi em vez de executar o script. Alguma ideia de como consertar isso?

    
por FigBug 23.07.2011 / 18:14

2 respostas

17

Você carregou o módulo mod_cgi? Você pode ver se o diretório / etc / apache2 / mods-enabled / possui um link simbólico cgi.load . Se não houver tal link simbólico, você pode criá-lo executando

sudo a2enmod cgi

e reinicie o Apache:

sudo service apache2 restart

Você pode executar man a2enmod para ver o que a2enmod faz.

    
por elmicha 23.07.2011 / 19:28
1

Ao instalar o apache 2.4, tive vários problemas para resolver e também tive o mesmo problema com o texto exibido em vez de executar o cgi. A solução não é a mesma que acima, que é a solução para o apache 2.2

primeiro você baixará o arquivo de 2,4 gz e o descompactará. Se você tentar compilar, ele reclamará que o APR não foi encontrado, já que não está mais incluído. Você precisa fazer o download dos arquivos apr e apr-util do apache e descompactá-los no diretório em que você está compilando o apache no subdiretório srclib, para que seu caminho seja ./httpd/srclib/apr e ./httpd/srclib/apr -util. você também deve remover qualquer número de versão do nome do diretório.

cd para o seu diretório / path / httpd e a compilação com

$ ./configure --with-included-apr

Você configará o padrão PREFIX = / usr / local / apache2

$ make

$ make install

$ vi PREFIXO / conf / httpd.conf

Você precisará editar o seu arquivo httpd.conf para fazer com que o cgi seja executado

No meu caso, fiz o seguinte:

mudar Ouvir 80 Ouvir 127.0.0.1:80

ativa a linha: LoadModule cgid_module modules / mod_cgid.so

alterou o SeverName para: Nome_do_servidor 127.0.0.1:80

alterou os caminhos em DocumentRoot e Directory para se adequarem ao meu sistema

alterou o caminho no ScriptAlias

ativou a linha Scriptsock cgisock

mudou o caminho no diretório após o ScriptAlias para se adequar ao meu sistema

ativou a linha AddHandler cgi-script .cgi

salvou as alterações e iniciou o apache com:

$ / usr / local / apache2 / bin / apachectl -k start

Espero que isso ajude quem está lutando com isso;)

    
por Peter Trevathan 15.05.2015 / 03:52

Tags