Як змусити Apache запустити cgi замість показу тексту?


12

Я намагаюся встановити 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 замість виконання сценарію. Будь-яка ідея, як це виправити?

Відповіді:


18

Ви завантажили модуль mod_cgi? Ви можете бачити, чи каталог / etc / apache2 / mods-enabled / має симпосилання cgi.load. Якщо такого символьного посилання немає, ви можете створити його, запустивши

sudo a2enmod cgi

а потім перезапустіть Apache:

sudo service apache2 restart

Ви можете бігти, man a2enmodщоб побачити, що a2enmodробить.


У мене була подібна проблема на Ubuntu 14.04 під час міграції зі старих серверів. Я ніколи не думав, що cgi буде відключена за замовчуванням, чого немає на старому сервері. Це виправило! Plz рекомендуємо їм те ж саме на stackoverflow.com/questions/15199198 / ... . Дякую!
user3215

У мене є симпосилання, але cgi все ще не працює.
Whitecat

1

Під час встановлення apache 2.4 у мене було вирішено декілька питань, а також була та сама проблема з текстом, який відображався замість запуску cgi. Розв’язок не такий, як описано вище, що є рішенням для apache 2.2

спочатку ви завантажите файл 2,4 гц і розпакуйте. Якщо ви спробуєте її скласти, то скарга не буде знайдена, що APR не знайдена, оскільки вона більше не включена. Вам потрібно завантажити файли apr та apr-util з apache і розпакувати їх у каталог, у якому ви збираєте apache, у підкаталог, який називається srclib, таким чином ваш шлях буде ./httpd/srclib/apr та ./httpd/srclib/apr -утиль. Ви також повинні видалити будь-які номери версій із імені каталогу.

cd до каталогу / path / httpd та компіляції з

$ ./configure - з включеним-апр

Ви налаштуєте за замовчуванням PREFIX = / usr / local / apache2

$ зробити

$ make install

$ vi PREFIX / conf / httpd.conf

Вам потрібно буде відредагувати файл httpd.conf, щоб змусити вас працювати cgi

У моєму випадку я зробив наступне:

зміни Слухати 80 для прослуховування 127.0.0.1:80

активуйте рядок: LoadModule cgid_module module / mod_cgid.so

змінив SeverName на: ServerName 127.0.0.1:80

змінив шляхи в DocumentRoot і Directory відповідно до моєї системи

змінив шлях у ScriptAlias

включена лінія ccriisock Scriptsock

змінив шлях у Каталозі після ScriptAlias ​​відповідно до моєї системи

включив рядок cd-скрипт .cgi AddHandler

зберегла зміни та запустила apache за допомогою:

$ / usr / local / apache2 / bin / apachectl -k початок

Сподіваюся, це допомагає тому, хто бореться з цим;)


Дякую за те, що ви поділилися, у мене виникають проблеми з дотриманням, чи не проти це б організувати?
user230910
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.