Httpd Modules: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 12: Line 12:


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.
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:
<pre>
httpd: Syntax error on line 56 of .../httpd.conf: module proxy_module is built-in and can't be loaded
</pre>


==Dynamic Shared Object (DSO)==
==Dynamic Shared Object (DSO)==
Line 21: Line 27:
==The List of Static Modules Compiled into the httpd Binary==
==The List of Static Modules Compiled into the httpd Binary==


<pre>
{{Internal|httpd Static Module List|The List of Static Modules Compiled into the httpd Binary}}
httpd -l
 
</pre>
=Module Compilation=
 
{{Internal|Httpd Module Compilation|Module Compilation}}


=Modules=
=Modules=
* [[httpd mod_proxy|mod_proxy]]
* [[httpd mod_proxy|mod_proxy]]
* [[mod_cluster]]
* [[mod_cluster]]

Latest revision as of 18:41, 5 January 2017

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