You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Blair Copeland <Co...@cc.admin.unt.edu> on 2005/11/16 03:06:29 UTC

PERL Support Under Apache2

My perl script will not work correctly when run from Apache2 but works
fine from the command line.

Apache2 invokes the perl script to use Net::LDAP to bind through
stunnel to another server.

It works perfectly from the command line but it fails to bind when run
via Apache2 on this Fedora System.
It works great from a Debian System using Apache2.

Actually it looks like it is never even invoking the stunnel process at
all.

I have nothing in /etc/hosts.allow and nothing in /etc/hosts.deny and I
have completely shutdown iptables during my test.

So, with those conditons is there any reason that perl through Apache2
would fail to attach back to the stunnel process?

I have tried this both with and without the mod_perl active in Apache,
so it may be more of a server issue not ALLOWing apache to connect to
the stunnel process, but I thought I would start here and beg for
suggestions.


%uname -a
Linux eval.cecs.unt.edu 2.6.13-1.1532_FC4smp #1 SMP Thu Oct 20 01:51:51
EDT 2005 i686 i686 i386 GNU/Linux

Information from the perl-status

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
    osname=linux, osvers=2.4.21-27.0.2.elsmp,
archname=i386-linux-thread-multi
    uname='linux decompose.build.redhat.com 2.4.21-27.0.2.elsmp #1 smp
wed jan 12 23:35:44 est 2005 i686 i686 i386 gnulinux '
    config_args='-des -Doptimize=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -m32 -march=i386 -mtune=pentium4
-fasynchronous-unwind-tables -Dversion=5.8.6 -Dmyhostname=localhost
-Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc.
-Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
-Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads
-Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db
-Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
-Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly
-Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto
-Ud_endprotoent_r_proto -Ud_endservent_r_proto -Ud_sethostent_r_proto
-Ud_setprotoent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.5
5.8.4 5.8.3'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32
-march=i386 -mtune=pentium4 -fasynchronous-unwind-tables',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='4.0.0 20050516 (Red Hat 4.0.0-6)',
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread
-lc
    perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.5.so, so=so, useshrplib=true,
libperl=libperl.so
    gnulibc_version='2.3.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.8.6/i386-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Package Version Modified File 
Apache2::Const 2.000001 Fri Jun 17 20:51:45 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/Const.pm

Apache2::RequestIO 2.000001 Fri Jun 17 20:52:24 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestIO.pm

Apache2::RequestRec 2.000001 Fri Jun 17 20:52:13 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestRec.pm

Apache2::RequestUtil 2.000001 Fri Jun 17 20:52:05 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestUtil.pm

Apache2::ServerUtil 2.000001 Fri Jun 17 20:51:49 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/ServerUtil.pm

Apache2::Status 3.00 Fri Jun 17 20:52:32 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/Status.pm

Apache2::XSLoader 0.00 Tue Apr 26 13:58:44 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/XSLoader.pm

AutoLoader 5.60 Wed May 18 17:44:54 2005
/usr/lib/perl5/5.8.6/AutoLoader.pm 
Carp 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/Carp.pm 
Config 0.00 Wed May 18 17:46:49 2005
/usr/lib/perl5/5.8.6/i386-linux-thread-multi/Config.pm 
DynaLoader 1.05 Wed May 18 17:44:54 2005
/usr/lib/perl5/5.8.6/i386-linux-thread-multi/DynaLoader.pm 
Exporter 5.58 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/Exporter.pm

File::Spec 3.01 Wed May 18 17:44:54 2005
/usr/lib/perl5/5.8.6/File/Spec.pm 
File::Spec::Unix 1.5 Wed May 18 17:44:54 2005
/usr/lib/perl5/5.8.6/File/Spec/Unix.pm 
ModPerl::Const 2.000001 Fri Jun 17 20:52:16 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/ModPerl/Const.pm

