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