]> granicus.if.org Git - apache/commitdiff
Intergrate Kess' configure docs in the docs tree and,
authorJoshua Slive <slive@apache.org>
Thu, 25 Mar 2004 19:16:24 +0000 (19:16 +0000)
committerJoshua Slive <slive@apache.org>
Thu, 25 Mar 2004 19:16:24 +0000 (19:16 +0000)
in particular, integrate them into install.xml by removing
large chunks of that document and making it a summary
with pointers into configure.xml.

(I also snuck in the odd fix to both install.xml and
configure.xml.  Sorry for the mix.)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103154 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/install.html.en
docs/manual/install.xml
docs/manual/programs/configure.html.en
docs/manual/programs/configure.xml
docs/manual/programs/index.html.en
docs/manual/programs/index.xml
docs/manual/sitemap.html.en
docs/manual/sitemap.xml

index 4301558df6d7d4c9cb00c809934ebb34fee95f62..8ba67911b602776d78bf9fc4ba5ad88197041964 100644 (file)
@@ -52,7 +52,7 @@
 <li><img alt="" src="./images/down.gif" /> <a href="#customize">Customize</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#test">Test</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Upgrading</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="invoking.html">Starting Apache</a></li><li><a href="stopping.html">Stopping and Restarting</a></li></ul></div>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="programs/configure.html">Configure the source tree</a></li><li><a href="invoking.html">Starting Apache</a></li><li><a href="stopping.html">Stopping and Restarting</a></li></ul></div>
 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="overview" id="overview">Overview for the
 <h2><a name="download" id="download">Download</a></h2>
 
     <p>Apache can be downloaded from the <a href="http://httpd.apache.org/download.cgi">Apache HTTP Server
-    download site</a> which lists several mirrors. You'll find here
-    the latest stable release.</p>
-
-    <p>After downloading, especially if a mirror site is used, it
-    is important to verify that you have a complete and unmodified
-    version of the Apache HTTP Server. This can be accomplished by
-    testing the downloaded tarball against the PGP signature. This,
-    in turn, is a two step procedure. First, you must obtain the
-    <a href="http://www.apache.org/dist/httpd/KEYS"><code>KEYS</code></a>
-    file from the Apache distribution site, too. (To assure that the
-    <code>KEYS</code> file itself has not been modified, it may be a good
-    idea to use a file from a previous distribution of Apache or import
-    the keys from a public key server.) The keys are imported into
-    your personal key ring using one of the following commands (depending
-    on your pgp version):</p>
-
-<div class="example"><p><code>$ pgp &lt; KEYS</code></p></div>
-
-    <p>or </p>
-
-<div class="example"><p><code>$ gpg --import KEYS</code></p></div>
-
-    <p>The next step is to test the tarball against the PGP
-    signature, which should always be obtained from the <a href="http://httpd.apache.org/download.cgi">main Apache
-    website</a>. A link to the signature file is placed behind the
-    corresponding download link or may be found in the particular
-    directory at the <a href="http://www.apache.org/dist/httpd/">Apache
-    distribution site</a>. Its filename is identical to the source
-    tarball with the addition of <code>.asc</code>. Then you can check
-    the distribution with one of the following commands (again,
-    depending on your pgp version):</p>
-
-<div class="example"><p><code>$ pgp httpd-2_1_<em>NN</em>.tar.gz.asc</code></p></div>
-
-    <p>or</p>
-
-<div class="example"><p><code>$ gpg --verify httpd-2_1_<em>NN</em>.tar.gz.asc</code></p></div>
-
-    <p>You should receive a message like</p>
-
-<div class="example"><p><code>Good signature from user "Martin Kraemer
-      &lt;martin@apache.org&gt;".</code></p></div>
-
-    <p>Depending on the trust relationships contained in your key
-    ring, you may also receive a message saying that the
-    relationship between the key and the signer of the key cannot
-    be verified. This is not a problem if you trust the
-    authenticity of the <code>KEYS</code> file.</p>
+    download site</a> which lists several mirrors.  Most users of
+    Apache on unix-like systems will be better off downloading and
+    compiling a source version.  The build process (described below) is
+    easy, and it allows you to customize your server to suit your needs.
+    In addition, binary releases are often not up to date with the latest
+    source releases.  If you do download a binary, follow the instructions
+    in the <code>INSTALL.bindist</code> file inside the distribution.</p>
+
+    <p>After downloading, it is important to verify that you ahve a
+    complete and unmodified version of the Apache HTTP Server. This
+    can be accomplished by testing the downloaded tarball against the
+    PGP signature.  Details on how to do this are available on the <a href="http://httpd.apache.org/download.cgi#verify">download
+    page</a> and an extended example is available describing the <a href="http://httpd.apache.org/dev/verification.html">use of
+    PGP</a>.</p>
 
 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 <div class="section">
     simple matter of uncompressing, and then untarring:</p>
 
 <div class="example"><p><code>
-      $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
-       $ tar xvf httpd-2_1_<em>NN</em>.tar
+$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
+$ tar xvf httpd-2_1_<em>NN</em>.tar
 </code></p></div>
 
     <p>This will create a new directory under the current directory
 <div class="section">
 <h2><a name="configure" id="configure">Configuring the source tree</a></h2>
 
