On Fri, 3 Jan 2003, Steve Davis wrote:

[ .. ]
> To configure Apache:
> ./configure --prefix=/etc/httpd --with-mpm=prefork
> 
> To configure mod_perl:
> perl Makefile.PL MP_AP_PREFIX=/etc/httpd MP_APXS=/etc/httpd/bin/apxs
> MP_INST_APACHE2=1 MP_DEBUG=1
> 
> Also, when I examine /etc/httpd/bin/httpd (the executable),
> /etc/httpd/lib/libarp*, and /etc/module/mod_perl.so, all the
> theses files have a creation date that's current (today's
> date).  Plus, /etc/httpd/httpd.conf points to the current file
> locations.  According to the RH 8.0 docs regarding Apache 2.X,
> they suggest modifying httpd.conf to incorporate the use of an
> include statement which invokes /etc/conf.d/perl.conf.  This
> latter file points to /etc/httpd/module/mod_perl.3.0.  I've
> mapped the files and dates.  There doesn't appear to be any
> conflict here.
> 
> However, for good measure, I just completed a search of the
> /etc/* and /usr/* directories for the presence of the httpd
> executable.  And there are two of them on the system.  To be
> expected, the /etc/httpd/bin/httpd executable is present.  
> However, these is also an existence of a httpd executable under
> /usr/sbin.  When I changed the name of /etc/sbin/httpd to
> /etc/sbin/httpd-bu (backup).  The httpd web server wouldn't
> start any longer (I toggled this off and on via the service
> utilility [start -> system settings -> service]).  
> /etc/sbin/httpd has a footprint of 384.7K where as
> /etc/httpd/bin/httpd is a 2meg file.  I don't know whether
> /etc/sbin/httpd is being used to merely start
> /etc/httpd/bin/httpd or not.  If you can advise further it
> would be helpful.

It sounds like /etc/sbin/httpd and /etc/httpd/bin/httpd are
separate binaries, judging by their different sizes. You
compiled modperl against /etc/httpd/bin/httpd, but your system
is using /etc/sbin/httpd in the services utility to start.
This might explain the problem you were having before - 
/etc/sbin/httpd might be an older apache binary from
before (perhaps the installation), whereas mod_perl was
compiled against the newer /etc/httpd/bin/httpd. It's
hard to tell whether or not the binaries are sharing
the same httpd.conf files.

Did mod_perl's 'make test' pass? When you start the test,
it reports which httpd it's using - is it /etc/httpd/bin/httpd?

One thing you might try - stop the /etc/sbin/httpd service,
and then go to /etc/httpd/bin and issue the command
    apachectl start
to start the server associated with /etc/httpd/. This (normally)
will use the httpd.conf under /etc/httpd/conf/, which presumably
is the right one - if not, try starting httpd with the -f switch
to specify the config file - see ./httpd -h for help. 
Alteratively, since you have a backup of /etc/sbin/httpd,
try copying /etc/httpd/bin/httpd to /etc/sbin/httpd, and
start the service.

Do either of these work? If so, what you might do is forget
completely about the httpd stuff under /etc (which sounds like
it's getting mixed up with different versions), and compile
httpd-2.0.43 using a prefix like /usr/local/httpd, and then
compile and install mod_perl against this prefix. With a fresh
install Apache will install a reasonable default httpd.conf.  
You'd then have to figure out how to adjust the service utility
to start /usr/local/httpd/bin/httpd, rather than /etc/sbin/httpd.

-- 
best regards,
randy

Reply via email to