10.7. Adding Modules
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.0/dso.html. Or, if the
http-manual
package 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
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 Section 10.5.12, “ 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 10.4, “Starting and Stopping httpd
”.
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.0/dso.html as well as the apxs
man page.
Once compiled, put the module in the
/usr/lib/httpd/modules/
directory. 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.