mod_perl is in .conf file, but how to verify it"s loaded?

mod_perl is in .conf file, but how to verify it"s loaded?

am 23.02.2007 22:59:33 von Bennett Haselton

I have installed mod_perl on my CentOS 4 machine. I can tell:

[root@SP4659a ~]# perl -Mmod_perl -le 'print mod_perl->VERSION'
1.9916


I would *assume* that the Web server has loaded it, because I
have the file:
/etc/httpd/conf.d/perl.conf
and my main /etc/httpd/conf/httpd.conf file includes the line:
Include conf.d/*.conf


And I have restarted the server since installing mod_perl, and it
restarted with no errors. (Although I think mod_perl was probably
actually installed before I ran the "yum install mod_perl"
command.)


But I'd like to verify directly, from within a Perl script or from
HTTP headers or something, that the Apache webserver has loaded
mod_perl correctly -- how do I do that?


One source:
http://www.debian-administration.org/articles/216
said that I could telnet to port 80 of the machine and get the "/"
page, and if mod_perl was installed, it would be mentioned in the
http
headers. But I don't see it:


[root@SP4659a ~]# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
Date: Fri, 23 Feb 2007 21:13:03 GMT
Server: Apache/2.0.52 (CentOS)
Last-Modified: Thu, 11 Jan 2007 00:13:05 GMT
ETag: "908001-65-a4a5a640"
Accept-Ranges: bytes
Content-Length: 101
Connection: close
Content-Type: text/html; charset=UTF-8



[etc.]


I have also installed a Perl script that prints the values of all
environment variables, and I don't see it there either:
http://www.amazonshield.com/cgi-bin/z1/nph-showall.cgi


How can I verify that it's loaded? Or does this mean it's not
actually loaded properly?

Re: mod_perl is in .conf file, but how to verify it"s loaded?

am 25.02.2007 19:07:03 von Juha Laiho

bennett@peacefire.org said:
>I have installed mod_perl on my CentOS 4 machine.
....
>I would *assume* that the Web server has loaded it
....
>And I have restarted the server since installing mod_perl, and it
>restarted with no errors. (Although I think mod_perl was probably
>actually installed before I ran the "yum install mod_perl"
>command.)
....
>But I'd like to verify directly, from within a Perl script or from
>HTTP headers or something, that the Apache webserver has loaded
>mod_perl correctly -- how do I do that?

You create and activate some simple mod_perl functionality, such as
a script to be parsed by mod_perl.

>One source:
>http://www.debian-administration.org/articles/216
>said that I could telnet to port 80 of the machine and get the "/"
>page, and if mod_perl was installed, it would be mentioned in the
>http
>headers. But I don't see it:

.... most possibly because current web servers tend to disable that
kinds of information leaks. There's a directive in httpd.conf limiting
the amount of server information disclosed in response headers.

>I have also installed a Perl script that prints the values of all
>environment variables, and I don't see it there either:
>http://www.amazonshield.com/cgi-bin/z1/nph-showall.cgi

I'd guess this (/cgi-bin/ directory) is set to be executed using the
CGI mechanism, not via mod_perl. Thus the scripts are given a pure
CGI environment, not something spiced up with mod_perl.

>How can I verify that it's loaded? Or does this mean it's not
>actually loaded properly?

Either by creating something parsed by mod_perl, or by turning on
mod_info for your server, and checking the loaded modules from there.
--
Wolf a.k.a. Juha Laiho Espoo, Finland
(GC 3.0) GIT d- s+: a C++ ULSH++++$ P++@ L+++ E- W+$@ N++ !K w !O !M V
PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++
"...cancel my subscription to the resurrection!" (Jim Morrison)