home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F278507_configure.xml < prev    next >
Extensible Markup Language  |  2004-05-26  |  43KB  |  922 lines

  1. <?xml version='1.0' encoding='UTF-8' ?>
  2. <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
  4.  
  5. <!--
  6.  Copyright 2003-2004 The Apache Software Foundation
  7.  
  8.  Licensed under the Apache License, Version 2.0 (the "License");
  9.  you may not use this file except in compliance with the License.
  10.  You may obtain a copy of the License at
  11.  
  12.      http://www.apache.org/licenses/LICENSE-2.0
  13.  
  14.  Unless required by applicable law or agreed to in writing, software
  15.  distributed under the License is distributed on an "AS IS" BASIS,
  16.  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17.  See the License for the specific language governing permissions and
  18.  limitations under the License.
  19. -->
  20.  
  21. <manualpage metafile="configure.xml.meta">
  22. <parentdocument href="./">Programs</parentdocument>
  23.  
  24.   <title>configure - Configure the source tree</title>
  25.  
  26. <summary>
  27.     <p>The <code>configure</code> script configures the source tree
  28.     for compiling and installing the Apache HTTP Server on your
  29.     particular platform. Various options allow the compilation of a
  30.     server corresponding to your personal requirements.</p>
  31.  
  32.     <p>This script, included in the root directory of the source
  33.     distribution, is for compilation on Unix and Unix-like systems
  34.     only. For other platforms, see the <a
  35.     href="../platform/">platform</a> documentation.</p> 
  36. </summary>
  37.  
  38. <seealso><a href="../install.html">Compiling and Installing</a></seealso>
  39.  
  40. <section id="synopsis"><title>Synopsis</title>
  41.     <p>You should call the <code>configure</code> script from within the
  42.     root directory of the distribution.</p>
  43.  
  44.     <p><code><strong>./configure</strong> [<var>OPTION</var>]...
  45.     [<var>VAR</var>=<var>VALUE</var>]...</code></p>
  46.  
  47.     <p>To assign environment variables (e.g. <code>CC</code>,
  48.     <code>CFLAGS</code> ...), specify them as
  49.     <code><var>VAR</var>=<var>VALUE</var></code>. See <a href="#env">below</a>
  50.     for descriptions of some of the useful variables.</p>
  51. </section>
  52.  
  53. <section id="options"><title>Options</title>
  54.   <ul>
  55.     <li><a href="#configurationoptions">Configuration options</a></li>
  56.     <li><a href="#installationdirectories">Installation directories</a></li>
  57.     <li><a href="#systemtypes">System types</a></li>
  58.     <li><a href="#optionalfeatures">Optional features</a></li>
  59.     <li><a href="#supportopt">Options for support programs</a></li>
  60.   </ul>
  61.  
  62.   <section id="configurationoptions"><title>Configuration options</title>
  63.  
  64.     <p>The following options influence the behavior of
  65.     <code>configure</code> itself.</p>
  66.  
  67.     <dl>
  68.       <dt><code>-C</code></dt>
  69.       <dt><code>--config-cache</code></dt>
  70.       <dd>This is an alias for <code>--cache-file=config.cache</code></dd>
  71.  
  72.       <dt><code>--cache-file=<var>FILE</var></code></dt>
  73.       <dd>The test results will be cached in file <var>FILE</var>.
  74.         This option is disabled by default.</dd>
  75.  
  76.       <dt><code>-h</code></dt>
  77.       <dt><code>--help [short|recursive]</code></dt>
  78.       <dd>Output the help and exit. With the argument <code>short</code> only
  79.         options specific to this package will displayed. The argument
  80.         <code>recursive</code> displays the short help of all the included
  81.         packages.</dd>
  82.  
  83.       <dt><code>-n</code></dt>
  84.       <dt><code>--no-create</code></dt>
  85.       <dd>The <code>configure</code> script is run normally but does
  86.         not create output files. This is useful to check the test results
  87.         before generating makefiles for compilation.</dd>
  88.  
  89.       <dt><code>-q</code></dt>
  90.       <dt><code>--quiet</code></dt>
  91.       <dd>Do not print <code>checking ...</code> messages during the
  92.         configure process.</dd>
  93.  
  94.       <dt><code>--srcdir=<var>DIR</var></code></dt>
  95.       <dd>Defines directory <var>DIR</var> to be the source file directory.
  96.         Default is the directory, where configure is located, or the parent
  97.         directory <code>..</code>.</dd>
  98.  
  99.       <dt><code>--silent</code></dt>
  100.       <dd>Same as <code>--quiet</code></dd>
  101.  
  102.       <dt>-V</dt>
  103.       <dt>--version</dt>
  104.       <dd>Display copyright information and exit.</dd>
  105.     </dl>
  106.   </section>
  107.  
  108.   <section id="installationdirectories"><title>Installation 
  109.     directories</title>
  110.  
  111.     <p>These options define the installation directory. The installation
  112.       tree depends on the selected layout.</p>
  113.  
  114.     <dl>
  115.       <dt><code>--prefix=<var>PREFIX</var></code></dt>
  116.       <dd>Install architecture-independent files in <var>PREFIX</var>.
  117.         By default the installation directory is set to
  118.         <code>/usr/local/apache2</code>.</dd>
  119.  
  120.       <dt><code>--exec-prefix=<var>EPREFIX</var></code></dt>
  121.       <dd>Install architecture-dependent files in <var>EPREFIX</var>.
  122.         By default the installation directory is set to the
  123.         <var>PREFIX</var> directory.</dd>
  124.     </dl>
  125.  
  126.     <p>By default, <code>make install</code> will install all the files in
  127.       <code>/usr/local/apache2/bin</code>, <code>/usr/local/apache2/lib</code>
  128.       etc. You can specify an installation prefix other than
  129.       <code>/usr/local/apache2</code> using <code>--prefix</code>,
  130.       for instance <code>--prefix=$HOME</code>.</p>
  131.  
  132.     <section id="layout"><title>Define a directory layout</title>
  133.       <dl>
  134.         <dt><code>--enable-layout=<var>LAYOUT</var></code></dt>
  135.         <dd>Configure the source code and build scripts to assume an
  136.           installation tree based on the layout <var>LAYOUT</var>. This allows
  137.           you to separately specify the locations for each type of file within
  138.           the Apache HTTP Server installation. The <code>config.layout</code>
  139.           file contains several example configurations, and you can also create
  140.           your own custom configuration following the examples. The different
  141.           layouts in this file are grouped into <code><Layout
  142.             FOO>...</Layout></code> sections and referred to by name as
  143.           in <code>FOO</code>. The default layout is <code>Apache</code>.</dd>
  144.       </dl>
  145.     </section>
  146.  
  147.     <section id="directoryfinetuning"><title>Fine tuning of the installation
  148.       directories</title>
  149.     
  150.       <p>For better control of the installation directories, use the options
  151.         below. Please note that the directory defaults are set by
  152.         <code>autoconf</code> and be overwritten by the corresponding layout
  153.         setting.</p>
  154.  
  155.       <dl>
  156.         <!-- only apr-config and apu-config are installed at bindir.
  157.         everything else is stored at sbindir. ==> clarify/change this -->
  158.         <dt><code>--bindir=<var>DIR</var></code></dt>
  159.         <dd>Install user executables in <var>DIR</var>. The user executables
  160.           are supporting programs like <code>htpasswd</code>,
  161.           <code>dbmmanage</code>, etc. which are useful for site
  162.           administrators. By default <var>DIR</var> is set to
  163.           <code><var>EPREFIX</var>/bin</code>.</dd>
  164.  
  165.         <dt><code>--datadir=<var>DIR</var></code></dt>
  166.         <dd>Install read-only architecture-independent data in <var>DIR</var>.
  167.           By default <code>datadir</code> is set to
  168.           <code><var>PREFIX</var>/share</code>. This option is offered by
  169.           <code>autoconf</code> and currently unused.</dd>
  170.  
  171.         <dt><code>--includedir=<var>DIR</var></code></dt>
  172.         <dd>Install C header files in <var>DIR</var>. By default
  173.           <code>includedir</code> is set to
  174.           <code><var>EPREFIX</var>/include</code>.</dd>
  175.  
  176.         <dt><code>--infodir=<var>DIR</var></code></dt>
  177.         <dd>Install info documentation in <var>DIR</var>.
  178.           By default <code>infodir</code> is set to
  179.           <code><var>PREFIX</var>/info</code>. This option is currently
  180.           unused.</dd>
  181.         
  182.         <dt><code>--libdir=<var>DIR</var></code></dt>
  183.         <dd>Install object code libraries in <var>DIR</var>. By default
  184.           <code>libdir</code> is set to
  185.           <code><var>EPREFIX</var>/lib</code>.</dd>
  186.  
  187.         <dt><code>--libexecdir=<var>DIR</var></code></dt>
  188.         <dd>Install the program executables (i.e., shared modules) in
  189.           <var>DIR</var>. By default <code>libexecdir</code> is set to
  190.           <code><var>EPREFIX</var>/libexec</code>.</dd>
  191.  
  192.         <dt><code>--localstatedir=<var>DIR</var></code></dt>
  193.         <dd>Install modifiable single-machine data in <var>DIR</var>.
  194.           By default <code>localstatedir</code> is set to
  195.           <code><var>PREFIX</var>/var</code>. This option is offered by
  196.           <code>autoconf</code> and currently unused.</dd>
  197.  
  198.         <dt><code>--mandir=<var>DIR</var></code></dt>
  199.         <dd>Install the man documentation in <var>DIR</var>. By default 
  200.           <code>mandir</code> is set to
  201.           <code><var>EPREFIX</var>/man</code>.</dd>
  202.       
  203.         <dt><code>--oldincludedir=<var>DIR</var></code></dt>
  204.         <dd>Install C header files for non-gcc in <var>DIR</var>.
  205.           By default <code>oldincludedir</code> is set to
  206.           <code>/usr/include</code>. This option is offered by
  207.           <code>autoconf</code> and currently unused.</dd>
  208.         
  209.         <dt><code>--sbindir=<var>DIR</var></code></dt>
  210.         <dd>Install the system administrator executables in <var>DIR</var>.
  211.           Those are server programs like <code>httpd</code>,
  212.           <code>apachectl</code>, <code>suexec</code>, etc. which are neccessary
  213.           to run the Apache HTTP Server. By default <code>sbindir</code> is
  214.           set to <code><var>EPREFIX</var>/sbin</code>.</dd>
  215.  
  216.         <dt><code>--sharedstatedir=<var>DIR</var></code></dt>
  217.         <dd>Install modifiable architecture-independent data in <var>DIR</var>.
  218.           By default <code>sharedstatedir</code> is set to
  219.           <code><var>PREFIX</var>/com</code>. This option is offered by
  220.           <code>autoconf</code> and currently unused.</dd>
  221.  
  222.         <dt><code>--sysconfdir=<var>DIR</var></code></dt>
  223.         <dd>Install read-only single-machine data like the server configuration
  224.           files <code>httpd.conf</code>, <code>mime.types</code>, etc. in
  225.           <var>DIR</var>. By default <code>sysconfdir</code> is set to
  226.           <code><var>PREFIX</var>/etc</code>.</dd>
  227.       </dl>        
  228.     </section>
  229.   </section>
  230.   
  231.   <section id="systemtypes"><title>System types</title>
  232.  
  233.     <p>These options are used to cross-compile the Apache HTTP Server to run on
  234.       another system. In normal cases, when building and running the server on
  235.       the same system, these options are not used.</p>
  236.  
  237.     <dl>
  238.       <dt><code>--build=<var>BUILD</var></code></dt>
  239.       <dd>Defines the system type of the system on which the tools are being
  240.         built. It defaults to the result of the script
  241.         <code>config.guess</code>.</dd>
  242.  
  243.       <dt><code>--host=<var>HOST</var></code></dt>
  244.       <dd>Defines the system type of the system on which the server will run.
  245.         <var>HOST</var> defaults to <var>BUILD</var>.</dd>
  246.  
  247.       <dt><code>--target=<var>TARGET</var></code></dt>
  248.       <dd>Configure for building compilers for the system type
  249.         <var>TARGET</var>. It defaults to <var>HOST</var>. This option is
  250.         offered by <code>autoconf</code> and not necessary for the Apache HTTP
  251.         Server.</dd>
  252.     </dl>
  253.   </section>
  254.  
  255.   <section id="optionalfeatures"><title>Optional Features</title>
  256.  
  257.     <p>These options are used to fine tune the features your HTTP server will
  258.       have.</p>
  259.  
  260.     <section id="generaloptfeat"><title>General syntax</title>
  261.       <p>Generally you can use the following syntax to enable or disable a
  262.         feature:</p>
  263.  
  264.       <dl>
  265.         <dt><code>--disable-<var>FEATURE</var></code></dt>
  266.         <dd>Do not include <var>FEATURE</var>. This is the same as
  267.           <code>--enable-<var>FEATURE</var>=no</code>.</dd>
  268.  
  269.         <dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt>
  270.         <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var> 
  271.           is <code>yes</code>.</dd>
  272.  
  273.         <dt><code>--enable-<var>MODULE</var>=shared</code></dt>
  274.         <dd>The corresponding module will be build as DSO module.</dd>
  275.  
  276.         <dt><code>--enable-<var>MODULE</var>=static</code></dt>
  277.         <dd>By default enabled modules are linked statically. You can force 
  278.           this explicitly.</dd>
  279.       </dl>
  280.  
  281.       <note><title>Note</title>
  282.         <code>configure</code> will not complain about
  283.         <code>--enable-<var>foo</var></code> even if <var>foo</var> doesn't
  284.         exist, so you need to type carefully.
  285.       </note>
  286.     </section>
  287.  
  288.     <!-- to do: add better enable-module descriptions and recommendations -->
  289.     <section id="enabledmodules"><title>Modules enabled by default</title>
  290.       <p>Some modules are compiled by default and have to be disabled
  291.         explicitly. Use the following options to remove discrete modules from
  292.         the compilation process.</p>
  293.         
  294.       <dl>
  295.         <dt><code>--disable-actions</code></dt>
  296.         <dd>Disable action triggering on requests, which is provided by
  297.           <module>mod_actions</module>.</dd>
  298.  
  299.         <dt><code>--disable-alias</code></dt>
  300.         <dd>Disable the mapping of requests to different parts of the
  301.           filesystem, which is provided by <module>mod_alias</module>.</dd>
  302.  
  303.         <dt><code>--disable-asis</code></dt>
  304.         <dd>Disable support for as-is filetypes, which is provided by
  305.           <module>mod_asis</module>.</dd>
  306.  
  307.         <dt><code>--disable-auth</code></dt>
  308.         <dd>Disable user-based access control provided  by
  309.           <module>mod_auth</module>. This module provides for HTTP Basic
  310.           Authentication, where the usernames and passwords are stored in
  311.           plain text files.</dd>
  312.  
  313.         <dt><code>--disable-autoindex</code></dt>
  314.         <dd>Disable the directory listing functionality provided by
  315.           <module>mod_autoindex</module>.</dd>
  316.  
  317.         <dt><code>--disable-access</code></dt>
  318.         <dd>Disable host-based access control provided by
  319.           <module>mod_access</module>.</dd>
  320.  
  321.         <dt><code>--disable-cgi</code></dt>
  322.         <dd><module>mod_cgi</module>, which provides support for CGI scripts,
  323.           is enabled by default when using a non-threaded MPM. Use this
  324.           option to disable CGI support.</dd>
  325.          
  326.         <dt><code>--disable-cgid</code></dt>
  327.         <dd>When using the threaded MPMs <module>worker</module> or
  328.           <module>perchild</module> support for CGI scripts is provided by
  329.           <module>mod_cgid</module> by default. To disable CGI support use
  330.           this option.</dd>
  331.  
  332.         <dt><code>--disable-charset-lite</code></dt>
  333.         <dd>Disable character set translation provided by
  334.           <module>mod_charset_lite</module>. This module will be installed by
  335.           default only on EBCDIC systems.</dd>
  336.  
  337.         <dt><code>--disable-dir</code></dt>
  338.         <dd>Disable directory request handling provided by
  339.           <module>mod_dir</module>.</dd>
  340.  
  341.         <dt><code>--disable-env</code></dt>
  342.         <dd>Enable setting and clearing of environment variables, which is
  343.           provided by <module>mod_env</module>.</dd>
  344.  
  345.         <!-- configure mentions enable-http, but disable-http would make much
  346.         more sense -->
  347.         <dt><code>--disable-http</code></dt>
  348.           <dd>Disable the HTTP protocol handling. The <code>http</code>
  349.             module is a basic one, enabling the server to function as an
  350.             HTTP server. It is only useful to disable it if you want to use
  351.             another protocol module instead. <strong>Don't disable this
  352.             module unless you are really sure what you are doing.</strong>
  353.             <br/>
  354.             Note: This module will always be linked statically.</dd> 
  355.  
  356.         <dt><code>--disable-imap</code></dt>
  357.         <dd>Disable support for server based imagemaps, which provided by
  358.           <module>mod_imap</module>.</dd>
  359.  
  360.         <dt><code>--disable-include</code></dt>
  361.         <dd>Disable Server Side Includes provided by
  362.           <module>mod_include</module>.</dd>
  363.  
  364.         <dt><code>--disable-log-config</code></dt>
  365.         <dd>Disable the logging configuration provided by
  366.           <module>mod_log_config</module>. You won't be able to log requests
  367.           to the server without this module.</dd>
  368.  
  369.         <dt><code>--disable-mime</code></dt>
  370.         <dd><module>mod_mime</module> associates the requested filename's
  371.           extensions with the file's behavior and content (mime-type,
  372.           language, character set and encoding). Disabling the mapping of
  373.           file-extensions to MIME is normally not recommended.</dd>
  374.  
  375.         <dt><code>--disable-negotiation</code></dt>
  376.         <dd>Disable content negotiation provided by
  377.           <module>mod_negotiation</module>.</dd>
  378.  
  379.         <dt><code>--disable-setenvif</code></dt>
  380.         <dd>Disable support for basing environment variables on headers,
  381.           which is provided by <module>mod_setenvif</module>.</dd>
  382.  
  383.         <dt><code>--disable-status</code></dt>
  384.         <dd>Enable the process/thread monitoring, which is provided by
  385.           <module>mod_status</module>.</dd>
  386.  
  387.         <dt><code>--disable-userdir</code></dt>
  388.         <dd>Disable the mapping of requests to user-specific directories,
  389.           which is provided by <module>mod_userdir</module>.</dd>
  390.       </dl>
  391.     </section>
  392.  
  393.     <section id="disabledmodules"><title>Modules, disabled by default</title>
  394.       <p>Some modules are compiled by default and have to be enabled
  395.         explicitly or by using the keywords <code>most</code> or
  396.         <code>all</code> (see <code>--enable-mods-shared</code> below for
  397.         further explanation) to be available. Therefore use the options
  398.         below.</p>
  399.  
  400.       <dl>
  401.         <dt><code>--enable-auth-anon</code></dt>
  402.         <dd>Enable anonymous user access provided by
  403.           <module>mod_auth_anon</module>.</dd>
  404.  
  405.         <dt><code>--enable-auth-dbm</code></dt>
  406.         <dd><module>mod_auth_dbm</module> provides for HTTP Basic
  407.           Authentication, where the usernames and passwords are stored in DBM
  408.           type database files. Use this option to enable the module.</dd>
  409.  
  410.         <dt><code>--enable-auth-digest</code></dt>
  411.         <dd>Enable RFC2617 Digest authentication provided by
  412.           <module>mod_auth_digest</module>. This module uses plain text files
  413.           to store the credentials.</dd>
  414.  
  415.         <dt><code>--enable-auth-ldap</code></dt>
  416.         <dd>Enable LDAP based authentication provided by
  417.           <module>mod_auth_ldap</module>.</dd>
  418.           
  419.         <dt><code>--enable-cache</code></dt>
  420.         <dd>Enable dynamic file caching provided by
  421.           <module>mod_cache</module>. This experimental module may be
  422.           interesting for servers with high load or caching proxy servers. At
  423.           least one storage management module (e.g.
  424.           <module>mod_disk_cache</module> or <module>mod_mem_cache</module>)
  425.           is also necessary.</dd>
  426.  
  427.         <dt><code>--enable-cern-meta</code></dt>
  428.         <dd>Enable the CERN-type meta files support provided by
  429.           <module>mod_cern_meta</module>.</dd>
  430.  
  431.         <dt><code>--enable-charset-lite</code></dt>
  432.         <dd>Enable character set translation provided by
  433.           <module>mod_charset_lite</module>. This module will be installed by
  434.           default only on EBCDIC systems. On other systems, you have to enable
  435.           it.</dd>
  436.  
  437.         <dt><code>--enable-dav</code></dt>
  438.         <dd>Enable the WebDAV protocol handling provided by
  439.           <module>mod_dav</module>. Support for filesystem resources is
  440.           provided by the seperate module <module>mod_dav_fs</module>. This
  441.           module is also automatically enabled with
  442.           <code>--enable-dav</code>.<br/>
  443.           Note: <module>mod_dav</module> can only be used together with the
  444.           <code>http</code> protocol module.</dd>
  445.  
  446.         <dt><code>--enable-dav-fs</code></dt>
  447.         <dd>Enable DAV support for filesystem resources, which is provided by
  448.           <module>mod_dav_fs</module>. This module is a provider for the
  449.           <module>mod_dav</module> module, so you should also use
  450.           <code>--enable-dav</code>.</dd> 
  451.  
  452.         <dt><code>--enable-deflate</code></dt>
  453.         <dd>Enable deflate transfer encoding provided by
  454.           <module>mod_deflate</module>.</dd>
  455.  
  456.         <dt><code>--enable-disk-cache</code></dt>
  457.         <dd>Enable disk caching provided by
  458.           <module>mod_disk_cache</module>.</dd>
  459.  
  460.         <dt><code>--enable-expires</code></dt>
  461.         <dd>Enable Expires header control provided by
  462.           <module>mod_expires</module>.</dd>
  463.  
  464.         <dt><code>--enable-ext-filter</code></dt>
  465.         <dd>Enable the external filter support provided by
  466.           <module>mod_ext_filter</module>.</dd>
  467.  
  468.         <dt><code>--enable-file-cache</code></dt>
  469.         <dd>Enable the file cache provided by
  470.           <module>mod_file_cache</module>.</dd>
  471.  
  472.         <dt><code>--enable-headers</code></dt>
  473.         <dd>Enable control of HTTP headers provided by
  474.           <module>mod_headers</module>.</dd>
  475.  
  476.         <dt><code>--enable-info</code></dt>
  477.         <dd>Enable the server information provided by
  478.           <module>mod_info</module>.</dd>
  479.  
  480.         <dt><code>--enable-ldap</code></dt>
  481.         <dd>Enable LDAP caching and connection pooling services provided by
  482.           <module>mod_ldap</module>.</dd>
  483.  
  484.         <dt><code>--enable-logio</code></dt>
  485.         <dd>Enable logging of input and output bytes including headers provided
  486.           by <module>mod_logio</module>.</dd>
  487.  
  488.         <dt><code>--enable-mem-cache</code></dt>
  489.         <dd>Enable memory caching provided by
  490.           <module>mod_mem_cache</module>.</dd>
  491.  
  492.         <dt><code>--enable-mime-magic</code></dt>
  493.         <dd>Enable automatical determining of MIME types, which is provided by
  494.           <module>mod_mime_magic</module>.</dd>
  495.  
  496.         <dt><code>--enable-isapi</code></dt>
  497.         <dd>Enable the isapi extension support provided by
  498.           <module>mod_isapi</module>.</dd>
  499.  
  500.         <dt><code>--enable-proxy</code></dt>
  501.         <dd>Enable the proxy/gateway functionality provided by
  502.           <module>mod_proxy</module>. The proxying capabilities for
  503.           <code>CONNECT</code>, <code>FTP</code> and <code>HTTP</code> are
  504.           provided by the seperate modules <module>mod_proxy_connect</module>,
  505.           <module>mod_proxy_ftp</module> and <module>mod_proxy_http</module>.
  506.           These three modules are also automatically enabled with
  507.           <code>--enable-proxy</code>.</dd>
  508.  
  509.         <dt><code>--enable-proxy-connect</code></dt>
  510.         <dd>Enable proxy support for <code>CONNECT</code> request handling,
  511.           which is provided by <module>mod_proxy_connect</module>. This module
  512.           is an extension for the <module>mod_proxy</module> module, so you
  513.           should also use <code>--enable-proxy</code>.</dd>
  514.  
  515.         <dt><code>--enable-proxy-ftp</code></dt>
  516.         <dd>Enable proxy support for <code>FTP</code> requests, which is
  517.           provided by <module>mod_proxy_ftp</module>.. This module
  518.           is an extension for the <module>mod_proxy</module> module, so you
  519.           should also use <code>--enable-proxy</code>.</dd>
  520.  
  521.         <dt><code>--enable-proxy-http</code></dt>
  522.         <dd>Enable proxy support for <code>HTTP</code> requests, which is
  523.           provided by <module>mod_proxy_http</module>. This module
  524.           is an extension for the <module>mod_proxy</module> module, so you
  525.           should also use <code>--enable-proxy</code>.</dd>
  526.  
  527.         <dt><code>--enable-rewrite</code></dt>
  528.         <dd>Enable rule based URL manipulation provided by
  529.           <module>mod_rewrite</module>.</dd>
  530.  
  531.         <dt><code>--enable-so</code></dt>
  532.         <dd>Enable DSO capability provided by <module>mod_so</module>. This
  533.           module will be automatically enabled if you use the
  534.           <code>--enable-mods-shared</code> option.</dd>
  535.  
  536.         <dt><code>--enable-speling</code></dt>
  537.         <dd>Enable the functionality to correct common URL misspellings, which
  538.           is provided by <module>mod_spelling</module>.</dd>
  539.  
  540.         <dt><code>--enable-ssl</code></dt>
  541.         <dd>Enable support for SSL/TLS provided by
  542.           <module>mod_ssl</module>.</dd>
  543.  
  544.         <dt><code>--enable-unique-id</code></dt>
  545.         <dd>Enable the generation of per-request unique ids, which is provided
  546.           by <module>mod_unique_id</module>.</dd>
  547.  
  548.         <dt><code>--enable-usertrack</code></dt>
  549.         <dd>Enable user-session tracking provided by
  550.           <module>mod_usertrack</module>.</dd>
  551.  
  552.         <dt><code>--enable-vhost-alias</code></dt>
  553.         <dd>Enable mass virtual hosting provided by
  554.           <module>mod_vhost_alias</module>.</dd>
  555.       </dl>
  556.     </section>
  557.  
  558.     <section id="developermodules"><title>Modules for developers</title>
  559.       <p>The following modules are useful only for developers and testing
  560.         purposes and are disabled by default. Use the following options to
  561.         enable them. If you are not sure whether you need one of these
  562.         modules, omit them.</p>
  563.  
  564.       <dl>
  565.         <!-- module doc needed -->
  566.         <dt><code>--enable-bucketeer</code></dt>
  567.         <dd>Enable the manipulation filter for buckets, which is provided by
  568.           <code>mod_bucketeer</code>.</dd>
  569.  
  570.         <!-- module doc needed -->
  571.         <dt><code>--enable-case-filter</code></dt>
  572.         <dd>Enable the example uppercase conversion output filter support of
  573.           <code>mod_case_filter</code>.</dd>
  574.  
  575.         <!-- module doc needed -->
  576.         <dt><code>--enable-case-filter-in</code></dt>
  577.         <dd>Enable the example uppercase conversion input filter support of
  578.           <code>mod_case_filter_in</code>.</dd>
  579.  
  580.         <dt><code>--enable-echo</code></dt>
  581.         <dd>Enable the ECHO server provided by
  582.           <module>mod_echo</module>.</dd>
  583.  
  584.         <dt><code>--enable-example</code></dt>
  585.         <dd>Enable the example and demo module
  586.           <module>mod_example</module>.</dd>
  587.  
  588.         <!-- module doc needed -->
  589.         <dt><code>--enable-optional-fn-export</code></dt>
  590.         <dd>Enable the example for an optional function exporter, which is
  591.           provided by <code>mod_optional_fn_export</code>.</dd> 
  592.  
  593.         <!-- module doc needed -->
  594.         <dt><code>--enable-optional-fn-import</code></dt>
  595.         <dd>Enable the example for an optional function importer, which is
  596.           provided by <code>mod_optional_fn_import</code>.</dd>
  597.  
  598.         <!-- module doc needed -->
  599.         <dt><code>--enable-optional-hook-export</code></dt>
  600.         <dd>Enable the example for an optional hook exporter, which is provided
  601.           by <code>mod_optional_hook_export</code>.</dd>
  602.  
  603.         <!-- module doc needed -->
  604.         <dt><code>--enable-optional-hook-import</code></dt>
  605.         <dd>Enable the example optional hook importer, which is provided by
  606.           <code>mod_optional_hook_import</code>.</dd>
  607.       </dl>
  608.     </section>
  609.  
  610.     <section id="modules"><title>MPMs and third-party modules</title>
  611.       <p>To add the necessary Multi Processing Module and additional third-party
  612.         modules use the following options:</p>
  613.  
  614.       <dl>
  615.         <dt><code>--with-module=<var>module-type</var>:<var>module-file</var>
  616.           </code></dt>
  617.         <dd><p>Add a third-party module to the list of statically linked
  618.             modules. The module source file <code><var>module-file</var></code>
  619.             will be searched in the <code>modules/<var>module-type</var></code>
  620.             subdirectory of your Apache HTTP server source tree so it has to be
  621.             placed there before. If it is not found here 
  622.             <code>configure</code> is considering <var>module-file</var> to be
  623.             an absolute file path and tries to copy the source file into the
  624.             <var>module-type</var> subdirectory.</p>
  625.           <p>This option is useful to add small external modules consisting of
  626.             one source file. For more complex modules you should read the
  627.             vendor's documentation.</p>
  628.           <note><title>Note</title>
  629.             If you want to build a DSO module instead of a statically linked
  630.             use <a href="apxs.html">apxs</a>.</note>
  631.         </dd>
  632.  
  633.         <dt><code>--with-mpm=MPM</code></dt>
  634.         <dd>Choose the process model for your server. You have to select
  635.           exactly one <a href="../mpm.html">Multi-Processing Module</a>.
  636.           Otherwise the <a href="../mpm.html#defaults">default MPM</a> for
  637.           your operating system will be taken. Possible MPMs are
  638.           <module>beos</module>, <module>leader</module>,
  639.           <module>mpmt_os2</module>, <module>perchild</module>,
  640.           <module>prefork</module>, <module>threadpool</module> and
  641.           <module>worker</module>.</dd>
  642.       </dl>
  643.     </section>
  644.  
  645.     <section id="otheroptfeat"><title>Cumulative and other options</title>
  646.       <dl>
  647.         <dt><code>--enable-maintainer-mode</code></dt>
  648.         <dd>Turn on debugging and compile time warnings.</dd>
  649.  
  650.         <dt><code>--enable-mods-shared=<var>MODULE-LIST</var></code></dt>
  651.         <dd>
  652.           <p>Defines a list of modules to be enabled and build as dynamic
  653.             shared modules. This mean, these module have to be loaded
  654.             dynamically by using the  <directive
  655.             module="mod_so">LoadModule</directive> directive.</p>
  656.           <p><var>MODULE-LIST</var> is a space separated list of modulenames
  657.             enclosed by quotation marks. The module names are given without the
  658.             preceding <code>mod_</code>. For example:</p>
  659.           <example>
  660.             --enable-mods-shared='headers rewrite dav'
  661.           </example>
  662.           <p>Additionally you can use the special keywords <code>all</code> and
  663.             <code>most</code>. For example,</p>
  664.           <example>
  665.             --enable-mods-shared=most
  666.           </example>
  667.           <p>will compile most modules and build them as DSO modules.
  668.             <!-- See <a href="../install/enabledmodules.html">Overview of
  669.               enabled modules</a> for further information. --></p>
  670.         </dd>
  671.                     
  672.         <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
  673.         <dd>This option behaves similar to <code>--enable-mods-shared</code>, 
  674.           but will link the given modules statically. This mean, these modules
  675.           will always be present while running <code>httpd</code>. They need
  676.           not be loaded with <directive
  677.           module="mod_so">LoadModule</directive>.</dd>
  678.  
  679.         <dt><code>--enable-v4-mapped</code></dt>
  680.         <dd>Allow IPv6 sockets to handle IPv4 connections.</dd>
  681.  
  682.         <dt><code>--with-port=<var>PORT</var></code></dt>
  683.         <dd>This defines the port on which <code>httpd</code> will listen. This
  684.           port number is used when generating the configuration file
  685.           <code>httpd.conf</code>. The default is 80.</dd>
  686.  
  687.         <dt><code>--with-program-name</code></dt>
  688.         <dd>Define an alternative executable name. The default is
  689.           <code>httpd</code>.</dd>
  690.       </dl>
  691.     </section>
  692.   </section>
  693.  
  694.   <section id="packages"><title>Optional packages</title>
  695.     <p>These options are used to define optional packages.</p>
  696.  
  697.     <section id="generalpackages"><title>General syntax</title>
  698.       <p>Generally you can use the following syntax to define an optional
  699.         package:</p>
  700.  
  701.       <dl>
  702.         <dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt>
  703.         <dd>Use the package <var>PACKAGE</var>. The default value for
  704.           <var>ARG</var> is<code>yes</code>.</dd>
  705.  
  706.         <dt><code>--without-<var>PACKAGE</var></code></dt>
  707.         <dd>Do not use the package <var>PACKAGE</var>. This is the same as
  708.           <code>--with-<var>PACKAGE</var>=no</code>. This option is provided by
  709.           <code>autoconf</code> but not very useful for the Apache HTTP
  710.           Server.</dd>
  711.       </dl>
  712.     </section>
  713.  
  714.     <!-- options not known are passed to packasges?
  715.     are there other important options for packages? -->
  716.  
  717.     <section id="packageopt"><title>Specific packages</title>
  718.       <dl>
  719.         <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
  720.         <dd>The Apache Portable Runtime (APR) is part of the <code>httpd</code>
  721.           source distribution and will automatically be build together with the
  722.           HTTP server. If you want to use an already installed APR instead you
  723.           have to tell <code>configure</code> the path to the
  724.           <code>apr-config</code> script. You may set the absolute path and name
  725.           or the directory to the installed APR. <code>apr-config</code> must
  726.           exists within this directory or the subdirectory
  727.           <code>bin</code>.</dd>
  728.         
  729.         <dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt>
  730.         <dd>The Apache Portable Runtime Utilities (APU) are part of the
  731.           <code>httpd</code> source distribution and will automatically be build
  732.           together with the HTTP server. If you want to use an already installed
  733.           APU instead you have to tell <code>configure</code> the path to the
  734.           <code>apu-config</code> script. You may set the absolute path and name
  735.           or the directory to the installed APU. <code>apu-config</code> must
  736.           exists within this directory or the subdirectory
  737.           <code>bin</code>.</dd>
  738.  
  739.         <dt><code>--with-ssl=<var>DIR</var></code></dt>
  740.         <dd>If <module>mod_ssl</module> has been enabled <code>configure</code>
  741.           searches for an installed OpenSSL. You can set the directory path
  742.           to the SSL/TLS toolkit instead.</dd>
  743.  
  744.         <dt><code>--with-z=<var>DIR</var></code></dt>
  745.         <dd><code>configure</code> searches automatically for an installed
  746.           <code>zlib</code> library if your source configuration requires one
  747.           (e.g., when <module>mod_deflate</module> is enabled). You can set the
  748.           directory path to the compression library instead.</dd>
  749.       </dl>
  750.  
  751.       <p>Several features of the Apache HTTP Server, including
  752.         <module>mod_authn_dbm</module> and <module>mod_rewrite</module>'s DBM
  753.         <directive module="mod_rewrite">RewriteMap</directive> use simple
  754.         key/value databases for quick lookups of information. SDBM is included
  755.         in the APU, so this database is always available. If you would like to
  756.         use other database types, use the following options to enable
  757.         them:</p>
  758.         
  759.       <dl>
  760.         <dt><code>--with-gdbm[=<var>path</var>]</code></dt>
  761.         <dd>If no <var>path</var> is specified, <code>configure</code> will
  762.           search for the include files and libraries of a GNU DBM
  763.           installation in the usual search paths. An explicit
  764.           <var>path</var> will cause <code>configure</code> to look in
  765.           <code><var>path</var>/lib</code> and
  766.           <code><var>path</var>/include</code> for the relevant files.
  767.           Finally, the <var>path</var> may specify specific include and
  768.           library paths separated by a colon.</dd>
  769.           
  770.         <dt><code>--with-ndbm[=<var>path</var>]</code></dt>
  771.         <dd>Like <code>--with-gdbm</code>, bur searches for a New DBM
  772.           installation.</dd>
  773.         
  774.         <dt><code>--with-berkeley-db[=<var>path</var>]</code></dt>
  775.         <dd>Like <code>--with-gdbm</code>, but searches for a Berkeley DB
  776.           installation.</dd>
  777.       </dl>
  778.  
  779.       <note><title>Note</title>
  780.         <p>The DBM options are provided by the APU and passed through to its
  781.           configuration script. They are useless when using an already
  782.           installed APU defined by <code>--with-apr-util</code>.</p>
  783.         <p>You may use more then one DBM implementation together with your
  784.           HTTP server. The appropriated DBM type will be configured within
  785.           the runtime configuration at each time.</p>
  786.       </note>
  787.     </section>
  788.   </section>
  789.   
  790.   <section id="supportopt"><title>Options for support programs</title>
  791.     <dl>
  792.       <dt><code>--enable-static-support</code></dt>
  793.       <dd>Build a statically linked version of the support binaries. This
  794.         means, a stand-alone executable will be built with all the necessary
  795.         libraries integrated. Otherwise the support binaries are linked
  796.         dynamically by default.</dd>
  797.  
  798.       <dt><code>--enable-suexec</code></dt>
  799.       <dd>Use this option to enable <code><a
  800.         href="suexec.html">suexec</a></code>, which allows you to set
  801.         uid and gid for spawned processes. <strong>Do not use this
  802.         option unless you understand all the security implications of
  803.         running a suid binary on your server.</strong> Further options
  804.         to configure <code>suexec</code> are described <a
  805.         href="#suexec">below</a>.</dd> </dl>
  806.  
  807.     <p>It is possible to create a statically linked binary of a single
  808.       support program by using the following options:</p>
  809.  
  810.     <dl>
  811.       <dt><code>--enable-static-ab</code></dt>
  812.       <dd>Build a statically linked version of <code><a
  813.             href="ab.html">ab</a></code>.</dd>
  814.  
  815.       <!-- missing documentation for chechgid -->
  816.       <dt><code>--enable-static-checkgid</code></dt>
  817.       <dd>Build a statically linked version of <code>checkgid</code>.</dd>
  818.  
  819.       <!-- missing documentation for htdbm -->
  820.       <dt><code>--enable-static-htdbm</code></dt>
  821.       <dd>Build a statically linked version of <code>htdbm</code>.</dd>
  822.  
  823.       <dt><code>--enable-static-htdigest</code></dt>
  824.       <dd>Build a statically linked version of <code><a
  825.             href="htdigest.html">htdigest</a></code>.</dd>
  826.         
  827.       <dt><code>--enable-static-htpasswd</code></dt>
  828.       <dd>Build a statically linked version of <code><a
  829.             href="htpasswd.html">htpasswd</a></code>.</dd>
  830.  
  831.       <dt><code>--enable-static-logresolve</code></dt>
  832.       <dd>Build a statically linked version of <code><a
  833.             href="logresolve.html">logresolve</a></code>.</dd>
  834.  
  835.       <dt><code>--enable-static-rotatelogs</code></dt>
  836.       <dd>Build a statically linked version of <code><a
  837.             href="rotatelogs.html">rotatelogs</a></code>.</dd>
  838.     </dl>
  839.  
  840.     <section id="suexec"><title>suexec configuration options</title>
  841.       <p>The following options are used to fine tune the behavior of <code><a
  842.         href="suexec.html">suexec</a></code>. See <a
  843.         href="suexec.html#install">Configuring and installing suEXEC</a>
  844.         for further information.</p>
  845.  
  846.       <dl>
  847.         <dt><code>--with-suexec-bin</code></dt>
  848.         <dd>This defines the path to suexec binary. Default is
  849.           <code>--sbindir</code> (see <a href="directoryfinetuning">Fine
  850.             tuning of installation directories</a>).</dd>
  851.  
  852.         <dt><code>--with-suexec-caller</code></dt>
  853.         <dd>This defines the user allowed to call <code>suexec</code>. It should
  854.           be the same as the user under which <code>httpd</code> normally
  855.           runs.</dd>
  856.  
  857.         <dt><code>--with-suexec-docroot</code></dt>
  858.         <dd>This defines the directory tree under which <code>suexec</code>
  859.           access is allowed for executables. Default value is
  860.           <code>--datadir/htdocs</code>.</dd>
  861.  
  862.         <dt><code>--with-suexec-gidmin</code></dt>
  863.         <dd>Define this as the lowest GID allowed to be a target user for
  864.           <code>suexec</code>. The default value is 100.</dd>
  865.  
  866.         <dt><code>--with-suexec-logfile</code></dt>
  867.         <dd>This defines the filename of the <code>suexec</code> logfile. By
  868.           default the logfile is named <code>suexec_log</code> and located in
  869.           <code>--logfiledir</code>.</dd>
  870.  
  871.         <dt><code>--with-suexec-safepath</code></dt>
  872.         <dd>Define the value of the environment variable <code>PATH</code> to
  873.           be set for processes started by <code>suexec</code>. Default value is
  874.           <code>/usr/local/bin:/usr/bin:/bin</code>.</dd>
  875.  
  876.         <dt><code>--with-suexec-userdir</code></dt>
  877.         <dd>This defines the subdirectory under the user's directory that
  878.           contains all executables for which <code>suexec</code> access is
  879.           allowed. This setting is necessary when you want to use
  880.           <code>suexec</code> together with user-specific directories (as
  881.           provided by <module>mod_userdir</module>). The default is
  882.           <code>public_html</code>.</dd>
  883.  
  884.         <dt><code>--with-suexec-uidmin</code></dt>
  885.         <dd>Define this as the lowest UID allowed to be a target user for
  886.           <code>suexec</code>. The default value is 100.</dd>
  887.  
  888.         <dt><code>--with-suexec-umask</code></dt>
  889.         <dd>Set <code>umask</code> for processes started by <code>suexec</code>.
  890.           It defaults to your system settings.</dd>
  891.       </dl>
  892.     </section>
  893.   </section>
  894. </section>
  895.  
  896. <section id="env"><title>Environment variables</title>
  897.   <p>There are some useful environment variables to override the choices made by
  898.     <code>configure</code> or to help it to find libraries and programs with
  899.     nonstandard names or locations.</p>
  900.  
  901.   <!-- are these all useful variables? -->
  902.   <dl>
  903.     <dt><code>CC</code></dt>
  904.     <dd>Define the C compiler command to be used for compilation.</dd>
  905.  
  906.     <dt><code>CFLAGS</code></dt>
  907.     <dd>Set C compiler flags you want to use for compilation.</dd>
  908.  
  909.     <dt><code>CPP</code></dt>
  910.     <dd>Define the C preprocessor command to be used.</dd>
  911.  
  912.     <dt><code>CPPFLAGS</code></dt>
  913.     <dd>Set C/C++ preprocessor flags, e.g. <code>-I<var>includedir</var></code>
  914.       if you have headers in a nonstandard directory <var>includedir</var>.</dd>
  915.  
  916.     <dt><code>LDFLAGS</code></dt>
  917.     <dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have
  918.       libraries in a nonstandard directory <var>libdir</var>.</dd> 
  919.   </dl>
  920. </section>
  921. </manualpage>
  922.