-    <p>The next step is to configure the Apache source tree for
-    your particular platform and personal requirements. This is
-    done using the script <code>configure</code> included in the
-    root directory of the distribution. (Developers downloading the
-    CVS version of the Apache source tree will need to have
-    <code>autoconf</code> and <code>libtool</code> installed and
-    will need to run <code>buildconf</code> before proceeding with
-    the next steps. This is not necessary for official
-    releases.)</p>
+    <p>The next step is to configure the Apache source tree for your
+    particular platform and personal requirements. This is done using
+    the script <code><a href="programs/configure.html">configure</a></code> included in
+    the root directory of the distribution. (Developers downloading
+    the CVS version of the Apache source tree will need to have
+    <code>autoconf</code> and <code>libtool</code> installed and will
+    need to run <code>buildconf</code> before proceeding with the next
+    steps. This is not necessary for official releases.)</p>
 
     <p>To configure the source tree using all the default options,
     simply type <code>./configure</code>. To change the default
     options, <code>configure</code> accepts a variety of variables
-    and command line options. Environment variables are generally
-    placed before the <code>./configure</code> command, while other
-    options are placed after. The most important option here is the
-    location prefix where Apache is to be installed later, because
-    Apache has to be configured for this location to work
-    correctly. But there are a lot of other options available for
-    your pleasure.</p>
+    and command line options.</p>
+
+    <p>The most important option is the location prefix where Apache
+    is to be installed later, because Apache has to be configured for
+    this location to work correctly.  More fine-tuned control of the
+    location of files is possible with additional <a href="programs/configure.html#installationdirectories">configure
+    options</a>.</p>
+
+    <p>Also at this point, you can specify which <a href="programs/configure.html#optionalfeatures">features</a> you
+    want included in Apache by enabling and disabling <a href="mod/">modules</a>.  Apache comes with a <a href="module-dict.html#Status">Base</a> set of modules included by
+    default.  Other modules are enabled using the
+    <code>enable-<var>module</var></code> option, where
+    <var>module</var> is the name of the module with the
+    <code>mod_</code> string removed and with any underscore converted
+    to a dash.  You can also choose to compile modules as <a href="dso.html">shared objects (DSOs)</a> -- which can be loaded
+    or unloaded at runtime -- by using the option
+    <code>enable-<var>module</var>=shared</code>.  Similarly, you can
+    disable Base modules with the
+    <code>--disable-<var>module</var></code> option.  Be careful when
+    using these options, since <code>configure</code> cannot warn you
+    if the module you specify does not exit; it will simply ignore the
+    option.</p>
+
+    <p>In addition, it is sometimes necessary to provide the
+    <code>configure</code> script with extra information about the
+    location of your compiler, libraries, or header files.  This is
+    done by passing either environment variables or command line
+    options to <code>configure</code>.  For more information, see the
+    <a href="programs/configure.html">configure manual page</a>.</p>
 
     <p>For a short impression of what possibilities you have, here
     is a typical example which compiles Apache for the installation
     test for the availability of features on your system and build
     Makefiles which will later be used to compile the server.</p>
 
