Hello,
I'm currently experiemnting with the Installation of the Apache Webserver with
several Modules (ssl, php4, perl and more). I'm installing anything from source,
using the Apache 1.3.12-Webserver, mod_ssl 2.6.5, mod_perl 1.24, php 4.0.3 and
jserv 1.1.1.
My actual installation sequence is configure the apache webserver, then to configure
and install the php4-module (statically), then to configure and install the
perl-module
(also statically) and after that the other modules. To be able to add further modules
using DSO, I enable the so-module also.
When I tried to install mod_perl, I used the following command:
perl Makefile.PL APACHE_PREFIX=/apps/apache/1.3.12 \
APACHE_SRC=/apps/install/apache/apache_1.3.12 \
USE_APACI=1 DO_HTTPD=1 EVERYTHING=1 ADD_MODULE=src/modules/php4/libmodphp4.a
However, the script tried to "enable" the php4-module, although it should have been
"activated". When the script starts the configure-command for the apache server, it
fails in activating php4 due to this.
I took a look into the script and it seems that the problem lays in the following
part,
which analyzes and handles the ADD_MODULE-parameter:
if($ADD_MODULE) {
for (split ",", $ADD_MODULE) {
if(/([a-zA-Z0-9][a-zA-Z0-9_]*)/) {
$cmd .= " --enable-module=$1";
}
elsif(m:(src/modules/[^/]+/[a-zA-Z0-9][a-zA-Z0-9_]*):) {
$cmd .= " --activate-module=$1";
}
}
}
I think the first if-clause within the for-loop logically already contains the
further
else-clause. By this, the script will either construct an
"--enable-module=..."-parameter
for the apache or will ignore it. When I replaced the if-clause with the else-clause
and
vice versa, the script handled it as it should:
if($ADD_MODULE) {
for (split ",", $ADD_MODULE) {
if(m:(src/modules/[^/]+/[a-zA-Z0-9][a-zA-Z0-9_]*):) {
$cmd .= " --activate-module=$1";
}
elsif(/([a-zA-Z0-9][a-zA-Z0-9_]*)/) {
$cmd .= " --enable-module=$1";
}
}
}
Have a nice day,
Oliver Sch�nwald
Department of Applied Computer Science I
University of Hagen, Germany