]> granicus.if.org Git - apache/blobdiff - docs/manual/install.xml
XML update.
[apache] / docs / manual / install.xml
index 969934a3d6b2d74c643f34575e5c7264f55bab2f..31c3a21cc3e1242380d2b8ef232df06fc9ec331a 100644 (file)
@@ -1,13 +1,15 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
+<!-- $LastChangedRevision$ -->
 
 <!--
- Copyright 2002-2004 Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
 
 <summary>
 
-    <p>This document covers compilation and installation of Apache
+    <p>This document covers compilation and installation of the Apache HTTP Server
     on Unix and Unix-like systems only. For compiling and
     installation on Windows, see <a
-    href="platform/windows.html">Using Apache with Microsoft
-    Windows</a>. For other platforms, see the <a
+    href="platform/windows.html">Using Apache HTTP Server with Microsoft
+    Windows</a> and <a 
+    href="platform/win_compiling.html">Compiling Apache for Microsoft Windows</a>.
+    For other platforms, see the <a
     href="platform/">platform</a> documentation.</p>
 
-    <p>Apache 2.0's configuration and installation environment has
-    changed completely from Apache 1.3. Apache 1.3 used a custom
-    set of scripts to achieve easy installation. Apache 2.0 now
-    uses <code>libtool</code> and <code>autoconf</code>
-    to create an environment that looks like many other Open Source
+    <p>Apache httpd uses <code>libtool</code> and <code>autoconf</code>
+    to create a build environment that looks like many other Open Source
     projects.</p>
 
     <p>If you are upgrading from one minor version to the next (for
-    example, 2.0.50 to 2.0.51), please skip down to the <a
+    example, 2.4.8 to 2.4.9), please skip down to the <a
     href="#upgrading">upgrading</a> section.</p>
 
 </summary>
 
-<seealso><a href="invoking.html">Starting Apache</a></seealso>
+<seealso><a href="programs/configure.html">Configure the source tree</a></seealso>
+<seealso><a href="invoking.html">Starting Apache httpd</a></seealso>
 <seealso><a href="stopping.html">Stopping and Restarting</a></seealso>
 
 <section id="overview"><title>Overview for the
@@ -62,8 +64,9 @@
       <tr>
         <td><a href="#extract">Extract</a></td>
 
-        <td><code>$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
-         $ tar xvf httpd-2_1_<em>NN</em>.tar</code> </td>
+        <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
+         $ tar xvf httpd-<em>NN</em>.tar<br />
+         $ cd httpd-<em>NN</em></code></td>
       </tr>
 
       <tr>
       <tr>
         <td><a href="#test">Test</a></td>
 
-        <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
+        <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
         </td>
       </tr>
     </table>
 
-    <p><em>NN</em> must be replaced with the current minor version
+    <p><em>NN</em> must be replaced with the current version
     number, and <em>PREFIX</em> must be replaced with the
     filesystem path under which the server should be installed. If
     <em>PREFIX</em> is not specified, it defaults to
 
     <p>Each section of the compilation and installation process is
     described in more detail below, beginning with the requirements
-    for compiling and installing Apache HTTPD.</p>
+    for compiling and installing Apache httpd.</p>
 </section>
 
 <section id="requirements"><title>Requirements</title>
 
-    <p>The following requirements exist for building Apache:</p>
+    <p>The following requirements exist for building Apache httpd:</p>
 
     <dl>
+      <dt>APR and APR-Util</dt>
+      <dd>Make sure you have APR and APR-Util already installed on
+      your system. If you don't, or prefer to not use the system-provided
+      versions, download the latest versions of both APR and APR-Util
+      from <a href="http://apr.apache.org/">Apache APR</a>, unpack
+      them into <code>./srclib/apr</code> and <code>./srclib/apr-util</code>
+      (be sure the directory names do not have version numbers; for example,
+      the APR distribution must be under ./srclib/apr/) and use
+      <code>./configure</code>'s <code>--with-included-apr</code>
+      option.  On some platforms, you may have to install the 
+      corresponding <code>-dev</code> packages to allow httpd to build 
+      against your installed copy of APR and APR-Util.</dd>
+
+      <dt>Perl-Compatible Regular Expressions Library (PCRE)</dt>
+      <dd>This library is required but not longer bundled with httpd.  
+      Download the source code from <a href="http://www.pcre.org/">http://www.pcre.org</a>, 
+      or install a Port or Package.  If your build system can't find
+      the pcre-config script installed by the PCRE build, point to it
+      using the <code>--with-pcre</code> parameter.  On some platforms, 
+      you may have to install the corresponding <code>-dev</code> 
+      package to allow httpd to build against your installed copy 
+      of PCRE.</dd>
+      
       <dt>Disk Space</dt>
       <dd>Make sure you have at least 50 MB of temporary free disk
