From: Rich Bowen To simplify this creation of DSO files for Apache httpd modules
- (especially for third-party modules) a new support program
+ (especially for third-party modules) a support program
named Build and install a distributed Apache httpd module, say
Configure Apache HTTP Server for later installation of shared
+ modules: Configure Apache HTTP Server with all modules enabled, and loaded
+ as shared objects. You can then remove individual ones by
+ commenting out the The --enable-module=shared option as discussed
+ --enable-mods-shared option as discussed
in the install documentation. After a
module is compiled into a DSO named mod_foo.so you
can use
@@ -142,6 +144,8 @@ $ apxs -i -a -n foo mod_foo.la
use a mod_foo.c, into its own DSO
- mod_foo.so:
+ mod_foo.so:
+$ ./configure --prefix=/path/to/install --enable-foo --enable-mods-shared=foo
$ make install
mod_foo.c, into its own DSO
- mod_foo.so:
+
-
-
$ make install
httpd.conf.
+$ ./configure --enable-modules=most --enable-mods-shared=all
$ make install
most argument to
+ --enable-modules indicates that all modules
+ which are not experimental or example modules will be built.
-$ apxs -c mod_foo.c
-$ apxs -i -a -n foo mod_foo.la
+$ apxs -cia mod_foo.c
httpd.conf to tell Apache httpd to activate
the module.
See the apxs documentation for more details.
As of 1998 there were only a few software packages available - which use the DSO mechanism to extend their - functionality at run-time: Perl 5 (via its XS mechanism and the - DynaLoader module), Netscape Server, etc. Starting - with version 1.3, Apache HTTP Server joined the crew, because Apache httpd - already uses a module concept to extend its functionality and - internally uses a dispatch-list-based approach to link external - modules into the Apache httpd core functionality. So, Apache httpd is - really predestined for using DSO to load its modules at - run-time.