]> granicus.if.org Git - apache/blobdiff - docs/manual/programs/configure.xml
The default sysconfdif is conf, not etc
[apache] / docs / manual / programs / configure.xml
index 2fc0d3bda98ac631a569d58a726b133955f534ae..7553cde7e6ff411b4dcb85bb02ff0ef938843125 100644 (file)
@@ -4,12 +4,12 @@
 <!-- $LastChangedRevision$ -->
 
 <!--
- Copyright 2003-2005 The Apache Software Foundation or its licensors,
-                     as applicable.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
@@ -34,7 +34,7 @@
     <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>
@@ -95,8 +95,8 @@
 
       <dt><code>--srcdir=<var>DIR</var></code></dt>
       <dd>Defines directory <var>DIR</var> to be the source file directory.
-        Default is the directory, where configure is located, or the parent
-        directory <code>..</code>.</dd>
+        Default is the directory where <code>configure</code> is located, or
+        the parent directory.</dd>
 
       <dt><code>--silent</code></dt>
       <dd>Same as <code>--quiet</code></dd>
     </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 be overwritten by the corresponding layout
+        <code>autoconf</code> and are overwritten by the corresponding layout
         setting.</p>
 
       <dl>
           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
           <module>mod_dir</module>.</dd>
 
         <dt><code>--disable-env</code></dt>
-        <dd>Enable setting and clearing of environment variables, which is
+        <dd>Disable setting and clearing of environment variables, which is
           provided by <module>mod_env</module>.</dd>
 
         <!-- configure mentions enable-http, but disable-http would make much
             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-imap</code></dt>
+        <dt><code>--disable-imagemap</code></dt>
         <dd>Disable support for server based imagemaps, which provided by
-          <module>mod_imap</module>.</dd>
+          <module>mod_imagemap</module>.</dd>
 
         <dt><code>--disable-include</code></dt>
         <dd>Disable Server Side Includes provided by
           to the server without this module.</dd>
 
         <dt><code>--disable-mime</code></dt>
-        <dd><module>mod_mime</module> associates the requested filename's
-          extensions with the file's behavior and content (mime-type,
-          language, character set and encoding). Disabling the mapping of
-          file-extensions to MIME is normally not recommended.</dd>
+        <dd><module>mod_mime</module> associates the requested
+        filename's extensions with the file's behavior and content
+        (<glossary>mime-type</glossary>, language, character set and
+        encoding). Disabling this module is normally not recommended.</dd>
 
         <dt><code>--disable-negotiation</code></dt>
         <dd>Disable content negotiation provided by
           which is provided by <module>mod_setenvif</module>.</dd>
 
         <dt><code>--disable-status</code></dt>
-        <dd>Enable the process/thread monitoring, which is provided by
+        <dd>Disable the process/thread monitoring, which is provided by
           <module>mod_status</module>.</dd>
 
         <dt><code>--disable-userdir</code></dt>
         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
         <dt><code>--enable-dav</code></dt>
         <dd>Enable the WebDAV protocol handling provided by
           <module>mod_dav</module>. Support for filesystem resources is
-          provided by the seperate module <module>mod_dav_fs</module>. This
+          provided by the separate module <module>mod_dav_fs</module>. This
           module is also automatically enabled with
           <code>--enable-dav</code>.<br/>
           Note: <module>mod_dav</module> can only be used together with the
         <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>
-        <dd>Enable automatical determining of MIME types, which is provided by
-          <module>mod_mime_magic</module>.</dd>
+        <dd>Enable
+        automatical determining of <glossary ref="mime-type">MIME
+        types</glossary>, which is provided by
+        <module>mod_mime_magic</module>.</dd>
 
         <dt><code>--enable-isapi</code></dt>
         <dd>Enable the isapi extension support provided by
         <dd>Enable the proxy/gateway functionality provided by
           <module>mod_proxy</module>. The proxying capabilities for
           <code>AJP13</code>, <code>CONNECT</code>, <code>FTP</code>,
-          <code>HTTP</code> and the balancer are provided by the seperate
+          <code>HTTP</code> and the balancer are provided by the separate
           modules <module>mod_proxy_ajp</module>,
           <module>mod_proxy_connect</module>, <module>mod_proxy_ftp</module>,
           <module>mod_proxy_http</module> and
         <!-- 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>
 
           <p>will compile most modules and build them as DSO modules.
             <!-- See <a href="../install/enabledmodules.html">Overview of
               enabled modules</a> for further information. --></p>
+          <p><strong>Caveat:</strong>
+          <code>--enable-mods-shared=all</code> does not actually build all
+          modules. To build all modules then, one might use:</p>
+          <example>
+            ./configure \<br />
+            <indent>
+                --with-ldap \<br />
+                --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
       </dl>
     </section>
 
-    <!-- options not known are passed to packasges?
+    <!-- options not known are passed to packages?
     are there other important options for packages? -->
 
     <section id="packageopt"><title>Specific packages</title>
       <dl>
         <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
-        <dd>The Apache Portable Runtime (APR) is part of the httpd
+        <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
           have to tell <code>configure</code> the path to the
           <code>apr-config</code> script. You may set the absolute path and name
           or the directory to the installed APR. <code>apr-config</code> must
-          exists within this directory or the subdirectory
+          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-checkgid</code></dt>
       <dd>Build a statically linked version of <code>checkgid</code>.</dd>
 
-      <!-- missing documentation for htdbm -->
       <dt><code>--enable-static-htdbm</code></dt>
-      <dd>Build a statically linked version of <code>htdbm</code>.</dd>
+      <dd>Build a statically linked version of <program>
+        htdbm</program>.</dd>
 
       <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>