-      space available. After installation Apache occupies
+      space available. After installation the server occupies
       approximately 10 MB of disk space. The actual disk space
       requirements will vary considerably based on your chosen
-      configuration options and any third-party modules.</dd>
+      configuration options, any third-party modules, and, of course,
+      the size of the web site or sites that you have on the server.</dd>
 
       <dt>ANSI-C Compiler and Build System</dt>
       <dd>Make sure you have an ANSI-C compiler installed. The <a
-      href="http://www.gnu.org/software/gcc/gcc.html">GNU C
+      href="http://gcc.gnu.org/">GNU C
       compiler (GCC)</a> from the <a
       href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
-      is recommended (version 2.7.2 is fine). If you don't have GCC
+      is recommended. If you don't have GCC
       then at least make sure your vendor's compiler is ANSI
       compliant. In addition, your <code>PATH</code> must contain
       basic build tools such as <code>make</code>.</dd>
       synchronization facility on your system. Usually the
       <code>ntpdate</code> or <code>xntpd</code> programs are used for
       this purpose which are based on the Network Time Protocol (NTP).
-      See the Usenet newsgroup <a
-      href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
-      and the <a href="http://www.eecis.udel.edu/~ntp/">NTP
+      See the <a href="http://www.ntp.org">NTP
       homepage</a> for more details about NTP software and public
       time servers.</dd>
 
       <dt><a href="http://www.perl.org/">Perl 5</a>
       [OPTIONAL]</dt>
