-<?xml version='1.0' encoding='UTF-8' ?>
+<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->
<p>This script, included in the root directory of the source
distribution, is for compilation on Unix and Unix-like systems
only. For other platforms, see the <a
- href="../platform/">platform</a> documentation.</p>
+ href="../platform/">platform</a> documentation.</p>
</summary>
<seealso><a href="../install.html">Compiling and Installing</a></seealso>
</dl>
</section>
- <section id="installationdirectories"><title>Installation
+ <section id="installationdirectories"><title>Installation
directories</title>
<p>These options define the installation directory. The installation
<section id="directoryfinetuning"><title>Fine tuning of the installation
directories</title>
-
+
<p>For better control of the installation directories, use the options
below. Please note that the directory defaults are set by
<code>autoconf</code> and are overwritten by the corresponding layout
By default <code>infodir</code> is set to
<code><var>PREFIX</var>/info</code>. This option is currently
unused.</dd>
-
+
<dt><code>--libdir=<var>DIR</var></code></dt>
<dd>Install object code libraries in <var>DIR</var>. By default
<code>libdir</code> is set to
<code>autoconf</code> and currently unused.</dd>
<dt><code>--mandir=<var>DIR</var></code></dt>
- <dd>Install the man documentation in <var>DIR</var>. By default
+ <dd>Install the man documentation in <var>DIR</var>. By default
<code>mandir</code> is set to
<code><var>EPREFIX</var>/man</code>.</dd>
-
+
<dt><code>--oldincludedir=<var>DIR</var></code></dt>
<dd>Install C header files for non-gcc in <var>DIR</var>.
By default <code>oldincludedir</code> is set to
<code>/usr/include</code>. This option is offered by
<code>autoconf</code> and currently unused.</dd>
-
+
<dt><code>--sbindir=<var>DIR</var></code></dt>
<dd>Install the system administrator executables in <var>DIR</var>.
Those are server programs like <program>httpd</program>,
<dd>Install read-only single-machine data like the server configuration
files <code>httpd.conf</code>, <code>mime.types</code>, etc. in
<var>DIR</var>. By default <code>sysconfdir</code> is set to
- <code><var>PREFIX</var>/etc</code>.</dd>
- </dl>
+ <code><var>PREFIX</var>/conf</code>.</dd>
+ </dl>
</section>
</section>
-
+
<section id="systemtypes"><title>System types</title>
<p>These options are used to cross-compile the Apache HTTP Server to run on
<code>--enable-<var>FEATURE</var>=no</code>.</dd>
<dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt>
- <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var>
+ <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var>
is <code>yes</code>.</dd>
<dt><code>--enable-<var>MODULE</var>=shared</code></dt>
<dd>The corresponding module will be build as DSO module.</dd>
<dt><code>--enable-<var>MODULE</var>=static</code></dt>
- <dd>By default enabled modules are linked statically. You can force
+ <dd>By default enabled modules are linked statically. You can force
this explicitly.</dd>
</dl>
<p>Some modules are compiled by default and have to be disabled
explicitly. Use the following options to remove discrete modules from
the compilation process.</p>
-
+
<dl>
<dt><code>--disable-actions</code></dt>
<dd>Disable action triggering on requests, which is provided by
<dt><code>--disable-auth</code></dt>
<dd>Disable user-based access control provided by
- <module>mod_auth</module>. This module provides for HTTP Basic
+ <module>mod_authn_file</module>. This module provides for HTTP Basic
Authentication, where the usernames and passwords are stored in
plain text files.</dd>
<dt><code>--disable-access</code></dt>
<dd>Disable host-based access control provided by
- <module>mod_access</module>.</dd>
+ <module>mod_authz_host</module>.</dd>
<dt><code>--disable-cgi</code></dt>
<dd><module>mod_cgi</module>, which provides support for CGI scripts,
is enabled by default when using a non-threaded MPM. Use this
option to disable CGI support.</dd>
-
+
<dt><code>--disable-cgid</code></dt>
- <dd>When using the threaded MPMs <module>worker</module> or
- <module>perchild</module> support for CGI scripts is provided by
- <module>mod_cgid</module> by default. To disable CGI support use
- this option.</dd>
+ <dd>When using the threaded MPM <module>worker</module>,
+ support for CGI scripts is provided by <module>mod_cgid</module>
+ by default. To disable CGI support use this option.</dd>
<dt><code>--disable-charset-lite</code></dt>
<dd>Disable character set translation provided by
another protocol module instead. <strong>Don't disable this
module unless you are really sure what you are doing.</strong>
<br/>
- Note: This module will always be linked statically.</dd>
+ Note: This module will always be linked statically.</dd>
<dt><code>--disable-imagemap</code></dt>
<dd>Disable support for server based imagemaps, which provided by
below.</p>
<dl>
- <dt><code>--enable-auth-anon</code></dt>
+ <dt><code>--enable-authn-anon</code></dt>
<dd>Enable anonymous user access provided by
- <module>mod_auth_anon</module>.</dd>
+ <module>mod_authn_anon</module>.</dd>
- <dt><code>--enable-auth-dbm</code></dt>
- <dd><module>mod_auth_dbm</module> provides for HTTP Basic
+ <dt><code>--enable-authn-dbm</code></dt>
+ <dd><module>mod_authn_dbm</module> provides for HTTP Basic
Authentication, where the usernames and passwords are stored in DBM
type database files. Use this option to enable the module.</dd>
+ <dt><code>--enable-authz-dbm</code></dt>
+ <dd><module>mod_authz_dbm</module> provides for HTTP Basic
+ Authorization, where the usernames and groups are stored in DBM
+ type database files. Use this option to enable the module.</dd>
+
<dt><code>--enable-auth-digest</code></dt>
<dd>Enable RFC2617 Digest authentication provided by
<module>mod_auth_digest</module>. This module uses plain text files
<dt><code>--enable-authnz-ldap</code></dt>
<dd>Enable LDAP based authentication provided by
<module>mod_authnz_ldap</module>.</dd>
-
+
<dt><code>--enable-cache</code></dt>
<dd>Enable dynamic file caching provided by
<module>mod_cache</module>. This experimental module may be
interesting for servers with high load or caching proxy servers. At
least one storage management module (e.g.
- <module>mod_disk_cache</module> or <module>mod_mem_cache</module>)
- is also necessary.</dd>
+ <module>mod_disk_cache</module>) is also necessary.</dd>
<dt><code>--enable-cern-meta</code></dt>
<dd>Enable the CERN-type meta files support provided by
<dd>Enable DAV support for filesystem resources, which is provided by
<module>mod_dav_fs</module>. This module is a provider for the
<module>mod_dav</module> module, so you should also use
- <code>--enable-dav</code>.</dd>
+ <code>--enable-dav</code>.</dd>
<dt><code>--enable-dav-lock</code></dt>
<dd>Enable <module>mod_dav_lock</module> which provides generic DAV
<module>mod_disk_cache</module>.</dd>
<dt><code>--enable-expires</code></dt>
- <dd>Enable Expires header control provided by
+ <dd>Enable <code>Expires</code> header control provided by
<module>mod_expires</module>.</dd>
<dt><code>--enable-ext-filter</code></dt>
<dd>Enable logging of input and output bytes including headers provided
by <module>mod_logio</module>.</dd>
- <dt><code>--enable-mem-cache</code></dt>
- <dd>Enable memory caching provided by
- <module>mod_mem_cache</module>.</dd>
-
- <dt><code>--enable-mime-magic</code></dt>
+ <dt><code>--enable-mime-magic</code></dt>
<dd>Enable
automatical determining of <glossary ref="mime-type">MIME
types</glossary>, which is provided by
<!-- module doc needed -->
<dt><code>--enable-optional-fn-export</code></dt>
<dd>Enable the example for an optional function exporter, which is
- provided by <code>mod_optional_fn_export</code>.</dd>
+ provided by <code>mod_optional_fn_export</code>.</dd>
<!-- module doc needed -->
<dt><code>--enable-optional-fn-import</code></dt>
</dl>
</section>
- <section id="modules"><title>MPMs and third-party modules</title>
- <p>To add the necessary Multi Processing Module and additional third-party
- modules use the following options:</p>
+ <section id="mpms"><title>Multi-Processing Modules</title>
+ <p><a href="../mpm.html">Multi-Processing Modules</a>, or MPMs, implement
+ the basic behavior of the server. A single MPM must be active in order
+ for the server to function. The list of available MPMs appears on the
+ <a href="../mod/">module index page</a>.</p>
+
+ <p>MPMs can be built as DSOs for dynamic loading or statically linked with
+ the server, and are enabled using the following options:</p>
+
+ <dl>
+ <dt><code>--with-mpm=MPM</code></dt>
+ <dd>
+ <p>Choose the default MPM for your server. If MPMs are built as DSO
+ modules (see <code>--enable-mpms-shared</code>), this directive
+ selects the MPM which will be loaded in the default configuration
+ file. Otherwise, this directive selects the only available MPM,
+ which will be statically linked into the server.</p>
+ <p>If this option is omitted, the <a href="../mpm.html#defaults">default
+ MPM</a> for your operating system will be used.</p>
+ </dd>
+
+ <dt><code>--enable-mpms-shared=<var>MPM-LIST</var></code></dt>
+ <dd>
+ <p>Enable a list of MPMs as dynamic shared modules. One of these
+ modules must be loaded dynamically using the
+ <directive module="mod_so">LoadModule</directive> directive.</p>
+ <p><var>MPM-LIST</var> is a space-separated list of MPM names
+ enclosed by quotation marks. For example:</p>
+ <example>
+ --enable-mpms-shared='prefork worker'
+ </example>
+ <p>Additionally you can use the special keyword <code>all</code>,
+ which will select all MPMs which support dynamic loading on the
+ current platform and build them as DSO modules. For example:</p>
+ <example>
+ --enable-mpms-shared=all
+ </example>
+ </dd>
+ </dl>
+ </section>
+
+ <section id="modules"><title>Third-party modules</title>
+ <p>To add additional third-party modules use the following options:</p>
<dl>
<dt><code>--with-module=<var>module-type</var>:<var>module-file</var>[,
If you want to build a DSO module instead of a statically linked
use <program>apxs</program>.</note>
</dd>
-
- <dt><code>--with-mpm=MPM</code></dt>
- <dd>Choose the process model for your server. You have to select
- exactly one <a href="../mpm.html">Multi-Processing Module</a>.
- Otherwise the <a href="../mpm.html#defaults">default MPM</a> for
- your operating system will be taken. Possible MPMs are
- <module>beos</module>, <module>leader</module>,
- <module>mpmt_os2</module>, <module>perchild</module>,
- <module>prefork</module>, <module>threadpool</module> and
- <module>worker</module>.</dd>
</dl>
</section>
./configure \<br />
<indent>
--with-ldap \<br />
- --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache"
+ --enable-mods-shared="all ssl ldap cache proxy authn_alias file_cache authnz_ldap charset_lite dav_lock disk_cache"
</indent>
</example>
</dd>
<dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
- <dd>This option behaves similar to <code>--enable-mods-shared</code>,
+ <dd>This option behaves similar to <code>--enable-mods-shared</code>,
but will link the given modules statically. This mean, these modules
will always be present while running <program>httpd</program>. They need
not be loaded with <directive
<dl>
<dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt>
<dd>Use the package <var>PACKAGE</var>. The default value for
- <var>ARG</var> is<code>yes</code>.</dd>
+ <var>ARG</var> is <code>yes</code>.</dd>
<dt><code>--without-<var>PACKAGE</var></code></dt>
<dd>Do not use the package <var>PACKAGE</var>. This is the same as
<section id="packageopt"><title>Specific packages</title>
<dl>
<dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
- <dd>The <glossary ref="apr">Apache Portable Runtime</glossary> (APR)
+ <dd>The <glossary ref="apr">Apache Portable Runtime</glossary> (APR)
is part of the httpd
source distribution and will automatically be build together with the
HTTP server. If you want to use an already installed APR instead you
or the directory to the installed APR. <code>apr-config</code> must
exist within this directory or the subdirectory
<code>bin</code>.</dd>
-
+
<dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt>
<dd>The Apache Portable Runtime Utilities (APU) are part of the
httpd source distribution and will automatically be build
APU instead you have to tell <code>configure</code> the path to the
<code>apu-config</code> script. You may set the absolute path and name
or the directory to the installed APU. <code>apu-config</code> must
- exists within this directory or the subdirectory
+ exist within this directory or the subdirectory
<code>bin</code>.</dd>
<dt><code>--with-ssl=<var>DIR</var></code></dt>
in the APU, so this database is always available. If you would like to
use other database types, use the following options to enable
them:</p>
-
+
<dl>
<dt><code>--with-gdbm[=<var>path</var>]</code></dt>
<dd>If no <var>path</var> is specified, <code>configure</code> will
<code><var>path</var>/include</code> for the relevant files.
Finally, the <var>path</var> may specify specific include and
library paths separated by a colon.</dd>
-
+
<dt><code>--with-ndbm[=<var>path</var>]</code></dt>
- <dd>Like <code>--with-gdbm</code>, bur searches for a New DBM
+ <dd>Like <code>--with-gdbm</code>, but searches for a New DBM
installation.</dd>
-
+
<dt><code>--with-berkeley-db[=<var>path</var>]</code></dt>
<dd>Like <code>--with-gdbm</code>, but searches for a Berkeley DB
installation.</dd>
</note>
</section>
</section>
-
+
<section id="supportopt"><title>Options for support programs</title>
<dl>
<dt><code>--enable-static-support</code></dt>
option unless you understand all the security implications of
running a suid binary on your server.</strong> Further options
to configure <program>suexec</program> are described <a
- href="#suexec">below</a>.</dd> </dl>
+ href="#suexec">below</a>.</dd>
+ </dl>
<p>It is possible to create a statically linked binary of a single
support program by using the following options:</p>
<dt><code>--enable-static-htdigest</code></dt>
<dd>Build a statically linked version of <program>
htdigest</program>.</dd>
-
+
<dt><code>--enable-static-htpasswd</code></dt>
<dd>Build a statically linked version of <program>
htpasswd</program>.</dd>
rotatelogs</program>.</dd>
</dl>
- <section id="suexec"><title>suexec configuration options</title>
+ <section id="suexec">
+ <title><code>suexec</code> configuration options</title>
<p>The following options are used to fine tune the behavior of <program>
suexec</program>. See <a
href="suexec.html#install">Configuring and installing suEXEC</a>
<dl>
<dt><code>--with-suexec-bin</code></dt>
- <dd>This defines the path to suexec binary. Default is
- <code>--sbindir</code> (see <a href="directoryfinetuning">Fine
- tuning of installation directories</a>).</dd>
+ <dd>This defines the path to <program>suexec</program> binary.
+ Default is <code>--sbindir</code> (see <a href="#directoryfinetuning"
+ >Fine tuning of installation directories</a>).</dd>
<dt><code>--with-suexec-caller</code></dt>
<dd>This defines the user allowed to call <program>suexec</program>.
- It should be the same as the user under which <program>httpd</program>
- normally runs.</dd>
+ It should be the same as the user under which
+ <program>httpd</program> normally runs.</dd>
<dt><code>--with-suexec-docroot</code></dt>
<dd>This defines the directory tree under which <program>
<dt><code>LDFLAGS</code></dt>
<dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have
- libraries in a nonstandard directory <var>libdir</var>.</dd>
+ libraries in a nonstandard directory <var>libdir</var>.</dd>
</dl>
</section>
</manualpage>