You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Beginner <de...@sciencephoto.com> on 2007/02/28 18:00:36 UTC

Have I got mod_perl installed?

Hi,

I am a bit confused.

If I do:
telnet localhost 80
....

I get:
HTTP/1.1 403 Forbidden
Date: Wed, 28 Feb 2007 16:53:29 GMT
Server: Apache/2.0.52 (Fedora)  		<- Note no mod_perl here
Accept-Ranges: bytes
Content-Length: 3931
Connection: close
Content-Type: text/html; charset=UTF-8


Yet I have a number of mod_perl handlers that appear to work fine. I 
have /usr/lib/httpd/modules/mod_perl.so which (presumably) get loaded 
via a ~/conf.d/perl.conf.

Also my package manager (yum) says that mod_perl is installed as 
version 1.99_16-3.  My httpd is Server version: Apache/2.0.52.

My main problem is that other modules are not seeing the mod_perl 
installation, EG: SOAP::Apache.

Is my configuration messed up? Do I need to start again?
TIA,
Dp.


Re: Have I got mod_perl installed?

Posted by Jordan McLain <jo...@gmail.com>.
I had the same problem with 0.69... I just used 0.66 instead:

http://sourceforge.net/project/downloading.php?groupname=soaplite&filename=SOAP-Lite-0.66.tar.gz&use_mirror=superb-west

Jordan Mclain
eCarList.com

On 2/28/07, Juan Jose Natera <na...@gmail.com> wrote:
>
> > I was trying `perl -MCPAN -e 'install SOAP::Apache'.
>
> That actually tries to install SOAP::Lite
>
> > t/06-modules...........NOK 15# Failed test 15 in t/06-modules.t at
> > line 24 fail #14
> > #  t/06-modules.t line 24 is:   $@ =~ /(Can\'t
> > locate)|(XML::Parser::Lite requires)|(this is only version)|(load
> > mod_perl)/
>
> It seems SOAP::Lite once installed knows how to handle the different
> versions of mod_perl (including 1.99_X).
>
> However, when you attempt to install SOAP::Lite if you tell it you
> want an Apache/ModPerl SOAP server, it tries to install mod_perl 1.2X,
> so my suggestion would be to tell it you _don't_ want Apache/mod_perl
> support, it will install the transport modules anyway.
>
>
> > the load mod_perl is what concerns me and during the install it said
> > that mod_perl wasn't installed.
> >
> > I am tempted to install from source but I am nervous about crippling
> > my installation as it's a live system.
>
> Tell CPAN where you want your modules installed:
>
> # perl -MCPAN -e shell
> cpan> o conf makepl_arg PREFIX=/usr/local/whatever
> cpan> o conf commit
>
> Then you can adjust @INC via your preferred method.
>
> Still, I would recommend testing it in another machine and asking at
> the SOAP::Lite users mailing list, since that's where the problem
> seems to be.
>
> Juan
>

Re: Have I got mod_perl installed?

Posted by Juan Jose Natera <na...@gmail.com>.
> I was trying `perl -MCPAN -e 'install SOAP::Apache'.

That actually tries to install SOAP::Lite

> t/06-modules...........NOK 15# Failed test 15 in t/06-modules.t at
> line 24 fail #14
> #  t/06-modules.t line 24 is:   $@ =~ /(Can\'t
> locate)|(XML::Parser::Lite requires)|(this is only version)|(load
> mod_perl)/

It seems SOAP::Lite once installed knows how to handle the different
versions of mod_perl (including 1.99_X).

However, when you attempt to install SOAP::Lite if you tell it you
want an Apache/ModPerl SOAP server, it tries to install mod_perl 1.2X,
so my suggestion would be to tell it you _don't_ want Apache/mod_perl
support, it will install the transport modules anyway.


> the load mod_perl is what concerns me and during the install it said
> that mod_perl wasn't installed.
>
> I am tempted to install from source but I am nervous about crippling
> my installation as it's a live system.

