Httpd Modules

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

Static Modules vs Dynamic Modules

Support for a specific module can be statically linked into the httpd binary at compilation, by specifying it with a configuration option similar to "--enable-proxy", or the module can be loaded at runtime, if the Dynamic Shared Object (DSO) capability is enabled.

It is preferable to use shared modules which are loaded as needed with the LoadModule directive.

If a module is compiled with the intention to load it dynamically, the corresponding "enable" compilation flag should carry the "shared" value (example "--enable-proxy=shared"). Note that in order to be able to load modules dynamically, httpd must be compiled with the Dynamic Shared Object (DSO) capability enabled, which is turned by the --enable-so compilation flag.

The attempt to dynamically load a module that was statically linked into the binary stops the server boot with an error message:

httpd: Syntax error on line 56 of .../httpd.conf: module proxy_module is built-in and can't be loaded

Dynamic Shared Object (DSO)

http://httpd.apache.org/docs/current/dso.html

Dynamic Shared Object (DSO) capability is enabled at compilation by using "--enable-so" option.

The List of Static Modules Compiled into the httpd Binary

The List of Static Modules Compiled into the httpd Binary

Module Compilation

Module Compilation

Modules