25.6. Adding Modules
The Apache HTTP Server is distributed with a number of modules. More information about Apache HTTP modules can be found on http://httpd.apache.org/docs/2.2/mod/.
The Apache HTTP Server supports Dynamically Shared Objects (DSOs), or modules, which can easily be loaded at runtime as necessary.
The Apache Project provides complete DSO documentation online at http://httpd.apache.org/docs/2.2/dso.html. Or, if the
http-manualpackage is installed, documentation about DSOs can be found online at http://localhost/manual/mod/.
For the Apache HTTP Server to use a DSO, it must be specified in a
/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 adding or deleting modules from
http.conf, Apache HTTP Server must be reloaded or restarted, as referred to in Section 25.3, “Starting and Stopping
If creating a new module, first install the
httpd-develpackage 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/apxsto compile the module sources outside the Apache source tree. For more information about using the
/usr/sbin/apxscommand, refer to the Apache documentation online at http://httpd.apache.org/docs/2.2/dso.html as well as the
Once compiled, put the module in the
/usr/lib/httpd/modules/directory. For RHEL platforms using default-64-bit userspace (x86_64, ia64, ?) this path will be
/usr/lib64/httpd/modules/. Then add a
LoadModuleline 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.