Trying to install mod_perl 2.0 on SUSE Linux 2.6 (Dual Processor)

2007-07-03 Thread David Weintraub
I am attempting to install mod_perl on a SUSE Linux 2.6.6-7 dual
processor machine. It already has Apache 2.0.49 and Perl 5.8.3
installed. In fact, it already had perl_mod 1.x installed, but I decided
to install perl_mod 2.0.3.

I copied  mod_perl.so to /usr/lib64/apache2/mod_perl.so and made a
symbolic link to /usr/lib64/apache2-prefork/mod_perl.so. I modified
/etc/sysconfig/apache2 so that APACHE_MODULES includes perl.

I was able to successfully install Mason 1.36 and mod_perl 2.0.3, I
tried to go through the documentation, and found out about the renaming.
However, when I restarted Apache, I got the error that
/etc/apache2/mod_perl-startup.pl failed.

I eliminated the use Apache2 (); statement and changed all instances
of Apache to Apache2 (which I believe I was suppose to do). I then
had problems with the ENV statement, changed it to look for
$ENV(MOD_PERL), and tried Apache again, but failed because
$ENV{MOD_PERL} is not defined.

Here's the /etc/apache2/mod_perl-startup.pl I am using:


$ENV{MOD_PERL} =~ /^CGI-Perl/ or die MOD_PERL not used!;

#use Apache2 ();

use lib qw(/srv/www/perl-lib);

# enable if the mod_perl 1.0 compatibility is needed
# use Apache::compat ();

use ModPerl::Util (); #for CORE::GLOBAL::exit

#use ModPerl::RequestRec ();
#use ModPerl::RequestIO ();
#use ModPerl::RequestUtil ();
use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::RequestUtil ();

#use Apache2::Server ();
use Apache2::ServerUtil ();
use Apache2::Connection ();
use Apache2::Log ();

use APR::Table ();

use ModPerl::Registry ();

use Apache2::Const -compile = ':common';
use APR::Const -compile = ':common';

1;

Not even too sure what else I need to add. In fact, I am not even too
sure how Apache starts up. There's two scripts /etc/init.d/apache and
/etc/init.d/apache2, but there is nothing in /etc/init.d/rc.3 that calls
either of those scripts.

--
David Weintraub
[EMAIL PROTECTED] 


Re: Trying to install mod_perl 2.0 on SUSE Linux 2.6 (Dual Processor)

2007-07-03 Thread Rafael Caceres

On Tue, 2007-07-03 at 09:43 -0400, David Weintraub wrote:
 I am attempting to install mod_perl on a SUSE Linux 2.6.6-7 dual
 processor machine. It already has Apache 2.0.49 and Perl 5.8.3
 installed. In fact, it already had perl_mod 1.x installed, but I decided
 to install perl_mod 2.0.3.
 
The included perl with SLES is threaded, you probably want to build your
own perl. As for Apache 2, my advice is to also build it from source
yourself.

 I copied  mod_perl.so to /usr/lib64/apache2/mod_perl.so and made a
 symbolic link to /usr/lib64/apache2-prefork/mod_perl.so. I modified
 /etc/sysconfig/apache2 so that APACHE_MODULES includes perl.
 
SLES does not include/have the Apache2 source, so how did you build
mod_perl.so?

 I was able to successfully install Mason 1.36 and mod_perl 2.0.3, I
 tried to go through the documentation, and found out about the renaming.
 However, when I restarted Apache, I got the error that
 /etc/apache2/mod_perl-startup.pl failed.
 
 I eliminated the use Apache2 (); statement and changed all instances
 of Apache to Apache2 (which I believe I was suppose to do). I then
 had problems with the ENV statement, changed it to look for
 $ENV(MOD_PERL), and tried Apache again, but failed because
 $ENV{MOD_PERL} is not defined.
 
 Here's the /etc/apache2/mod_perl-startup.pl I am using:
 
 
 $ENV{MOD_PERL} =~ /^CGI-Perl/ or die MOD_PERL not used!;
 
 #use Apache2 ();
 
 use lib qw(/srv/www/perl-lib);
 
 # enable if the mod_perl 1.0 compatibility is needed
 # use Apache::compat ();
 
 use ModPerl::Util (); #for CORE::GLOBAL::exit
 
 #use ModPerl::RequestRec ();
 #use ModPerl::RequestIO ();
 #use ModPerl::RequestUtil ();
 use Apache2::RequestRec ();
 use Apache2::RequestIO ();
 use Apache2::RequestUtil ();
 
 #use Apache2::Server ();
 use Apache2::ServerUtil ();
 use Apache2::Connection ();
 use Apache2::Log ();
 
 use APR::Table ();
 
 use ModPerl::Registry ();
 
 use Apache2::Const -compile = ':common';
 use APR::Const -compile = ':common';
 
 1;
 
 Not even too sure what else I need to add. In fact, I am not even too
 sure how Apache starts up. There's two scripts /etc/init.d/apache and
 /etc/init.d/apache2, but there is nothing in /etc/init.d/rc.3 that calls
 either of those scripts.
 
 --
 David Weintraub
 [EMAIL PROTECTED] 

Regards,
Rafael Caceres