-    <p>The easiest way to find all of the configuration flags for
-    Apache is to run <code>./configure --help</code>. What follows is a
-    brief description of most of the arguments and environment
-    variables.</p>
-
-<h3><a name="environment" id="environment">Environment Variables</a></h3>
-
-    <p>The <code>autoconf</code> build process uses several environment
-    variables to configure the build environment. In general, these
-    variables change the method used to build Apache, but not the
-    eventual features of the server. These variables can be placed
-    in the environment before invoking <code>configure</code>, but
-    it is usually easier to specify them on the
-    <code>configure</code> command line as demonstrated in the
-    example above.</p>
-
-    <dl>
-      <dt><code>CC=...</code></dt>
-
-      <dd>The name of the C compiler command.</dd>
-
-      <dt><code>CPPFLAGS=...</code></dt>
-
-      <dd>Miscellaneous C preprocessor and compiler options.</dd>
-
-      <dt><code>CFLAGS=...</code></dt>
-
-      <dd>Debugging and optimization options for the C
-      compiler.</dd>
-
-      <dt><code>LDFLAGS=...</code></dt>
-
-      <dd>Miscellaneous options to be passed to the linker.</dd>
-
-      <dt><code>LIBS=...</code></dt>
-
-      <dd>Library location information ("<code>-L</code>" and
-      "<code>-l</code>" options) to pass to the linker.</dd>
-
-      <dt><code>INCLUDES=...</code></dt>
-
-      <dd>Header file search directories ("<code>-I<em>dir</em></code>").</dd>
-
-      <dt><code>TARGET=...</code> [Default: <code>httpd</code>]</dt>
-
-      <dd>Name of the executable which will be built.</dd>
-
-      <dt><code>NOTEST_CPPFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_CFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_LDFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_LIBS=...</code></dt>
-
-      <dd>These variables share the same function as their
-      non-<code>NOTEST</code> namesakes. However, the variables are
-      applied to the build process only after autoconf has performed its
-      feature testing. This allows the inclusion of flags which
-      will cause problems during feature testing, but must be used
-      for the final compilation.</dd>
-
-      <dt><code>SHLIB_PATH=...</code></dt>
-
-      <dd>Options which specify shared library paths for the
-      compiler and linker.</dd>
-    </dl>
-
-
-<h3><a name="output" id="output">autoconf Output Options</a></h3>
-
-    <dl>
-      <dt><code>--help</code></dt>
-
-      <dd>Prints the usage message including all available options,
-      but does not actually configure anything.</dd>
-
-      <dt><code>--quiet</code></dt>
-
-      <dd>Prevents the printing of the usual "<code>checking...</code>"
-      messages.</dd>
-
-      <dt><code>--verbose</code></dt>
-
-      <dd>Prints much more information during the configuration
-      process, including the names of all the files examined.</dd>
-    </dl>
-
-
-<h3><a name="pathnames" id="pathnames">Pathnames</a></h3>
-
-    <p>There are currently two ways to configure the pathnames
-    under which Apache will install its files. First, you can
-    specify a directory and have Apache install itself under that
-    directory in its default locations.</p>
-
-    <dl>
-      <dt><code>--prefix=<em>PREFIX</em></code> [Default:
-      <code>/usr/local/apache2</code>]</dt>
-
-      <dd>Specifies the directory under which the Apache files will
-      be installed.</dd>
-    </dl>
-
-    <p>It is possible to specify that architecture-dependent files
-    should be placed under a different directory.</p>
-
-    <dl>
-      <dt><code>--exec-prefix=<em>EPREFIX</em></code> [Default:
-      <code><em>PREFIX</em></code>]</dt>
-
-      <dd>Specifies the directory under which
-      architecture-dependent files will be placed.</dd>
-    </dl>
-
-    <p>The second, and more flexible way to configure the install
-    path locations for Apache is using the
-    <code>config.layout</code> file. Using this method, it is
-    possible to separately specify the location for each type of
-    file within the Apache installation. The
-    <code>config.layout</code> file contains several example
-    configurations, and you can also create your own custom
-    configuration following the examples. The different layouts in
-    this file are grouped into <code>&lt;Layout
-    FOO&gt;...&lt;/Layout&gt;</code> sections and referred to by
-    name as in <code>FOO</code>.</p>
-
-    <dl>
-      <dt><code>--enable-layout=<em>LAYOUT</em></code></dt>
-
-      <dd>Use the named layout in the <code>config.layout</code>
-      file to specify the installation paths.</dd>
-    </dl>
-
-
-
-<h3><a name="modules" id="modules">Modules</a></h3>
-
-    <p>Apache is a modular server. Only the most basic
-    functionality is included in the core server. Extended features
-    are available in various modules. During the configuration
-    process, you must select which modules to compile for use with
-    your server. You can view a <a href="mod/">list of modules</a> included in
-    the documentation. Those modules with a <a href="mod/module-dict.html#Status">status</a> of "Base" are
-    included by default and must be specifically disabled if you do
-    not want them (e.g. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>). Modules with any
-    other status must be specifically enabled if you wish to use them
-    (e.g. <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>).</p>
-
-    <p>There are two ways for a module to be compiled and used with
-    Apache. Modules may be <em>statically compiled</em>, which
-    means that they are permanently included in the Apache binary.
-    Alternatively, if your operating system supports Dynamic Shared
-    Objects (DSOs) and <code>autoconf</code> can detect that support, then
-    modules may be <em>dynamically compiled</em>. DSO modules are
-    stored separately from the Apache binary, and may be included
-    or excluded from the server using the run-time configuration
-    directives provided by <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.
-    The mod_so is automatically included in the server if any
-    dynamic modules are included in the compilation. If you would
-    like to make your server capable of loading DSOs without
-    actually compiling any dynamic modules, you can explicitly
-    <code>--enable-so</code>.</p>
-
-    <dl>
-      <dt><code>--enable-<em>MODULE</em>[=shared]</code></dt>
-
-      <dd>Compile and include the module <em>MODULE</em>. The
-      identifier <em>MODULE</em> is the <a href="mod/module-dict.html#ModuleIdentifier">Module
-      Identifier</a> from the module documentation without the
-      "_module" string. To compile the module as a DSO, add the
-      option <code>=shared</code>.</dd>
-
-      <dt><code>--disable-<em>MODULE</em></code></dt>
-
-      <dd>Remove the module <em>MODULE</em> which would otherwise
-      be compiled and included.</dd>
-
-      <dt><code>--enable-modules=<em>MODULE-LIST</em></code></dt>
-
-      <dd>Compile and include the modules listed in the
-      space-separated <em>MODULE-LIST</em>.</dd>
-
-      <dt>
-      <code>--enable-mods-shared=<em>MODULE-LIST</em></code></dt>
-
-      <dd>Compile and include the modules in the space-separated
-      <em>MODULE-LIST</em> as dynamically loadable (DSO)
-      modules.</dd>
-    </dl>
-
-    <p>The <em>MODULE-LIST</em> in the
-    <code>--enable-modules</code> and
-    <code>--enable-mods-shared</code> options is usually a
-    space-separated list of module identifiers. For example, to
-    enable <code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code> and <code class="module"><a href="./mod/mod_info.html">mod_info</a></code>,
-    you can either use</p>
-
-<div class="example"><p><code>./configure --enable-dav --enable-info</code></p></div>
-
-    <p>or, equivalently,</p>
-
-<div class="example"><p><code>./configure --enable-modules="dav info"</code></p></div>
-
-    <p>In addition, the special keywords <code>all</code> or
-    <code>most</code> can be used to add all or most of the modules
-    in one step. You can then remove any modules that you do not
-    want with the <code>--disable-<em>MODULE</em></code> option.
-    For example, to include all modules as DSOs with the exception
-    of <code class="module"><a href="./mod/mod_info.html">mod_info</a></code>, you can use</p>
-
-<div class="example"><p><code>
-      ./configure --enable-mods-shared=all
-      --disable-info
-</code></p></div>
-
-    <p>In addition to the standard set of modules, Apache 2.0 also
-    includes a choice of <a href="mpm.html">Multi-Processing
-    Modules</a> (MPMs). One, and only one MPM must be included in
-    the compilation process. The default MPMs for each platform are
-    listed on the <a href="mpm.html">MPM documentation page</a>,
-    but can be overridden on the <code>configure</code> command
-    line.</p>
-
-    <dl>
-      <dt><code>--with-mpm=<em>NAME</em></code></dt>
-
-      <dd>Choose the mpm <em>NAME</em>.</dd>
-    </dl>
-
-    <p>To activate an MPM called <var>mpm_name</var>, you can use</p>
-
-<div class="example"><p><code>
-     ./configure --with-mpm=<var>mpm_name</var>
-</code></p></div>
-
-
-
-<h3><a name="dbm" id="dbm">DBM</a></h3>
-
-    <p>Several Apache features, including
-    <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s
-    DBM <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> use
-    simple key/value databases for quick lookups of information.  Apache
-    includes SDBM with its source-code, so this database is always
-    available.  If you would like to use other database types, the
-    following <code>configure</code> options are available:</p>
-
-<dl>
-<dt><code>--with-gdbm[=<em>path</em>]</code></dt>
-<dt><code>--with-ndbm[=<em>path</em>]</code></dt>
-<dt><code>--with-berkeley-db[=<em>path</em>]</code></dt>
-
-<dd>If no <em>path</em> is specified, Apache will search for the
-include files and libraries in the usual search paths.  An explicit
-<em>path</em> will cause Apache to look in
-<em>path</em><code>/lib</code> and
-<em>path</em><code>/include</code> for the relevant files.  Finally,
-the <em>path</em> may specify specific include and library paths
-separated by a colon.</dd>
-</dl>
-
-
-
-<h3><a name="suexec" id="suexec">Suexec</a></h3>
-
-    <p>Apache includes a support program called <a href="suexec.html">suexec</a> which can be used to isolate user
-    CGI programs. However, if suexec is improperly configured, it
-    can cause serious security problems. Therefore, you should
-    carefully read and consider the <a href="suexec.html">suexec
-    documentation</a> before implementing this feature.</p>
-
+    <p>Details on all the different <code>configure</code> options are
+    available on the <a href="programs/configure.html">configure
+    manual page</a>.</p>
 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="compile" id="compile">Build</a></h2>
index 664df12ae0dee8aed1fe62becb4c6cd5e7090189..bb84a123cc36fca1beae8c6a7f41a8fc1125b2c0 100644 (file)
@@ -44,6 +44,7 @@
 
 </summary>
 
+<seealso><a href="programs/configure.html">Configure the source tree</a></seealso>
 <seealso><a href="invoking.html">Starting Apache</a></seealso>
 <seealso><a href="stopping.html">Stopping and Restarting</a></seealso>
 
 
     <p>Apache can be downloaded from the <a
     href="http://httpd.apache.org/download.cgi">Apache HTTP Server
-    download site</a> which lists several mirrors. You'll find here
-    the latest stable release.</p>
-
-    <p>After downloading, especially if a mirror site is used, it
-    is important to verify that you have a complete and unmodified
-    version of the Apache HTTP Server. This can be accomplished by
-    testing the downloaded tarball against the PGP signature. This,
-    in turn, is a two step procedure. First, you must obtain the
-    <a href="http://www.apache.org/dist/httpd/KEYS"><code>KEYS</code></a>
-    file from the Apache distribution site, too. (To assure that the
-    <code>KEYS</code> file itself has not been modified, it may be a good
-    idea to use a file from a previous distribution of Apache or import
-    the keys from a public key server.) The keys are imported into
-    your personal key ring using one of the following commands (depending
-    on your pgp version):</p>
-
-<example>$ pgp &lt; KEYS</example>
-
-    <p>or </p>
-
-<example>$ gpg --import KEYS</example>
-
-    <p>The next step is to test the tarball against the PGP
-    signature, which should always be obtained from the <a
-    href="http://httpd.apache.org/download.cgi">main Apache
-    website</a>. A link to the signature file is placed behind the
-    corresponding download link or may be found in the particular
-    directory at the <a href="http://www.apache.org/dist/httpd/">Apache
-    distribution site</a>. Its filename is identical to the source
-    tarball with the addition of <code>.asc</code>. Then you can check
-    the distribution with one of the following commands (again,
-    depending on your pgp version):</p>
-
-<example>$ pgp httpd-2_1_<em>NN</em>.tar.gz.asc</example>
-
-    <p>or</p>
-
-<example>$ gpg --verify httpd-2_1_<em>NN</em>.tar.gz.asc</example>
-
-    <p>You should receive a message like</p>
-
-<example>Good signature from user "Martin Kraemer
-      &lt;martin@apache.org&gt;".</example>
-
-    <p>Depending on the trust relationships contained in your key
-    ring, you may also receive a message saying that the
-    relationship between the key and the signer of the key cannot
-    be verified. This is not a problem if you trust the
-    authenticity of the <code>KEYS</code> file.</p>
+    download site</a> which lists several mirrors.  Most users of
+    Apache on unix-like systems will be better off downloading and
+    compiling a source version.  The build process (described below) is
+    easy, and it allows you to customize your server to suit your needs.
+    In addition, binary releases are often not up to date with the latest
+    source releases.  If you do download a binary, follow the instructions
+    in the <code>INSTALL.bindist</code> file inside the distribution.</p>
+
+    <p>After downloading, it is important to verify that you ahve a
+    complete and unmodified version of the Apache HTTP Server. This
+    can be accomplished by testing the downloaded tarball against the
+    PGP signature.  Details on how to do this are available on the <a
+    href="http://httpd.apache.org/download.cgi#verify">download
+    page</a> and an extended example is available describing the <a
+    href="http://httpd.apache.org/dev/verification.html">use of
+    PGP</a>.</p>
 
 </section>
 
     simple matter of uncompressing, and then untarring:</p>
 
 <example>
-      $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
-       $ tar xvf httpd-2_1_<em>NN</em>.tar
+$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
+$ tar xvf httpd-2_1_<em>NN</em>.tar
 </example>
 
     <p>This will create a new directory under the current directory
 
 <section id="configure"><title>Configuring the source tree</title>
 
-    <p>The next step is to configure the Apache source tree for
-    your particular platform and personal requirements. This is
-    done using the script <code>configure</code> included in the
-    root directory of the distribution. (Developers downloading the
-    CVS version of the Apache source tree will need to have
-    <code>autoconf</code> and <code>libtool</code> installed and
-    will need to run <code>buildconf</code> before proceeding with
-    the next steps. This is not necessary for official
-    releases.)</p>
+    <p>The next step is to configure the Apache source tree for your
+    particular platform and personal requirements. This is done using
+    the script <code><a
+    href="programs/configure.html">configure</a></code> included in
+    the root directory of the distribution. (Developers downloading
+    the CVS version of the Apache source tree will need to have
+    <code>autoconf</code> and <code>libtool</code> installed and will
+    need to run <code>buildconf</code> before proceeding with the next
+    steps. This is not necessary for official releases.)</p>
 
     <p>To configure the source tree using all the default options,
     simply type <code>./configure</code>. To change the default
     options, <code>configure</code> accepts a variety of variables
-    and command line options. Environment variables are generally
-    placed before the <code>./configure</code> command, while other
-    options are placed after. The most important option here is the
-    location prefix where Apache is to be installed later, because
-    Apache has to be configured for this location to work
-    correctly. But there are a lot of other options available for
-    your pleasure.</p>
+    and command line options.</p>
+
+    <p>The most important option is the location prefix where Apache
+    is to be installed later, because Apache has to be configured for
+    this location to work correctly.  More fine-tuned control of the
+    location of files is possible with additional <a
+    href="programs/configure.html#installationdirectories">configure
+    options</a>.</p>
+
+    <p>Also at this point, you can specify which <a
+    href="programs/configure.html#optionalfeatures">features</a> you
+    want included in Apache by enabling and disabling <a
+    href="mod/">modules</a>.  Apache comes with a <a
+    href="module-dict.html#Status">Base</a> set of modules included by
+    default.  Other modules are enabled using the
+    <code>enable-<var>module</var></code> option, where
+    <var>module</var> is the name of the module with the
+    <code>mod_</code> string removed and with any underscore converted
+    to a dash.  You can also choose to compile modules as <a
+    href="dso.html">shared objects (DSOs)</a> -- which can be loaded
+    or unloaded at runtime -- by using the option
+    <code>enable-<var>module</var>=shared</code>.  Similarly, you can
+    disable Base modules with the
+    <code>--disable-<var>module</var></code> option.  Be careful when
+    using these options, since <code>configure</code> cannot warn you
+    if the module you specify does not exit; it will simply ignore the
+    option.</p>
+
+    <p>In addition, it is sometimes necessary to provide the
+    <code>configure</code> script with extra information about the
+    location of your compiler, libraries, or header files.  This is
+    done by passing either environment variables or command line
+    options to <code>configure</code>.  For more information, see the
+    <a href="programs/configure.html">configure manual page</a>.</p>
 
     <p>For a short impression of what possibilities you have, here
     is a typical example which compiles Apache for the installation
     test for the availability of features on your system and build
     Makefiles which will later be used to compile the server.</p>
 
-    <p>The easiest way to find all of the configuration flags for
-    Apache is to run <code>./configure --help</code>. What follows is a
-    brief description of most of the arguments and environment
-    variables.</p>
-
-<section id="environment"><title>Environment Variables</title>
-
-    <p>The <code>autoconf</code> build process uses several environment
-    variables to configure the build environment. In general, these
-    variables change the method used to build Apache, but not the
-    eventual features of the server. These variables can be placed
-    in the environment before invoking <code>configure</code>, but
-    it is usually easier to specify them on the
-    <code>configure</code> command line as demonstrated in the
-    example above.</p>
-
-    <dl>
-      <dt><code>CC=...</code></dt>
-
-      <dd>The name of the C compiler command.</dd>
-
-      <dt><code>CPPFLAGS=...</code></dt>
-
-      <dd>Miscellaneous C preprocessor and compiler options.</dd>
-
-      <dt><code>CFLAGS=...</code></dt>
-
-      <dd>Debugging and optimization options for the C
-      compiler.</dd>
-
-      <dt><code>LDFLAGS=...</code></dt>
-
-      <dd>Miscellaneous options to be passed to the linker.</dd>
-
-      <dt><code>LIBS=...</code></dt>
-
-      <dd>Library location information ("<code>-L</code>" and
-      "<code>-l</code>" options) to pass to the linker.</dd>
-
-      <dt><code>INCLUDES=...</code></dt>
-
-      <dd>Header file search directories ("<code>-I<em>dir</em></code>").</dd>
-
-      <dt><code>TARGET=...</code> [Default: <code>httpd</code>]</dt>
-
-      <dd>Name of the executable which will be built.</dd>
-
-      <dt><code>NOTEST_CPPFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_CFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_LDFLAGS=...</code></dt>
-
-      <dt><code>NOTEST_LIBS=...</code></dt>
-
-      <dd>These variables share the same function as their
-      non-<code>NOTEST</code> namesakes. However, the variables are
-      applied to the build process only after autoconf has performed its
-      feature testing. This allows the inclusion of flags which
-      will cause problems during feature testing, but must be used
-      for the final compilation.</dd>
-
-      <dt><code>SHLIB_PATH=...</code></dt>
-
-      <dd>Options which specify shared library paths for the
-      compiler and linker.</dd>
-    </dl>
-</section>
-
-<section id="output"><title>autoconf Output Options</title>
-
-    <dl>
-      <dt><code>--help</code></dt>
-
-      <dd>Prints the usage message including all available options,
-      but does not actually configure anything.</dd>
-
-      <dt><code>--quiet</code></dt>
-
-      <dd>Prevents the printing of the usual "<code>checking...</code>"
-      messages.</dd>
-
-      <dt><code>--verbose</code></dt>
-
-      <dd>Prints much more information during the configuration
-      process, including the names of all the files examined.</dd>
-    </dl>
-</section>
-
-<section id="pathnames"><title>Pathnames</title>
-
-    <p>There are currently two ways to configure the pathnames
-    under which Apache will install its files. First, you can
-    specify a directory and have Apache install itself under that
-    directory in its default locations.</p>
-
-    <dl>
-      <dt><code>--prefix=<em>PREFIX</em></code> [Default:
-      <code>/usr/local/apache2</code>]</dt>
-
-      <dd>Specifies the directory under which the Apache files will
-      be installed.</dd>
-    </dl>
-
-    <p>It is possible to specify that architecture-dependent files
-    should be placed under a different directory.</p>
-
-    <dl>
-      <dt><code>--exec-prefix=<em>EPREFIX</em></code> [Default:
-      <code><em>PREFIX</em></code>]</dt>
-
-      <dd>Specifies the directory under which
-      architecture-dependent files will be placed.</dd>
-    </dl>
-
-    <p>The second, and more flexible way to configure the install
-    path locations for Apache is using the
-    <code>config.layout</code> file. Using this method, it is
-    possible to separately specify the location for each type of
-    file within the Apache installation. The
-    <code>config.layout</code> file contains several example
-    configurations, and you can also create your own custom
-    configuration following the examples. The different layouts in
-    this file are grouped into <code>&lt;Layout
-    FOO&gt;...&lt;/Layout&gt;</code> sections and referred to by
-    name as in <code>FOO</code>.</p>
-
-    <dl>
-      <dt><code>--enable-layout=<em>LAYOUT</em></code></dt>
-
-      <dd>Use the named layout in the <code>config.layout</code>
-      file to specify the installation paths.</dd>
-    </dl>
-
-</section>
-
-<section id="modules"><title>Modules</title>
-
-    <p>Apache is a modular server. Only the most basic
-    functionality is included in the core server. Extended features
-    are available in various modules. During the configuration
-    process, you must select which modules to compile for use with
-    your server. You can view a <a
-    href="mod/">list of modules</a> included in
-    the documentation. Those modules with a <a
-    href="mod/module-dict.html#Status">status</a> of "Base" are
-    included by default and must be specifically disabled if you do
-    not want them (e.g. <module>mod_userdir</module>). Modules with any
-    other status must be specifically enabled if you wish to use them
-    (e.g. <module>mod_expires</module>).</p>
-
-    <p>There are two ways for a module to be compiled and used with
-    Apache. Modules may be <em>statically compiled</em>, which
-    means that they are permanently included in the Apache binary.
-    Alternatively, if your operating system supports Dynamic Shared
-    Objects (DSOs) and <code>autoconf</code> can detect that support, then
-    modules may be <em>dynamically compiled</em>. DSO modules are
-    stored separately from the Apache binary, and may be included
-    or excluded from the server using the run-time configuration
-    directives provided by <module>mod_so</module>.
-    The mod_so is automatically included in the server if any
-    dynamic modules are included in the compilation. If you would
-    like to make your server capable of loading DSOs without
-    actually compiling any dynamic modules, you can explicitly
-    <code>--enable-so</code>.</p>
-
-    <dl>
-      <dt><code>--enable-<em>MODULE</em>[=shared]</code></dt>
-
-      <dd>Compile and include the module <em>MODULE</em>. The
-      identifier <em>MODULE</em> is the <a
-      href="mod/module-dict.html#ModuleIdentifier">Module
-      Identifier</a> from the module documentation without the
-      "_module" string. To compile the module as a DSO, add the
-      option <code>=shared</code>.</dd>
-
-      <dt><code>--disable-<em>MODULE</em></code></dt>
-
-      <dd>Remove the module <em>MODULE</em> which would otherwise
-      be compiled and included.</dd>
-
-      <dt><code>--enable-modules=<em>MODULE-LIST</em></code></dt>
-
-      <dd>Compile and include the modules listed in the
-      space-separated <em>MODULE-LIST</em>.</dd>
-
-      <dt>
-      <code>--enable-mods-shared=<em>MODULE-LIST</em></code></dt>
-
-      <dd>Compile and include the modules in the space-separated
-      <em>MODULE-LIST</em> as dynamically loadable (DSO)
-      modules.</dd>
-    </dl>
-
-    <p>The <em>MODULE-LIST</em> in the
-    <code>--enable-modules</code> and
-    <code>--enable-mods-shared</code> options is usually a
-    space-separated list of module identifiers. For example, to
-    enable <module>mod_dav</module> and <module>mod_info</module>,
-    you can either use</p>
-
-<example>./configure --enable-dav --enable-info</example>
-
-    <p>or, equivalently,</p>
-
-<example>./configure --enable-modules="dav info"</example>
-
-    <p>In addition, the special keywords <code>all</code> or
-    <code>most</code> can be used to add all or most of the modules
-    in one step. You can then remove any modules that you do not
-    want with the <code>--disable-<em>MODULE</em></code> option.
-    For example, to include all modules as DSOs with the exception
-    of <module>mod_info</module>, you can use</p>
-
-<example>
-      ./configure --enable-mods-shared=all
-      --disable-info
-</example>
-
-    <p>In addition to the standard set of modules, Apache 2.0 also
-    includes a choice of <a href="mpm.html">Multi-Processing
-    Modules</a> (MPMs). One, and only one MPM must be included in
-    the compilation process. The default MPMs for each platform are
-    listed on the <a href="mpm.html">MPM documentation page</a>,
-    but can be overridden on the <code>configure</code> command
-    line.</p>
-
-    <dl>
-      <dt><code>--with-mpm=<em>NAME</em></code></dt>
-
-      <dd>Choose the mpm <em>NAME</em>.</dd>
-    </dl>
-
-    <p>To activate an MPM called <var>mpm_name</var>, you can use</p>
-
-<example>
-     ./configure --with-mpm=<var>mpm_name</var>
-</example>
-
-</section>
-
-<section id="dbm"><title>DBM</title>
-
-    <p>Several Apache features, including
-    <module>mod_authn_dbm</module> and <module>mod_rewrite</module>'s
-    DBM <directive module="mod_rewrite">RewriteMap</directive> use
-    simple key/value databases for quick lookups of information.  Apache
-    includes SDBM with its source-code, so this database is always
-    available.  If you would like to use other database types, the
-    following <code>configure</code> options are available:</p>
-
-<dl>
-<dt><code>--with-gdbm[=<em>path</em>]</code></dt>
-<dt><code>--with-ndbm[=<em>path</em>]</code></dt>
-<dt><code>--with-berkeley-db[=<em>path</em>]</code></dt>
-
-<dd>If no <em>path</em> is specified, Apache will search for the
-include files and libraries in the usual search paths.  An explicit
-<em>path</em> will cause Apache to look in
-<em>path</em><code>/lib</code> and
-<em>path</em><code>/include</code> for the relevant files.  Finally,
-the <em>path</em> may specify specific include and library paths
-separated by a colon.</dd>
-</dl>
-</section>
-
-
-<section id="suexec"><title>Suexec</title>
-
-    <p>Apache includes a support program called <a
-    href="suexec.html">suexec</a> which can be used to isolate user
-    CGI programs. However, if suexec is improperly configured, it
-    can cause serious security problems. Therefore, you should
-    carefully read and consider the <a href="suexec.html">suexec
-    documentation</a> before implementing this feature.</p>
-</section>
+    <p>Details on all the different <code>configure</code> options are
+    available on the <a href="programs/configure.html">configure
+    manual page</a>.</p>
 </section>
 
 <section id="compile"><title>Build</title>
index b9953fa80c6b2c9c6cb7dd4ad3015b796a94cd2f..b0808b333f09ca49e063d018d441520ef8977428 100644 (file)
     particular platform. Various options allow the compilation of a
     server corresponding to your personal requirements.</p>
 
-    <p>This script, included in the root directory of the distribution,
-    is for compilation on Unix and Unix-like systems only. For other
-    platforms, see the <a href="../platform/">platform</a>
-    documentation.</p>
+    <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> 
 </div>
 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
         libraries integrated. Otherwise the support binaries are linked
         dynamically by default.</dd>
 
-      <dt><code>--enable-suexec</code></dt>
-      <dd>Use this option to enable <code><a href="suexec.html">suexec</a></code>, which allows you to set uid
-        and gid for spawned processes. Further options to configure
-        <code>suexec</code> are described <a href="#suexec">below</a>.</dd>
-    </dl>
+      <dt><code>--enable-suexec</code></dt> 
+      <dd>Use this option to enable <code><a href="suexec.html">suexec</a></code>, which allows you to set
+        uid and gid for spawned processes. <strong>Do not use this
+        option unless you understand all the security implications of
+        running a suid binary on your server.</strong> Further options
+        to configure <code>suexec</code> are described <a 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>
index 4b2ec990c62176770cc7501a6013b4f306c07caf..e449609f84d517410b5abbc91b9ba0c72f8f3538 100644 (file)
     particular platform. Various options allow the compilation of a
     server corresponding to your personal requirements.</p>
 
-    <p>This script, included in the root directory of the distribution,
-    is for compilation on Unix and Unix-like systems only. For other
-    platforms, see the <a href="../platform/">platform</a>
-    documentation.</p>
+    <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> 
 </summary>
 
 <seealso><a href="../install.html">Compiling and Installing</a></seealso>
         libraries integrated. Otherwise the support binaries are linked
         dynamically by default.</dd>
 
-      <dt><code>--enable-suexec</code></dt>
+      <dt><code>--enable-suexec</code></dt> 
       <dd>Use this option to enable <code><a
-            href="suexec.html">suexec</a></code>, which allows you to set uid
-        and gid for spawned processes. Further options to configure
-        <code>suexec</code> are described <a href="#suexec">below</a>.</dd>
-    </dl>
+        href="suexec.html">suexec</a></code>, which allows you to set
+        uid and gid for spawned processes. <strong>Do not use this
+        option unless you understand all the security implications of
+        running a suid binary on your server.</strong> Further options
+        to configure <code>suexec</code> are described <a
+        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>
index b14b6a569f1e259e4bec11c07484b60dc7cca265..261e593a97fd7998e1535237c5d4597346bc8a82 100644 (file)
 
       <dd>APache eXtenSion tool</dd>
 
+      <dt><a href="configure.html">configure</a></dt>
+
+      <dd>Configure the source tree</dd>
+
       <dt><a href="dbmmanage.html">dbmmanage</a></dt>
 
       <dd>Create and update user authentication files in DBM format
index c964442673c147f3e33ab7534bc720c6a63a3121..a80c6733698c74a1733817bfbd63d647063748a7 100644 (file)
 
       <dd>APache eXtenSion tool</dd>
 
+      <dt><a href="configure.html">configure</a></dt>
+
+      <dd>Configure the source tree</dd>
+
       <dt><a href="dbmmanage.html">dbmmanage</a></dt>
 
       <dd>Create and update user authentication files in DBM format
index 6cd52d1f223ecabc10da64c2759a38f83c6fa276..84a8fc911422c3f1796b84e87722b61fc80e2b55 100644 (file)
@@ -126,6 +126,7 @@ Server on HPUX</a></li>
 <li><a href="programs/ab.html">Manual Page: ab</a></li>
 <li><a href="programs/apachectl.html">Manual Page: apachectl</a></li>
 <li><a href="programs/apxs.html">Manual Page: apxs</a></li>
+<li><a href="programs/configure.html">Manual Page: configure</a></li>
 <li><a href="programs/dbmmanage.html">Manual Page: dbmmanage</a></li>
 <li><a href="programs/htdigest.html">Manual Page: htdigest</a></li>
 <li><a href="programs/htpasswd.html">Manual Page: htpasswd</a></li>
index 8ac5aee95a477e75f2822ce9e55ff2ef70c302fb..56182cb8f275edfb9be2761dd1dd89de2b745a44 100644 (file)
@@ -118,6 +118,7 @@ Server on HPUX</page>
 <page href="programs/ab.html">Manual Page: ab</page>
 <page href="programs/apachectl.html">Manual Page: apachectl</page>
 <page href="programs/apxs.html">Manual Page: apxs</page>
+<page href="programs/configure.html">Manual Page: configure</page>
 <page href="programs/dbmmanage.html">Manual Page: dbmmanage</page>
 <page href="programs/htdigest.html">Manual Page: htdigest</page>
 <page href="programs/htpasswd.html">Manual Page: htpasswd</page>