[oclug] RedHat, Apache and Mod Perl

Bob Lockie bjlockie at lockie.ca
Mon Jul 14 01:23:35 EDT 2003


On 07/13/03 19:48 Burns MacDonald spoke thusly

> OK.... here is the deal.. A friend is trying to get mod_perl going on a
> RedHat server. Apache 2.0.47 from RPMs at RedHat. mod_perl from same.
> 
> Here is the failure mode:
> 
> Server error!
> The server encountered an internal error and was unable to complete your
> request.
> Error message:
> Can't locate object method "request" via package "Apache" at
> /usr/lib/perl5/5.8.0/CGI.pm line 269.
> If you think this is a server error, please contact the webmaster
> Error 500
> localhost
> Thu 10 Jul 2003 11:59:16 AM EDT
> Apache/2.0.40 (Red Hat Linux)
> 
> here is the script:
> 
> 
> [root at purple wfenwick]# cd /var/www/perl[root at purple perl]# more

Wynn Fenwick?
I know that name.
I was at Nortel when he was.

Does the script run not using mod_perl?


> test2#!/usr/bin/perl
> use CGI qw(:standard);#use CGI;
> my $query = new CGI;
> print $query->header;
> print "<html>\n";print "<head><title>CGI Results</title></head>\n";print
> "<body bgcolor=\"#FFFFFF\">\n";
> if ($query->param("search")) {        $search = $query->param("search");
>         open(DATA,"DATA.TXT") || print "Open Error: $!\n";        while
> (<DATA>) {                if (/${search}/i) {
> $customers++;                }        }        print "We have $customers
> customers ";        print "whose names contain
> n";                } else {        print "<form method=GET
> action=",$ENV{"SCRIPT_NAME"},">\n";        print "<input name=search size=10
> value=\"r\">\n";        print "<input type=submit>\n";        print
> "</form>\n";}
> print "</body></html>\n";
> here is the config for mod_perl:
> 
> 
> [root at purple perl]# cd /etc/httpd/conf.d[root at purple conf.d]# lsperl.conf
> README  ssl.conf  ssl.orig[root at purple conf.d]# more perl.conf## Mod_perl
> incorporates a Perl interpreter into the Apache web server,# so that the
> Apache web server can directly execute Perl code.# Mod_perl links the Perl
> runtime library into the Apache web server# and provides an object-oriented
> Perl interface for Apache's C# language API.  The end result is a quicker
> CGI script turnaround# process, since no external Perl interpreter has to be
> started.#
> LoadModule perl_module modules/mod_perl.so
> # This will allow execution of mod_perl to compile your scripts to#
> subroutines which it will execute directly, avoiding the costly# compile
> process for most requests.#Alias /perl /var/www/perl<Directory
> /var/www/perl>    SetHandler perl-script    PerlHandler
> ModPerl::Registry::handler    PerlOptions +ParseHeaders    Options
> +ExecCGI</Directory>
> 
> I tried upgrading the CGI.pm and associated files to the latest, but with no
> better result. Also a simpler script seems to work just fine...
> 
> 
> 
> [root at purple perl]# more test.pl#!/usr/bin/perlprint "Content-type:
> text/plain\n\n";print "mod_perl rules!\n";
> Any ideas or pointers...?

Ask on comp.infosystems.www.servers.unix






More information about the OCLUG mailing list