Tell CPAN where you want your modules installed:

# perl -MCPAN -e shell
cpan> o conf makepl_arg PREFIX=/usr/local/whatever
cpan> o conf commit

Then you can adjust @INC via your preferred method.

Still, I would recommend testing it in another machine and asking at
the SOAP::Lite users mailing list, since that's where the problem
seems to be.

Juan

Re: Have I got mod_perl installed?

Posted by Beginner <de...@sciencephoto.com>.
(sorry not sure if this is top or bottom post list)

My thought was that my apache is: Server version: Apache/2.0.52 and 
my mod_perl is (according to yum):

mod_perl.i386        1.99_16-3              installed

>From what I've read this shouldn't work.

On 28 Feb 2007 at 9:51, Juan Jose Natera wrote:
 
> LoadModule perl_module modules/mod_perl.so

Yes perl.conf has this line.
> 

> Is that part of SOAP::Lite? if so, what version? also what error
> exactly are you getting?

I was trying `perl -MCPAN -e 'install SOAP::Apache'.

There were test failures:

t/06-modules...........NOK 15# Failed test 15 in t/06-modules.t at 
line 24 fail #14
#  t/06-modules.t line 24 is:   $@ =~ /(Can\'t 
locate)|(XML::Parser::Lite requires)|(this is only version)|(load 
mod_perl)/

the load mod_perl is what concerns me and during the install it said 
that mod_perl wan't installed.

I am tempted to install from source but I am nervous about crippling 
my installation as it's a live system.

Thanx,
Dp.
 





Re: Have I got mod_perl installed?

Posted by Juan Jose Natera <na...@gmail.com>.
Hi,

> If I do:
> telnet localhost 80
> ....
>
> I get:
> HTTP/1.1 403 Forbidden
> Date: Wed, 28 Feb 2007 16:53:29 GMT
> Server: Apache/2.0.52 (Fedora)                  <- Note no mod_perl here

This can be configured with the Apache directive ServerTokens, so it's
not weird.

[snip]

> Yet I have a number of mod_perl handlers that appear to work fine. I
> have /usr/lib/httpd/modules/mod_perl.so which (presumably) get loaded
> via a ~/conf.d/perl.conf.

If you have a line like the one below in your httpd.conf (or a file
Include'd by it), then you have mod_perl enabled:

LoadModule perl_module modules/mod_perl.so

If you are _certain_ your handlers are working, then it's probably
there somewhere.

> Also my package manager (yum) says that mod_perl is installed as
> version 1.99_16-3.  My httpd is Server version: Apache/2.0.52.
>
> My main problem is that other modules are not seeing the mod_perl
> installation, EG: SOAP::Apache.

Is that part of SOAP::Lite? if so, what version? also what error
exactly are you getting?

regards,

JJ

Re: Have I got mod_perl installed?

Posted by Beginner <de...@sciencephoto.com>.
On 1 Mar 2007 at 8:40, Perrin Harkins wrote:

> On 3/1/07, Beginner <de...@sciencephoto.com> wrote:
> > I have a number of handler configured like so:
> >
Apache2::Const qw(OK DECLINED NOT_FOUND);
> 
> I don't see how this could work if you're really running mod_perl
> 1.99.  There is no module by that name in 1.99.
> 
> > Would any one recommend a course of action? Should I remove the
> > binary RPMs that my package manager installed and install from
> > source?
> 
> It is a good idea to use the latest mod_perl release, and it's not
> hard to compile.  I usually suggest compiling your own rather than
> using an old one from your vendor.
> 

I had started going down the road of compiling from source. More 
interesting things popped up. ExtUtils reports that mod_perl2 -- 
1.999022 is installed. mod_perl2?

There are also three mod_perls under my lib dir:

~perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/mod_perl2
~perl5/vendor_perl/5.8.5/i386-linux-thread-multi/mod_perl.pm
~perl5/vendor_perl/5.8.5/i386-linux-thread-multi/auto/mod_perl

This can't be good!

When I tried to do `perl Makefile.PL MP_APXS=/path/to/apxs it 
complained:

