The Apache HTTP Server supports Dynamically Shared Objects (DSOs), or modules, which can easily be loaded at runtime as necessary.
For the Apache HTTP Server to use a DSO, it must be specified in a
LoadModule directive within
/etc/httpd/conf/httpd.conf. If the module is provided by a separate package, the line must appear within the modules configuration file in the
/etc/httpd/conf.d/ directory. Refer to
LoadModule for more information.
If creating a new module, first install the httpd-devel package which contains the include files, the header files, as well as the APache eXtenSion (/usr/sbin/apxs) application, which uses the include files and the header files to compile DSOs.
After writing a module, use
/usr/sbin/apxs to compile the module sources outside the Apache source tree. For more information about using the
/usr/sbin/apxs command, refer to the the Apache documentation online at
http://httpd.apache.org/docs/2.2/dso.html as well as the
apxs man page.
Once compiled, put the module in the /usr/lib/httpd/modules/ directory. For 64-bit Red Hat Enterprise Linux hosts using the defaut 64-bit user-space, this path will be /usr/lib64/httpd/modules/. Then add a LoadModule line to the httpd.conf, using the following structure:
LoadModule <module-name> <path/to/module.so>
Where <module-name> is the name of the module and <path/to/module.so> is the path to the DSO.