<p>The DSO support for loading individual Apache modules is based
on a module named <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> which must be statically
compiled into the Apache core. It is the only module besides
<code class="module"><a href="./mod/core.html">core</a></code> which cannot be put into a DSO
itself. Practically all other distributed Apache modules can then
be placed into a DSO by individually enabling the DSO build for
them via <code>configure</code>'s
<code>--enable-<em>module</em>=shared</code> option as discussed
in the <a href="install.html">install documentation</a>. After a
module is compiled into a DSO named <code>mod_foo.so</code> you
can use <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>'s <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> command in your
<code>httpd.conf</code> file to load this module at server startup
or restart.</p>
<p>To simplify this creation of DSO files for Apache modules
(especially for third-party modules) a new support program
named <a href="programs/apxs.html">apxs</a> (<em>APache
eXtenSion</em>) is available. It can be used to build DSO based
modules <em>outside of</em> the Apache source tree. The idea is
simple: When installing Apache the <code>configure</code>'s
<code>make install</code> procedure installs the Apache C
header files and puts the platform-dependent compiler and
linker flags for building DSO files into the <code>apxs</code>
program. This way the user can use <code>apxs</code> to compile
his Apache module sources without the Apache distribution
source tree and without having to fiddle with the
platform-dependent compiler and linker flags for DSO