Apache2 с mod_perl, он не следует по символическим ссылкам; Как я могу это исправить? - PullRequest
2 голосов
/ 06 апреля 2009

mod_perl/apache не может следовать по символическим ссылкам.

В httpd.conf У меня есть:

Options FollowSymLinks
<VirtualHost *>
        ServerName cas.devserver.com
        ServerAlias cas.devserver.com
        ServerAdmin webmaster@devserver.com
        DocumentRoot /var/www/htdocs/abc/def
        PerlSwitches -I/var/www/cgi-bin
        PerlSendHeader On
        <Location />
                Options FollowSymLinks
                PerlSendHeader On
                PerlHandler Test1::Test
                SetHandler perl-script
                Order deny,allow
                Allow from all
        </Location>
</VirtualHost>

Если /var/www/cgi-bin/Test1 - это каталог, содержащий Test.pm, то он работает. Если это символическая ссылка на каталог, содержащий Test.pm (/var/www/cgi-bin/test1/), то произойдет сбой:

[error] [client xxx.xxx.xxx.xxx] failed to resolve handler `Test1::Test':
      Can't locate Test1/Test.pm in @INC
      (@INC contains: /var/www/cgi-bin/ <snip> /usr/lib/perl5/5.8.8 . /etc/httpd)
      at (eval 9) line 3.\n

Я проверил разрешения, и они, кажется, в порядке.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 06 апреля 2009

Простой очевидный вопрос,

Вы пытались запустить скрипт cgi из командной строки с символической ссылкой?

Разве вы не должны добавить в контейнер?

Options +ExecCGI

НТН

ура

...