mod_perl/1.99_16 installation detected... not ok

Cannot install mod_perl/2.0.3 on top of mod_perl/1.99_16
due to a major API change between mod_perl 1.999_21 and 1.999_22.

Conflicting file: /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-
multi/Apache2.pm
Conflicting dir: /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-
multi/Apache
...snip

I should upgrade, or rather remove both Apache and all traces of 
mod_perl and start again. My problem is that I do have a few handlers 
that work and are used a bit throughout the day. There will no doubt 
be some modify to do to these to get them up again.

Thanx,
Dp.


Re: Have I got mod_perl installed?

Posted by Foo JH <jh...@extracktor.com>.
If the signature is on and you don't see it, chances are it's not loaded 
properly.

Beginner wrote:
> Lot's of replies, thanx.
>
> On 1 Mar 2007 at 10:50, Foo JH wrote:
>   
>> To be really sure, turn on the server signature and see what your telnet 
>> trick gives you.
>>
>> amend in your http.conf:
>> ServerSignature on
>>     
>
> ServerSignature is already on:
>
> httpd.conf:ServerSignature On
>
> Can we draw any conclusions from this?
>
>   
>> Beginner wrote:
>>     
>>> Hi,
>>>
>>> I am a bit confused.
>>>
>>> If I do:
>>> telnet localhost 80
>>> ....
>>>
>>> I get:
>>> HTTP/1.1 403 Forbidden
>>> Date: Wed, 28 Feb 2007 16:53:29 GMT
>>> Server: Apache/2.0.52 (Fedora)  		<- Note no mod_perl here
>>> Accept-Ranges: bytes
>>> Content-Length: 3931
>>> Connection: close
>>> Content-Type: text/html; charset=UTF-8
>>>       
> ...
>
> I have a number of handler configured like so:
>
> <Location /calendar>
>         SetHandler perl-script
> 	  PerlHandler MY::calendar
> 	  Order...
> </Location>
>
> These work fine and use the following pragmas;
>
> package MY::calendar;
>
> use Apache2::Const qw(OK DECLINED NOT_FOUND);
> use APR::Table;
> use Apache2::RequestUtil ();
> use strict;
> use Calendar::Simple;
> use Date::Calc qw(Month_to_Text);
> use CGI;
> use Template;
> use warnings;
>
> $| = 1;
>
> sub handler {
> ...
>
> The issue with SOAP::Lite is interesting. During the install you get 
> a list of transports;
>
> ...
> Standalone HTTP server   [*] HTTP::Daemon   [ yes ]
> Apache/mod_perl server   [ ] Apache              [ no ]
> FastCGI server                [ ] FCGI                  [ no ]
> POP3 server                   [ ] MIME::Parser      [ no ]            
> ...
>
> I'm not sure if the formating will show it here but SOAP::Lite 
> doesn't see mod_perl installed. However is does install as does 
> SOAP::Apache so presumbly I can use in the same way I do with my 
> other modules. 
>
> Still I have the feeling that my installation is not standard and the 
> mis-match in version is a concern.
>
> Would any one recommend a course of action? Should I remove the 
> binary RPMs that my package manager installed and install from 
> source?
>
> Thanx,
> Dp.
>
>   


Re: Have I got mod_perl installed?

Posted by Perrin Harkins <ph...@gmail.com>.
On 3/1/07, Beginner <de...@sciencephoto.com> wrote:
> I have a number of handler configured like so:
>
> <Location /calendar>
>         SetHandler perl-script
>           PerlHandler MY::calendar
>           Order...
> </Location>

Then mod_perl is installed.

> use Apache2::Const qw(OK DECLINED NOT_FOUND);

I don't see how this could work if you're really running mod_perl
1.99.  There is no module by that name in 1.99.

> Would any one recommend a course of action? Should I remove the
> binary RPMs that my package manager installed and install from
> source?

It is a good idea to use the latest mod_perl release, and it's not
hard to compile.  I usually suggest compiling your own rather than
using an old one from your vendor.

- Perrin

Re: Have I got mod_perl installed?

Posted by Beginner <de...@sciencephoto.com>.
Lot's of replies, thanx.

On 1 Mar 2007 at 10:50, Foo JH wrote:
> To be really sure, turn on the server signature and see what your telnet 
> trick gives you.
> 
> amend in your http.conf:
> ServerSignature on

ServerSignature is already on:

httpd.conf:ServerSignature On

Can we draw any conclusions from this?

> Beginner wrote:
> > Hi,
> >
> > I am a bit confused.
> >
> > If I do:
> > telnet localhost 80
> > ....
> >
> > I get:
> > HTTP/1.1 403 Forbidden
> > Date: Wed, 28 Feb 2007 16:53:29 GMT
> > Server: Apache/2.0.52 (Fedora)  		<- Note no mod_perl here
> > Accept-Ranges: bytes
> > Content-Length: 3931
> > Connection: close
> > Content-Type: text/html; charset=UTF-8
...

I have a number of handler configured like so:

<Location /calendar>
        SetHandler perl-script
	  PerlHandler MY::calendar
	  Order...
</Location>

These work fine and use the following pragmas;

package MY::calendar;

use Apache2::Const qw(OK DECLINED NOT_FOUND);
use APR::Table;
use Apache2::RequestUtil ();
use strict;
use Calendar::Simple;
use Date::Calc qw(Month_to_Text);
use CGI;
use Template;
use warnings;

$| = 1;

sub handler {
...

The issue with SOAP::Lite is interesting. During the install you get 
a list of transports;

...
Standalone HTTP server   [*] HTTP::Daemon   [ yes ]
Apache/mod_perl server   [ ] Apache              [ no ]
FastCGI server                [ ] FCGI                  [ no ]
POP3 server                   [ ] MIME::Parser      [ no ]            
...

I'm not sure if the formating will show it here but SOAP::Lite 
doesn't see mod_perl installed. However is does install as does 
SOAP::Apache so presumbly I can use in the same way I do with my 
other modules. 

Still I have the feeling that my installation is not standard and the 
mis-match in version is a concern.

Would any one recommend a course of action? Should I remove the 
binary RPMs that my package manager installed and install from 
source?

Thanx,
Dp.


Re: Have I got mod_perl installed?

Posted by Foo JH <jh...@extracktor.com>.
To be really sure, turn on the server signature and see what your telnet 
trick gives you.

amend in your http.conf:
ServerSignature on

Beginner wrote:
> Hi,
>
> I am a bit confused.
>
> If I do:
> telnet localhost 80
> ....
>
> I get:
> HTTP/1.1 403 Forbidden
> Date: Wed, 28 Feb 2007 16:53:29 GMT
> Server: Apache/2.0.52 (Fedora)  		<- Note no mod_perl here
> Accept-Ranges: bytes
> Content-Length: 3931
> Connection: close
> Content-Type: text/html; charset=UTF-8
>
>
> Yet I have a number of mod_perl handlers that appear to work fine. I 
> have /usr/lib/httpd/modules/mod_perl.so which (presumably) get loaded 
> via a ~/conf.d/perl.conf.
>
> Also my package manager (yum) says that mod_perl is installed as 
> version 1.99_16-3.  My httpd is Server version: Apache/2.0.52.
>
> My main problem is that other modules are not seeing the mod_perl 
> installation, EG: SOAP::Apache.
>
> Is my configuration messed up? Do I need to start again?
> TIA,
> Dp.
>
>