Estou usando o OTRS em um RedHat 6.5 com apache2 e mod_perl2.
Um dos meus servidores (ambiente do Sandbox) tem o seguinte (feedback das informações do yum):
Installed Packages
Name : httpd
Arch : x86_64
Version : 2.2.15
Release : 39.el6
Name : mod_perl
Arch : x86_64
Version : 2.0.4
Release : 11.el6_5
Observamos uma diferença de desempenho com o servidor de desenvolvimento. Então eu coloquei o seguinte script no mesmo diretório que o meu index.pl para ver se mod_perl estava sendo usado:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "Server's environment\n";
foreach ( keys %ENV ) {
print "$_\t$ENV{$_}\n";
}
O Sandbox está faltando duas linhas na parte "ambiente" da saída em comparação com o Dev:
MOD_PERL_API_VERSION 2
MOD_PERL mod_perl / 2.0.4
Então, tenho certeza que o mod_perl não está sendo usado. Mas até onde eu sei, tudo está configurado:
1) /etc/httpd/conf.d/perl.conf contém a linha:
LoadModule perl_module modules / mod_perl.so
2) /etc/httpd/conf/httpd.conf contém um include:
Incluir conf.d / *. Conf
3) este é o arquivo .conf padrão do OTRS, mas não consigo encontrar um erro:
# Setup environment and preload modules
Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl
# Reload Perl modules when changed on disk
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
# general mod_perl2 options
<Location /otrs>
# ErrorDocument 403 /otrs/customer.pl
ErrorDocument 403 /otrs/index.pl
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
PerlOptions +SetupEnv
<IfModule mod_version.c>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
</IfModule>
<IfModule !mod_version.c>
Order allow,deny
Allow from all
</IfModule>
</Location>
# mod_perl2 options for GenericInterface
<Location /otrs/nph-genericinterface.pl>
PerlOptions -ParseHeaders
</Location>
</IfModule>
No entanto, o módulo está carregado:
[user@server httpd]$ httpd -M | grep perl
Syntax OK
perl_module (shared)
[user@server httpd]$ httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
Qualquer um que consiga identificar um erro ou que tenha etapas adicionais para descobrir porque o mod_perl não está sendo usado?