Как заставить apache запускать cgi вместо показа текста?

10

Я пытаюсь установить bugzilla 4 на ubuntu 11.04

Я добавил следующее к моему httpd.conf

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

Но когда я перехожу к URL-адресу, apache показывает текст index.cgi вместо выполнения скрипта. Любая идея, как это исправить?

    
задан FigBug 23.07.2011 в 16:14
источник

2 ответа

17

Вы загрузили модуль mod_cgi? Вы можете увидеть, есть ли каталог / etc / apache2 / mods-enabled / имеет символическую ссылку cgi.load . Если такой символической ссылки нет, ее можно создать, запустив

sudo a2enmod cgi

, а затем перезапустите Apache:

sudo service apache2 restart

Вы можете запустить man a2enmod , чтобы узнать, что делает a2enmod .

    
ответ дан elmicha 23.07.2011 в 17:28
1

При установке apache 2.4 у меня было несколько проблем для решения, а также была проблема с текстом, а вместо запуска cgi. Решение не такое, как указано выше, это решение для apache 2.2

сначала вы загрузите файл 2.4 gz и распакуете. Если вы попытаетесь скомпилировать, он будет жаловаться, что APR не найден, поскольку он больше не включен. Вам нужно загрузить файлы apr и apr-util из apache и распаковать их в каталог, в котором вы собираете apache, в подкаталог srclib, поэтому ваш путь будет ./httpd/srclib/apr и ./httpd/srclib/apr -util. вы также должны удалить любые номера версий из имени каталога.

cd в каталог / path / httpd и скомпилировать с помощью

$ ./configure --with-included-apr

Конфигурация по умолчанию будет равна PREFIX = / usr / local / apache2

$ make

$ make install

$ vi PREFIX / conf / httpd.conf

Вам нужно будет отредактировать файл httpd.conf, чтобы заставить вас cgi запускать

В моем случае я сделал следующее:

change Listen 80 to Listen 127.0.0.1:80

активировать строку: LoadModule cgid_module modules / mod_cgid.so

изменилось имя SeverName: ServerName 127.0.0.1:80

изменил пути в DocumentRoot и Directory в соответствии с моей системой

изменил путь в ScriptAlias ​​

включена строка Scriptsock cgisock

изменил путь в Каталоге после ScriptAlias ​​в соответствии с моей системой

включил строку AddGandler cgi-script .cgi

сохранили изменения и запустили apache с помощью:

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

Надеюсь, это поможет любому, кто борется с этим;)

    
ответ дан Peter Trevathan 15.05.2015 в 01:52