LINUX.ORG.RU
решено ФорумAdmin

Не работает perl CGI

 , , ,


0

1

Конфиг апача:

<VirtualHost *:80>
    ServerAdmin user@host

    ServerName host
    ServerAlias www.host

    DocumentRoot /var/www/sitename

    <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    <Directory /cgi-bin>
        Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Тестовый хелловорлд:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
Скрипт лежит в /var/www/sitename/cgi-bin, права на исполнение у него есть. Захожу на host/cgi-bin/test.pl, и вместо исполнения скрипт скачивается. ЧЯДНТ?

★★★★★

У меня

PerlModule ModPerl::Registry
 <Location /perl>
    SetHandler perl-script
    PerlHandler ModPerl::Registry
    PerlSendHeader On
    Options +ExecCGI
  </Location>

alozovskoy ★★★★★ ()

Зарегистрируй рачширение .pl или директорию, подгрузи модуль. В общем читай хауту по mod_perl. Тебе надо всего три строчки добавить. Ответ гуглится на ура.

gh0stwizard ★★★★★ ()

Разобрался

Добавил директиву ScriptAlias /cgi-bin/ /var/www/sitename/cgi-bin/, и оно заработало.

Axon ★★★★★ ()
Ответ на: комментарий от gh0stwizard

Зарегистрируй рачширение .pl или директорию, подгрузи модуль.

Модуль загружен, расширение регистрировать пробовал, не помогло.

Ответ гуглится на ура.

Если бы это было так, я бы сюда не писал.

Axon ★★★★★ ()
Ответ на: комментарий от alozovskoy

Так тоже работает. Пожалуй, так и оставлю. Спасибо за ваш вариант.

Axon ★★★★★ ()
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от kostik87

Читал. Я из этого мана понял, будто ScriptAlias нужен только для того, чтобы выполнять скрипты не из /cgi-bin.

Axon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.