However, sometimes you might need more flexibility while building mod_perl. If you build mod_perl into the Apache binary (httpd) in separate steps, you'll also have the freedom to include other third-party Apache modules. Here are the steps:
Prepare the Apache source tree.
As before, first extract the distributions:
panic% tar xvzf apache_1.3.xx.tar.gz panic% tar xzvf mod_perl-1.xx.tar.gz
Install mod_perl's Perl side and prepare the Apache side.
Next, install the Perl side of mod_perl into the Perl hierarchy and prepare the src/modules/perl/ subdirectory inside the Apache source tree:
panic% cd mod_perl-1.xx
panic% perl Makefile.PL \
APACHE_SRC=../apache_1.3.xx/src \
NO_HTTPD=1 \
USE_APACI=1 \
PREP_HTTPD=1 \
EVERYTHING=1 \
[...]
panic% make
panic# make install
The APACHE_SRC option sets the path to your Apache source tree, the NO_HTTPD option forces this path and only this path to be used, the USE_APACI option triggers the new hybrid build environment, and the PREP_HTTPD option forces preparation of the $APACHE_SRC/modules/perl/ tree but no automatic build.
This tells the configuration process to prepare the Apache side of mod_perl in the Apache source tree, but doesn't touch anything else in it. It then just builds the Perl side of mod_perl and installs it into the Perl installation hierarchy.
Note that if you use PREP_HTTPD as described above, to complete the build you must go into the Apache source directory and run make and make install.
Prepare other third-party modules.
Now you have a chance to prepare any other third-party modules you might want to include in Apache. For instance, you can build PHP separately, as you did with mod_perl.
Build the Apache package.
Now it's time to build Apache, including the Apache side of mod_perl and any other third-party modules you've prepared:
panic% cd apache_1.3.xx
panic% ./configure \
--prefix=/path/to/install/of/apache \
--activate-module=src/modules/perl/libperl.a \
[...]
panic% make
panic# make install
You must use the —prefix option if you want to change the default target directory of the Apache installation. The —activate-module option activates mod_perl for the configuration process and thus also for the build process. If you choose —prefix=/usr/share/apache, the Apache directory tree will be installed in /usr/share/apache.
If you add other third-party components, such as PHP, include a separate —activate-module option for each of them. (See the module's documentation for the actual path to which —activate-module should point.) For example, for mod_php4:
--activate-module=src/modules/php4/libphp4.a
Note that the files activated by —activate-module do not exist at this time. They will be generated during compilation.
You may also want to go back to the mod_perl source tree and run make test (to make sure that mod_perl is working) before running make install inside the Apache source tree.
For more detailed examples on building mod_perl with other components, see Section 3.6.
 
Continue to: