perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From BOUX Frederik <frederik.b...@ypto.be>
Subject mod_perl installed via yum but not used by application (RedHat 6.5 Apache 2.2.15 mod_perl 2.0.4)
Date Wed, 14 Jan 2015 11:15:18 GMT
Hello,

I am using OTRS on a RedHat 6.5 with apache2 and mod_perl2. We are using these packages (yum
info feedback):

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

We noticed a performance difference with the Development server. I can see in htop that the
apache user is spawning /usr/bin/perl processes to run all the perl scripts instead of handling
them in an httpd process. So I placed the following script in the same directory as my index.pl
to see if mod_perl was being used:

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "Server's environment\n";
foreach ( keys %ENV ) {
print "$_\t$ENV{$_}\n";
}

Dev shows these two variables that are completely missing on Sandbox:

MOD_PERL_API_VERSION 2
MOD_PERL mod_perl/2.0.4

So I'm pretty sure mod_perl isn't being used . But as far as I can tell everything is configured:

1) /etc/httpd/conf.d/perl.conf contains the line: LoadModule perl_module modules/mod_perl.so

2) /etc/httpd/conf/httpd.conf contains an Include: Include conf.d/*.conf

3) this is the default .conf from OTRS but I can't find a mistake:

# 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>



And yet the module is loaded:

[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


Anyone who can spot a mistake or who has additional steps to troubleshoot why mod_perl isn't
being used?

Mime
View raw message