-      <dd>For some of the support scripts like <a
-      href="programs/apxs.html">apxs</a> or <a
-      href="programs/dbmmanage.html">dbmmanage</a> (which are
+      <dd>For some of the support scripts like <program>
+      apxs</program> or <program>dbmmanage</program> (which are
       written in Perl) the Perl 5 interpreter is required (versions
-      5.003 or newer are sufficient). If no such interpreter is found by
-      the `<code>configure</code>' script there is no harm. Of course, you
-      still can build and install Apache 2.0. Only those support scripts
-      cannot be used. If you have multiple Perl interpreters
-      installed (perhaps a Perl 4 from the vendor and a Perl 5 from
-      your own), then it is recommended to use the <code>--with-perl</code>
-      option (see below) to make sure the correct one is selected
-      by <code>./configure</code>.</dd>
+      5.003 or newer are sufficient). If you have multiple Perl
+      interpreters (for example, a systemwide install of Perl 4, and
+      your own install of Perl 5), you are advised to use the
+      <code>--with-perl</code> option (see below) to make sure the
+      correct one is used by <program>configure</program>.
+      If no Perl 5 interpreter is found by the
+      <program>configure</program> script, you will not be able to use
+      the affected support scripts. Of course, you will still be able to
+      build and use Apache httpd.</dd>
     </dl>
 </section>
 
 <section id="download"><title>Download</title>
 
-    <p>Apache can be downloaded from the <a
+    <p>The Apache HTTP Server 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 have 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>
 
 <section id="extract"><title>Extract</title>
 
-    <p>Extracting the source from the Apache HTTPD tarball is a
+    <p>Extracting the source from the Apache HTTP Server tarball is a
     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-<em>NN</em>.tar.gz<br />
+$ tar xvf httpd-<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 <program>configure</program> included in
+    the root directory of the distribution. (Developers downloading
+    an unreleased 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>
+    options, <program>configure</program> accepts a variety of variables
+    and command line options.</p>
+
+    <p>The most important option is the location <code>--prefix</code>
+    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 wide range of modules
+    included by default.  They will be compiled as
+    <a href="dso.html">shared objects (DSOs)</a> which can be loaded
+    or unloaded at runtime.
+    You can also choose to compile modules statically by using the option
+    <code>--enable-<var>module</var>=static</code>.</p>
+
+    <p>Additional 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.  Similarly, you can disable modules with the
+    <code>--disable-<var>module</var></code> option.  Be careful when
+    using these options, since <program>configure</program> cannot warn you
+    if the module you specify does not exist; it will simply ignore the
+    option.</p>
+
+    <p>In addition, it is sometimes necessary to provide the
+    <program>configure</program> 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 <program>configure</program>.  For more information, see the
+    <program>configure</program> manual page. Or invoke
+    <program>configure</program> using the <code>--help</code> option.</p>
 
     <p>For a short impression of what possibilities you have, here
     is a typical example which compiles Apache for the installation
     tree <code>/sw/pkg/apache</code> with a particular compiler and flags
-    plus the two additional modules <module>mod_rewrite</module> and
-    <module>mod_speling</module> for
-    later loading through the DSO mechanism:</p>
+    plus the two additional modules <module>mod_ldap</module> and
+    <module>mod_lua</module>:</p>
 
 <example>
       $ CC="pgcc" CFLAGS="-O2" \<br />
        ./configure --prefix=/sw/pkg/apache \<br />
-       --enable-rewrite=shared \<br />
-       --enable-speling=shared
+       --enable-ldap=shared \<br />
+       --enable-lua=shared
 </example>
 
-    <p>When <code>configure</code> is run it will take several minutes to
+    <p>When <program>configure</program> is run it will take several minutes to
     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 <program>configure</program> options are
+    available on the <program>configure</program> manual page.</p>
 </section>
 
 <section id="compile"><title>Build</title>
@@ -560,9 +305,9 @@ separated by a colon.</dd>
 <example>$ make</example>
 
     <p>Please be patient here, since a base configuration takes
-    approximately 3 minutes to compile under a Pentium III/Linux
-    2.2 system, but this will vary widely depending on your
-    hardware and the number of modules which you have enabled.</p>
+    several minutes to compile and the time will vary widely
+    depending on your hardware and the number of modules that you
+    have enabled.</p>
 </section>
 
 <section id="install"><title>Install</title>
@@ -573,6 +318,10 @@ separated by a colon.</dd>
 
 <example>$ make install</example>
 
+    <p>This step will typically require root privileges, since
+    <em>PREFIX</em> is usually a directory with restricted write
+    permissions.</p>
+
     <p>If you are upgrading, the installation will not overwrite
     your configuration files or documents.</p>
 </section>
@@ -585,11 +334,11 @@ separated by a colon.</dd>
 
 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
 
-    <p>Have a look at the Apache manual under <a
-    href="./">docs/manual/</a> or consult <a
-    href="http://httpd.apache.org/docs-2.1/"
-    >http://httpd.apache.org/docs-2.1/</a> for the most recent version of
-    this manual and a complete reference of available <a
+    <p>Have a look at the Apache manual under
+    <code><em>PREFIX</em>/docs/manual/</code> or consult <a
+    href="http://httpd.apache.org/docs/&httpd.docs;/"
+    >http://httpd.apache.org/docs/&httpd.docs;/</a> for the most recent
+    version of this manual and a complete reference of available <a
     href="mod/directives.html">configuration directives</a>.</p>
 </section>
 
@@ -598,55 +347,55 @@ separated by a colon.</dd>
     <p>Now you can <a href="invoking.html">start</a> your Apache
     HTTP server by immediately running:</p>
 
-<example>$ <em>PREFIX</em>/bin/apachectl start</example>
+<example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
 
-    <p>and then you should be able to request your first document
-    via URL <code>http://localhost/</code>. The web page you see is located
-    under the <directive module="core">DocumentRoot</directive>
+    <p>You should then be able to request your first document
+    via the URL <code>http://localhost/</code>. The web page you see is located
+    under the <directive module="core">DocumentRoot</directive>,
     which will usually be <code><em>PREFIX</em>/htdocs/</code>.
     Then <a href="stopping.html">stop</a> the server again by
     running:</p>
 
-<example>$ <em>PREFIX</em>/bin/apachectl stop</example>
+<example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
 </section>
 <section id="upgrading"><title>Upgrading</title>
 
     <p>The first step in upgrading is to read the release announcement
     and the file <code>CHANGES</code> in the source distribution to
     find any changes that may affect your site.  When changing between
-    major releases (for example, from 1.3 to 2.0 or from 2.0 to 2.2),
+    major releases (for example, from 2.0 to 2.2 or from 2.2 to 2.4),
     there will likely be major differences in the compile-time and
     run-time configuration that will require manual adjustments.  All
-    modules will also need to be upgraded to accomodate changes in the
+    modules will also need to be upgraded to accommodate changes in the
     module API.</p>
 
     <p>Upgrading from one minor version to the next (for example, from
-    2.0.55 to 2.0.57) is easier.  The <code>make install</code>
+    2.2.55 to 2.2.57) is easier.  The <code>make install</code>
     process will not overwrite any of your existing documents, log
     files, or configuration files.  In addition, the developers make
     every effort to avoid incompatible changes in the
-    <code>configure</code> options, run-time configuration, or the
+    <program>configure</program> options, run-time configuration, or the
     module API between minor versions.  In most cases you should be able to
-    use an identical <code>configure</code> command line, an identical
+    use an identical <program>configure</program> command line, an identical
     configuration file, and all of your modules should continue to
-    work.  (This is only valid for versions after 2.0.41; earlier
-    versions have incompatible changes.)</p>
-
-    <p>If you kept the source tree from your last installation,
-    upgrading is even easier.  The file <code>config.nice</code> in
-    the root of the old source tree contains the exact
-    <code>configure</code> command line that you used to configure the
-    source tree.  Then to upgrade from one version to the next, you
-    need only copy the <code>config.nice</code> file to the source
-    tree of the new version, edit it to make any desired changes, and
-    then run:</p>
+    work.</p>
+
+    <p>To upgrade across minor versions, start by finding the file
+    <code>config.nice</code> in the <code>build</code> directory of
+    your installed server or at the root of the source tree for your
+    old install.  This will contain the exact
+    <program>configure</program> command line that you used to
+    configure the source tree.  Then to upgrade from one version to
+    the next, you need only copy the <code>config.nice</code> file to
+    the source tree of the new version, edit it to make any desired
+    changes, and then run:</p>
 
     <example>
     $ ./config.nice<br />
     $ make<br />
     $ make install<br />
-    $ <em>PREFIX</em>/bin/apachectl stop<br />
-    $ <em>PREFIX</em>/bin/apachectl start<br />
+    $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
+    $ <em>PREFIX</em>/bin/apachectl -k start<br />
     </example>
 
     <note type="warning">You should always test any new version in your
@@ -656,5 +405,37 @@ separated by a colon.</dd>
     different port (by adjusting the <directive
     module="mpm_common">Listen</directive> directive) to test for any
     incompatibilities before doing the final upgrade.</note>
+
+    <p>You can pass additional arguments to <code>config.nice</code>,
+    which will be appended to your original <program>configure</program>
+    options:</p>
+
+    <example>
+    $ ./config.nice --prefix=/home/test/apache --with-port=90
+    </example>
+</section>
+<section id="thirdp"><title>Third-party packages</title>
+
+    <p>A large number of third parties provide their own packaged
+    distributions of the Apache HTTP Server for installation on
+    particular platforms. This includes the various Linux distributions,
+    various third-party Windows packages, Mac OS X, Solaris, and many
+    more.</p>
+
+    <p>Our software license not only permits, but encourages, this kind
+    of redistribution. However, it does result in a situation where the
+    configuration layout and defaults on your installation of the server
+    may differ from what is stated in the documentation. While
+    unfortunate, this situation is not likely to change any time
+    soon.</p>
+
+    <p>A <a
+    href="http://wiki.apache.org/httpd/DistrosDefaultLayout">description
+    of these third-party distrubutions</a> is maintained in the HTTP
+    Server wiki, and should reflect the current state of these
+    third-party distributions. However, you will need to familiarize
+    yourself with your particular platform's package management and
+    installation procedures.</p>
+
 </section>
 </manualpage>