Eu configurei um novo servidor Apache 2.2.15 no Windows Server 2008 R2 com mod_perl (mod perl v2.0.4/perl v5.10.1). Mod_perl e Perl 5.10 foram instalados e carregados sem problemas. No entanto, apesar da minha configuração, o módulo mod_perl não consegue reconhecer e executar meu arquivo .pl, optando por imprimir a fonte perl. O que fiz de errado e como faço para que o perl processe meu script pl em vez de enviá-lo ao cliente?
Minha configuração:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\Program Files (x86)\AWStats\wwwroot"
ServerName analysis.example.com
ServerAlias analysis.example.com
ErrorLog "logs/analysis.example.com-error.log"
CustomLog "logs/analysis.example.com-access.log" common
DirectoryIndex index.php index.htm index.html
PerlSwitches -T
<Directory "C:\Program Files (x86)\AWStats\wwwroot">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
<FilesMatch "\.pl$">
SetHandler perl-script
# #PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</FilesMatch>
</directory>
</VirtualHost>
Muito obrigado pela ajuda!
Responder1
Presumo que você tenha olhadoesta página? Você tem certeza de que está carregando o mod_perl corretamente?
Não tenho certeza se isso importa mais, mas pelo menos você costumava precisar usar barras para caminhos no Apache, então, por exemplo, mude "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin"
para "C:/Program Files (x86)/AWStats/wwwroot/cgi-bin"
. Também notei que o seu </directory>
não está capitalizado, não tenho certeza se isso também importa.
Você também pode tentar usar diretivas em vez de diretivas, para que elas mudem para "" e "", respectivamente.