Come faccio ad eseguire apache un cgi invece di mostrare il testo?


12

Sto cercando di installare bugzilla 4 su Ubuntu 11.04

Ho aggiunto quanto segue al mio httpd.conf

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

Ma quando vado all'URL, apache mostra il testo di index.cgi invece di eseguire lo script. hai qualche idea su come aggiustarlo?

Risposte:


18

Hai caricato il modulo mod_cgi? Puoi vedere se la directory / etc / apache2 / mods-enabled / ha un link simbolico cgi.load. Se non è presente tale collegamento simbolico, è possibile crearlo eseguendo

sudo a2enmod cgi

e quindi riavviare Apache:

sudo service apache2 restart

Puoi correre man a2enmodper vedere cosa a2enmodfa.


Ho avuto un problema simile su Ubuntu 14.04 in un processo di migrazione da vecchi server. Non avrei mai pensato che cgi sarebbe stato disabilitato di default che non è con il vecchio server. Questo risolto !. Per favore, raccomandali lo stesso su stackoverflow.com/questions/15199198/… . Grazie!
user3215

Ho il link simbolico ma cgi non funziona ancora.
Whitecat,

1

Durante l'installazione di apache 2.4 ho avuto una serie di problemi da risolvere e ho avuto lo stesso problema con il testo mostrato invece di eseguire il cgi. La soluzione non è la stessa di cui sopra, che è la soluzione per apache 2.2

prima scaricherai il file 2.4 gz e decomprimerai. Se si tenta di compilare si lamenterà che l'APR non viene trovato, poiché non è più incluso. Devi scaricare i file apr e apr-util da apache e decomprimerli nella directory in cui stai compilando apache nella sottodirectory denominata srclib, quindi il tuo percorso sarebbe ./httpd/srclib/apr e ./httpd/srclib/apr -util. è inoltre necessario rimuovere tutti i numeri di versione dal nome della directory.

cd nella directory / path / httpd e compilare con

$ ./configure --with-included-apr

La configurazione predefinita sarà PREFIX = / usr / local / apache2

$ make

$ make install

$ vi PREFIX / conf / httpd.conf

Sarà necessario modificare il file httpd.conf per far funzionare cgi's

Nel mio caso ho fatto quanto segue:

cambia Ascolta 80 in Ascolta 127.0.0.1:80

attiva la riga: LoadModule cgid_module modules / mod_cgid.so

modificato SeverName in: ServerName 127.0.0.1:80

ha modificato i percorsi in DocumentRoot e Directory per adattarli al mio sistema

ha cambiato il percorso in ScriptAlias

abilitato la linea Scriptsock cgisock

ha cambiato il percorso in Directory dopo ScriptAlias ​​per adattarlo al mio sistema

abilitato la linea AddHandler cgi-script .cgi

salvato le modifiche e avviato apache con:

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

Spero che questo aiuti chiunque abbia difficoltà con questo;)


Grazie per la condivisione, sto riscontrando problemi a seguire, ti dispiacerebbe organizzare un po 'meglio?
user230910
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.