Adding Modules

The Apache HTTP Server is distributed with a number of modules. More information about Apache HTTP modules can be found on .

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 . Or, if the http-manual package is installed, documentation about DSOs can be found online at .

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 for more information.

If adding or deleting modules from http.conf, Apache HTTP Server must be reloaded or restarted, as referred to in .

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 Apache documentation online at as well as the apxs man page.

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 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.