Description | |
----------- | |
This is the Apache-side of mod_perl. It is a hybrid build environment which | |
can be both used to build mod_perl inside the Apache source tree via APACI | |
or plain Configure script and outside the Apache source tree via the DSO | |
tool APXS. | |
Files | |
----- | |
README .............. this file | |
Makefile.tmpl ....... Makefile template for Apache 1.3 | |
Makefile.libdir ..... indicator file for Apache 1.3 to use Makefile.tmpl | |
configure ........... stand-alone configure script for APXS situation | |
libperl.module ...... sourced Configure inline-script for standard situation | |
mod_perl.config ..... the new mod_perl configuration file | |
mod_perl.config.sh .. the workhorse which parses the config files and | |
generates Makefile parameters out of it by | |
extending the given parameters with Perl information | |
Usage | |
----- | |
[See file ../INSTALL.apaci for detailed description] | |
o Build mod_perl statically with httpd | |
_inside_ the Apache source tree via APACI: | |
1. run perl Makefile.PL USE_APACI=1 | |
(this will: | |
- copy apaci/* and src/modules/perl/* to $APACHE_SRC/modules/perl | |
- generate $APACHE_SRC/modules/perl/mod_perl.config | |
) | |
2. Configure Apache while activating mod_perl | |
$ cd $APACHE_SRC | |
$ ./configure --activate-module=src/modules/perl/libperl.a | |
3. Build and Install Apache with mod_perl | |
$ make | |
$ make install | |
o Build mod_perl as a dynamic shared object (DSO) | |
_inside_ the Apache source tree via APACI: | |
1. Move these mod_perl sources to $APACHE_SRC/src/modules/perl/ | |
2. Configure Apache while activating mod_perl | |
$ cd $APACHE_SRC | |
$ ./configure --activate-module=src/modules/perl/libperl.a \ | |
--enable-shared=perl | |
3. Build and Install Apache with mod_perl | |
$ make | |
$ make install | |
o Build mod_perl as a dynamic shared object (DSO) | |
_outside_ the Apache source tree via APXS: | |
1. Configure mod_perl via APXS | |
$ ./configure [--with-apxs=/path/to/installed/apache/sbin/apxs] | |
2. Build mod_perl DSO and install it into Apache installation | |
$ make install | |
Configuration | |
------------- | |
The configuration of mod_perl takes place via the file mod_perl.config. | |
Either edit this file, accept the defaults or override it via either | |
$ MODPERL_CONFIG='PERL=/path/to/my/preferred/bin/perl, PERL_SSI=yes' | |
$ export MODPERL_CONFIG | |
$ ./configure ... | |
at the APACI configuration step or via | |
$ ./configure ... 'PERL=/path/to/my/preferred/bin/perl, PERL_SSI=yes' | |
at the local configuration step when using the APXS variant. | |
Implemenation | |
------------- | |
Here is a flow control of the configuration: | |
APACI variant: APXS variant: | |
$ MODPERL_CONFIG=... $ ./configure ... | |
$ cd $APACHE_SRC | | |
./configure ... | | |
| mod_perl.config | | |
|exec | |exec | |
| |read | | |
V exec V | | |
libperl.module ------> mod_perl.config.sh <------------+ | |
| | |
| | |
V | |
(Makefile parameters) | |
| | |
+ | |
Makefile.tmpl | |
| | |
| | |
V | |
Makefile | |
Actually the merging of the Makefile parameters and the Makefile.tmpl is a | |
little bit more complex: When using APACI the parameters are first stored in | |
Apache's Makefile.config and then get merged with Makefile.tmpl by Apache's | |
Configure in a later step while when using the APXS variants they are | |
immediately stored in Makefile by our configure script together with | |
Makefile.tmpl. |