Apache2 com mod_perl, ele não segue links simbólicos; Como posso consertar isso?
Pergunta
mod_perl/apache
não parece capaz de seguir links simbólicos.
Em httpd.conf
eu tenho:
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>
Se /var/www/cgi-bin/Test1
é um diretório contendo Test.pm
, então ele funciona. Se é um link simbólico para o diretório que contém Test.pm
(/var/www/cgi-bin/test1/
), então ele falhar:
[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
Eu verifiquei permissões e eles parecem OK.
Obrigado por qualquer ajuda.
Solução
Simples pergunta óbvia,
Você já tentou executar o seu script CGI a partir da linha de comando com o link simbólico no lugar?
Você não deveria também adicionar ao recipiente?
Options +ExecCGI
HTH
aplausos,
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow