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.