Installation: mod_perl handler?

I’m trying to install Request Tracker 3.2.1.

Yesterday I recompiled a -LOT- of things to get them to all work together,
and I finally ended up with:

Server Version: Apache/1.3.31 (Unix) mod_ssl/2.8.19 OpenSSL/0.9.7d PHP/4.3.8
mod_perl/1.29

(I also had to upgrade MySQL to 4.x and Perl to 5.8.5, and install various
Perl modules.)

The error message I’m getting when I go to http://rt.tblc.org/ is:
“You haven’t yet configured your webserver to run RT. You appear to have
installed RT’s web interface correctly, but haven’t yet configured your web
server to “run” the RT server which powers the web interface. The next step
is to edit your webserver’s configuration file to instruct it to use RT’s
mod_perl, fastcgi or speedycgi handler.”

I was pretty sure I’d been doing this already. This is from httpd.conf:

ServerName rt.tblc.org DocumentRoot /opt/rt3/share/html AddDefaultCharset UTF-8
 # this line applies to Apache2+mod_perl2 only

PerlModule Apache2 Apache::compat

 PerlModule Apache::DBI
 PerlRequire /opt/rt3/bin/webmux.pl

 <Location />
     SetHandler perl-script
     PerlHandler RT::Mason
 </Location>

Since http://www.tblc.org/perl-status is working pretty well (and
rt.tblc.org is a virtual host on www.tblc.org), I’m guessing that mod_perl
is already running.

But what would the mod_perl handler be? I take it it’s got something to
do with what’s in the declaration, and it’s true that perl-status
doesn’t show RT::Mason in the list of loaded modules (although there are
plenty of RT:: modules loaded)…

I feel like I’m sooo close. This is so painful. Can anyone tell me what
I’m doing wrong?

Ben

Odhiambo Washington wrote:

In httpd.conf, the lines that activate the Perl Module handler in Apache
are:
LoadModule perl_module libexec/apache/libperl.so
AddModule mod_perl.c

I added the first line (substituting /usr/lib for libexec, since that’s what
all the other lines said), confirmed that the second line was already there,
killed all apache processes, and started apache again. Still not working.
(I’m not sure whether I compiled mod_perl statically into Apache – how
would I find out?)

What do you get when you do:
apachectl configtest

Syntax OK
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_userdir.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_ssl.c: not found
in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_php4.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_perl.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_setenvif.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_auth.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_access.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_rewrite.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_alias.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_speling.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_actions.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_imap.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_asis.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_cgi.c: not found
in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_dir.c: not found
in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_autoindex.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_include.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_status.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_negotiation.c:
not found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_mime.c: not
found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_log_config.c:
not found in module list
[Mon Aug 9 11:31:24 2004] [error] Cannot remove module mod_env.c: not found
in module list

Again, when you cd into the source of rt-3.2.1 and do
make testdeps

/usr/bin/perl ./sbin/rt-test-dependencies --verbose --with-mysql
perl:
5.8.3…found
users:
rt group (rt)…found
bin owner (root)…found
libs owner (root)…found
libs group (bin)…found
web owner (wwwrun)…found
web group (nogroup)…found
MASON dependencies:
Params::Validate 0.02…found
Cache::Cache …found
Exception::Class 1.14…found
HTML::Mason 1.23…found
MLDBM …found
Errno …found
FreezeThaw …found
Digest::MD5 2.27…found
CGI::Cookie 1.20…found
Storable 2.08…found
Apache::Session 1.53…found
XML::RSS …found
MAILGATE dependencies:
HTML::TreeBuilder …found
HTML::FormatText …found
Getopt::Long …found
LWP::UserAgent …found
CLI dependencies:
Getopt::Long 2.24…found
CORE dependencies:
Digest::base …found
Digest::MD5 2.27…found
DBI 1.37…found
Test::Inline …found
Class::ReturnValue 0.40…found
DBIx::SearchBuilder 1.01…found
Text::Template …found
File::Spec 0.8…found
HTML::Entities …found
HTML::Scrubber 0.08…found
Net::Domain …found
Log::Dispatch 2.0…found
Locale::Maketext 1.06…found
Locale::Maketext::Lexicon 0.32…found
Locale::Maketext::Fuzzy …found
MIME::Entity 5.108…found
Mail::Mailer 1.57…found
Net::SMTP …found
Text::Wrapper …found
Time::ParseDate …found
File::Temp …found
Term::ReadKey …found
Text::Autoformat …found
Text::Quoted 1.3…found
Tree::Simple 1.04…found
Scalar::Util …found
Module::Versions::Report …found
DEV dependencies:
Regexp::Common …found
Time::HiRes …found
Test::Inline …found
Apache::Test …found
HTML::Form …found
HTML::TokeParser …found
WWW::Mechanize …found
MYSQL dependencies:
DBD::mysql 2.1018…found

Ben

Okay, I figured out my problem. All those Apache configtest messages were
telling me that I was using a httpd.conf that tried to load lots of modules
that were already compiled in.

Since I’m using SuSE, I had to hunt all over for files that got called by
other files, and eventually figured out how to turn off the directives that
were making Apache complain.

And now I’ve got my server running (I think)! Thanks, everyone!