XSLoader 0.02 Wed May 18 17:44:54 2005
/usr/lib/perl5/5.8.6/i386-linux-thread-multi/XSLoader.pm 
constant 1.04 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/constant.pm

mod_perl 2.000001 Fri Jun 17 15:49:02 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/mod_perl2.pm 
mod_perl2 2.000001 Fri Jun 17 15:49:02 2005
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/mod_perl2.pm 
strict 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/strict.pm 
vars 1.01 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/vars.pm 
warnings 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/warnings.pm

warnings::register 1.00 Wed May 18 17:44:55 2005
/usr/lib/perl5/5.8.6/warnings/register.pm 

@INC = 
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/5.8.6
/etc/httpd



Re: PERL Support Under Apache2

Posted by Jonathan Steffan <jo...@bandwidthmarket.com>.
Fedora 4 has SELinux enabled by default. This might be an SELinux issue. 
Run the following command to test without SELinux:

#setenforce 0

If that fixes it, you need to tweak your SELinux settings for Apache. 
You can email me for help if needed. Fair warning, reboot or 'setenforce 
1' because you can rock your SELinux contexts while not enforcing. You 
would then have to relabel... and that might be a pain in the rear.

Jonathan Steffan

Blair Copeland wrote:

>My perl script will not work correctly when run from Apache2 but works
>fine from the command line.
>
>Apache2 invokes the perl script to use Net::LDAP to bind through
>stunnel to another server.
>
>It works perfectly from the command line but it fails to bind when run
>via Apache2 on this Fedora System.
>It works great from a Debian System using Apache2.
>
>Actually it looks like it is never even invoking the stunnel process at
>all.
>
>I have nothing in /etc/hosts.allow and nothing in /etc/hosts.deny and I
>have completely shutdown iptables during my test.
>
>So, with those conditons is there any reason that perl through Apache2
>would fail to attach back to the stunnel process?
>
>I have tried this both with and without the mod_perl active in Apache,
>so it may be more of a server issue not ALLOWing apache to connect to
>the stunnel process, but I thought I would start here and beg for
>suggestions.
>
>
>%uname -a
>Linux eval.cecs.unt.edu 2.6.13-1.1532_FC4smp #1 SMP Thu Oct 20 01:51:51
>EDT 2005 i686 i686 i386 GNU/Linux
>
>Information from the perl-status
>
>Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
>  Platform:
>    osname=linux, osvers=2.4.21-27.0.2.elsmp,
>archname=i386-linux-thread-multi
>    uname='linux decompose.build.redhat.com 2.4.21-27.0.2.elsmp #1 smp
>wed jan 12 23:35:44 est 2005 i686 i686 i386 gnulinux '
>    config_args='-des -Doptimize=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2
>-fexceptions -m32 -march=i386 -mtune=pentium4
>-fasynchronous-unwind-tables -Dversion=5.8.6 -Dmyhostname=localhost
>-Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc.
>-Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
>-Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads
>-Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db
>-Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
>-Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly
>-Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto
>-Ud_endprotoent_r_proto -Ud_endservent_r_proto -Ud_sethostent_r_proto
>-Ud_setprotoent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.5
>5.8.4 5.8.3'
>    hint=recommended, useposix=true, d_sigaction=define
>    usethreads=define use5005threads=undef useithreads=define
>usemultiplicity=define
>    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>    use64bitint=undef use64bitall=undef uselongdouble=undef
>    usemymalloc=n, bincompat5005=undef
>  Compiler:
>    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
>-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
>-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
>    optimize='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32
>-march=i386 -mtune=pentium4 -fasynchronous-unwind-tables',
>    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
>-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
>    ccversion='', gccversion='4.0.0 20050516 (Red Hat 4.0.0-6)',
>gccosandvers=''
>    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>    d_longlong=define, longlongsize=8, d_longdbl=define,
>longdblsize=12
>    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>lseeksize=8
>    alignbytes=4, prototype=define
>  Linker and Libraries:
>    ld='gcc', ldflags =' -L/usr/local/lib'
>    libpth=/usr/local/lib /lib /usr/lib
>    libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread
>-lc
>    perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>    libc=/lib/libc-2.3.5.so, so=so, useshrplib=true,
>libperl=libperl.so
>    gnulibc_version='2.3.5'
>  Dynamic Linking:
>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
>-Wl,-rpath,/usr/lib/perl5/5.8.6/i386-linux-thread-multi/CORE'
>    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
>
>
>Package Version Modified File 
>Apache2::Const 2.000001 Fri Jun 17 20:51:45 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/Const.pm
>
>Apache2::RequestIO 2.000001 Fri Jun 17 20:52:24 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestIO.pm
>
>Apache2::RequestRec 2.000001 Fri Jun 17 20:52:13 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestRec.pm
>
>Apache2::RequestUtil 2.000001 Fri Jun 17 20:52:05 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/RequestUtil.pm
>
>Apache2::ServerUtil 2.000001 Fri Jun 17 20:51:49 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/ServerUtil.pm
>
>Apache2::Status 3.00 Fri Jun 17 20:52:32 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/Status.pm
>
>Apache2::XSLoader 0.00 Tue Apr 26 13:58:44 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/Apache2/XSLoader.pm
>
>AutoLoader 5.60 Wed May 18 17:44:54 2005
>/usr/lib/perl5/5.8.6/AutoLoader.pm 
>Carp 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/Carp.pm 
>Config 0.00 Wed May 18 17:46:49 2005
>/usr/lib/perl5/5.8.6/i386-linux-thread-multi/Config.pm 
>DynaLoader 1.05 Wed May 18 17:44:54 2005
>/usr/lib/perl5/5.8.6/i386-linux-thread-multi/DynaLoader.pm 
>Exporter 5.58 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/Exporter.pm
>
>File::Spec 3.01 Wed May 18 17:44:54 2005
>/usr/lib/perl5/5.8.6/File/Spec.pm 
>File::Spec::Unix 1.5 Wed May 18 17:44:54 2005
>/usr/lib/perl5/5.8.6/File/Spec/Unix.pm 
>ModPerl::Const 2.000001 Fri Jun 17 20:52:16 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/ModPerl/Const.pm
>
>XSLoader 0.02 Wed May 18 17:44:54 2005
>/usr/lib/perl5/5.8.6/i386-linux-thread-multi/XSLoader.pm 
>constant 1.04 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/constant.pm
>
>mod_perl 2.000001 Fri Jun 17 15:49:02 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/mod_perl2.pm 
>mod_perl2 2.000001 Fri Jun 17 15:49:02 2005
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi/mod_perl2.pm 
>strict 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/strict.pm 
>vars 1.01 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/vars.pm 
>warnings 1.03 Wed May 18 17:44:54 2005 /usr/lib/perl5/5.8.6/warnings.pm
>
>warnings::register 1.00 Wed May 18 17:44:55 2005
>/usr/lib/perl5/5.8.6/warnings/register.pm 
>
>@INC = 
>/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
>/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
>/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
>/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
>/usr/lib/perl5/site_perl/5.8.6
>/usr/lib/perl5/site_perl/5.8.5
>/usr/lib/perl5/site_perl/5.8.4
>/usr/lib/perl5/site_perl/5.8.3
>/usr/lib/perl5/site_perl
>/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
>/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
>/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
>/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
>/usr/lib/perl5/vendor_perl/5.8.6
>/usr/lib/perl5/vendor_perl/5.8.5
>/usr/lib/perl5/vendor_perl/5.8.4
>/usr/lib/perl5/vendor_perl/5.8.3
>/usr/lib/perl5/vendor_perl
>/usr/lib/perl5/5.8.6/i386-linux-thread-multi
>/usr/lib/perl5/5.8.6
>/etc/httpd
>
>
>  
>