home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / apache / apache_2.0.45-win32-x86-no_ssl.msi / Data.Cab / F232614_install.html.en < prev    next >
Extensible Markup Language  |  2003-03-30  |  27KB  |  597 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
  4.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  5.               This file is generated from xml source: DO NOT EDIT
  6.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  7.       -->
  8. <title>Compiling and Installing - Apache HTTP Server</title>
  9. <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
  10. <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
  11. <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
  12. <link href="./images/favicon.ico" rel="shortcut icon" /></head>
  13. <body id="manual-page"><div id="page-header">
  14. <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p>
  15. <p class="apache">Apache HTTP Server Version 2.0</p>
  16. <img alt="" src="./images/feather.gif" /></div>
  17. <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
  18. <div id="path">
  19. <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Compiling and Installing</h1>
  20.  
  21.     <p>This document covers compilation and installation of Apache
  22.     on Unix and Unix-like systems only. For compiling and
  23.     installation on Windows, see <a href="platform/windows.html">Using Apache with Microsoft
  24.     Windows</a>. For other platforms, see the <a href="platform/">platform</a> documentation.</p>
  25.  
  26.     <p>Apache 2.0's configuration and installation environment has
  27.     changed completely from Apache 1.3. Apache 1.3 used a custom
  28.     set of scripts to achieve easy installation. Apache 2.0 now
  29.     uses <code>libtool</code> and <code>autoconf</code>
  30.     to create an environment that looks like many other Open Source
  31.     projects.</p>
  32.  
  33. </div>
  34. <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Overview for the
  35.     impatient</a></li>
  36. <li><img alt="" src="./images/down.gif" /> <a href="#requirements">Requirements</a></li>
  37. <li><img alt="" src="./images/down.gif" /> <a href="#download">Download</a></li>
  38. <li><img alt="" src="./images/down.gif" /> <a href="#extract">Extract</a></li>
  39. <li><img alt="" src="./images/down.gif" /> <a href="#configure">Configuring the source tree</a></li>
  40. <li><img alt="" src="./images/down.gif" /> <a href="#compile">Build</a></li>
  41. <li><img alt="" src="./images/down.gif" /> <a href="#install">Install</a></li>
  42. <li><img alt="" src="./images/down.gif" /> <a href="#customize">Customize</a></li>
  43. <li><img alt="" src="./images/down.gif" /> <a href="#test">Test</a></li>
  44. </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>
  45. <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  46. <div class="section">
  47. <h2><a name="overview" id="overview">Overview for the
  48.     impatient</a></h2>
  49.  
  50.     <table>
  51.       <tr>
  52.         <td><a href="#download">Download</a></td>
  53.  
  54.         <td><code>$ lynx
  55.         http://www.apache.org/dist/httpd/httpd-2_0_<em>NN</em>.tar.gz</code>
  56.         </td>
  57.       </tr>
  58.  
  59.       <tr>
  60.         <td><a href="#extract">Extract</a></td>
  61.  
  62.         <td><code>$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
  63.          $ tar xvf httpd-2_0_<em>NN</em>.tar</code> </td>
  64.       </tr>
  65.  
  66.       <tr>
  67.         <td><a href="#configure">Configure</a></td>
  68.  
  69.         <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
  70.         </td>
  71.       </tr>
  72.  
  73.       <tr>
  74.         <td><a href="#compile">Compile</a></td>
  75.  
  76.         <td><code>$ make</code> </td>
  77.       </tr>
  78.  
  79.       <tr>
  80.         <td><a href="#install">Install</a></td>
  81.  
  82.         <td><code>$ make install</code> </td>
  83.       </tr>
  84.  
  85.       <tr>
  86.         <td><a href="#customize">Customize</a></td>
  87.  
  88.         <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
  89.       </tr>
  90.  
  91.       <tr>
  92.         <td><a href="#test">Test</a></td>
  93.  
  94.         <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
  95.         </td>
  96.       </tr>
  97.     </table>
  98.  
  99.     <p><em>NN</em> must be replaced with the current minor version
  100.     number, and <em>PREFIX</em> must be replaced with the
  101.     filesystem path under which the server should be installed. If
  102.     <em>PREFIX</em> is not specified, it defaults to
  103.     <code>/usr/local/apache2</code>.</p>
  104.  
  105.     <p>Each section of the compilation and installation process is
  106.     described in more detail below, beginning with the requirements
  107.     for compiling and installing Apache HTTPD.</p>
  108. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  109. <div class="section">
  110. <h2><a name="requirements" id="requirements">Requirements</a></h2>
  111.  
  112.     <p>The following requirements exist for building Apache:</p>
  113.  
  114.     <dl>
  115.       <dt>Disk Space</dt>
  116.       <dd>Make sure you have at least 50 MB of temporary free disk
  117.       space available. After installation Apache occupies
  118.       approximately 10 MB of disk space. The actual disk space
  119.       requirements will vary considerably based on your chosen
  120.       configuration options and any third-party modules.</dd>
  121.  
  122.       <dt>ANSI-C Compiler and Build System</dt>
  123.       <dd>Make sure you have an ANSI-C compiler installed. The <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
  124.       compiler (GCC)</a> from the <a href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
  125.       is recommended (version 2.7.2 is fine). If you don't have GCC
  126.       then at least make sure your vendor's compiler is ANSI
  127.       compliant. In addition, your <code>PATH</code> must contain
  128.       basic build tools such as <code>make</code>.</dd>
  129.  
  130.       <dt>Accurate time keeping</dt>
  131.       <dd>Elements of the HTTP protocol are expressed as the time of
  132.       day. So, it's time to investigate setting some time
  133.       synchronization facility on your system. Usually the
  134.       <code>ntpdate</code> or <code>xntpd</code> programs are used for
  135.       this purpose which are based on the Network Time Protocol (NTP).
  136.       See the Usenet newsgroup <a href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
  137.       and the <a href="http://www.eecis.udel.edu/~ntp/">NTP
  138.       homepage</a> for more details about NTP software and public
  139.       time servers.</dd>
  140.  
  141.       <dt><a href="http://www.perl.org/">Perl 5</a>
  142.       [OPTIONAL]</dt>
  143.       <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
  144.       written in Perl) the Perl 5 interpreter is required (versions
  145.       5.003 or newer are sufficient). If no such interpreter is found by
  146.       the `<code>configure</code>' script there is no harm. Of course, you
  147.       still can build and install Apache 2.0. Only those support scripts
  148.       cannot be used. If you have multiple Perl interpreters
  149.       installed (perhaps a Perl 4 from the vendor and a Perl 5 from
  150.       your own), then it is recommended to use the <code>--with-perl</code>
  151.       option (see below) to make sure the correct one is selected
  152.       by <code>./configure</code>.</dd>
  153.     </dl>
  154. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  155. <div class="section">
  156. <h2><a name="download" id="download">Download</a></h2>
  157.  
  158.     <p>Apache can be downloaded from the <a href="http://httpd.apache.org/download.cgi">Apache HTTP Server
  159.     download site</a> which lists several mirrors. You'll find here
  160.     the latest stable release.</p>
  161.  
  162.     <p>After downloading, especially if a mirror site is used, it
  163.     is important to verify that you have a complete and unmodified
  164.     version of the Apache HTTP Server. This can be accomplished by
  165.     testing the downloaded tarball against the PGP signature. This,
  166.     in turn, is a two step procedure. First, you must obtain the
  167.     <a href="http://www.apache.org/dist/httpd/KEYS"><code>KEYS</code></a>
  168.     file from the Apache distribution site, too. (To assure that the
  169.     <code>KEYS</code> file itself has not been modified, it may be a good
  170.     idea to use a file from a previous distribution of Apache or import
  171.     the keys from a public key server.) The keys are imported into
  172.     your personal key ring using one of the following commands (depending
  173.     on your pgp version):</p>
  174.  
  175. <div class="example"><p><code>$ pgp < KEYS</code></p></div>
  176.  
  177.     <p>or </p>
  178.  
  179. <div class="example"><p><code>$ gpg --import KEYS</code></p></div>
  180.  
  181.     <p>The next step is to test the tarball against the PGP
  182.     signature, which should always be obtained from the <a href="http://httpd.apache.org/download.cgi">main Apache
  183.     website</a>. A link to the signature file is placed behind the
  184.     corresponding download link or may be found in the particular
  185.     directory at the <a href="http://www.apache.org/dist/httpd/">Apache
  186.     distribution site</a>. Its filename is identical to the source
  187.     tarball with the addition of <code>.asc</code>. Then you can check
  188.     the distribution with one of the following commands (again,
  189.     depending on your pgp version):</p>
  190.  
  191. <div class="example"><p><code>$ pgp httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
  192.  
  193.     <p>or</p>
  194.  
  195. <div class="example"><p><code>$ gpg --verify httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
  196.  
  197.     <p>You should receive a message like</p>
  198.  
  199. <div class="example"><p><code>Good signature from user "Martin Kraemer
  200.       <martin@apache.org>".</code></p></div>
  201.  
  202.     <p>Depending on the trust relationships contained in your key
  203.     ring, you may also receive a message saying that the
  204.     relationship between the key and the signer of the key cannot
  205.     be verified. This is not a problem if you trust the
  206.     authenticity of the <code>KEYS</code> file.</p>
  207.  
  208. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  209. <div class="section">
  210. <h2><a name="extract" id="extract">Extract</a></h2>
  211.  
  212.     <p>Extracting the source from the Apache HTTPD tarball is a
  213.     simple matter of uncompressing, and then untarring:</p>
  214.  
  215. <div class="example"><p><code>
  216.       $ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
  217.        $ tar xvf httpd-2_0_<em>NN</em>.tar
  218. </code></p></div>
  219.  
  220.     <p>This will create a new directory under the current directory
  221.     containing the source code for the distribution. You should
  222.     <code>cd</code> into that directory before proceeding with
  223.     compiling the server.</p>
  224. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  225. <div class="section">
  226. <h2><a name="configure" id="configure">Configuring the source tree</a></h2>
  227.  
  228.     <p>The next step is to configure the Apache source tree for
  229.     your particular platform and personal requirements. This is
  230.     done using the script <code>configure</code> included in the
  231.     root directory of the distribution. (Developers downloading the
  232.     CVS version of the Apache source tree will need to have
  233.     <code>autoconf</code> and <code>libtool</code> installed and
  234.     will need to run <code>buildconf</code> before proceeding with
  235.     the next steps. This is not necessary for official
  236.     releases.)</p>
  237.  
  238.     <p>To configure the source tree using all the default options,
  239.     simply type <code>./configure</code>. To change the default
  240.     options, <code>configure</code> accepts a variety of variables
  241.     and command line options. Environment variables are generally
  242.     placed before the <code>./configure</code> command, while other
  243.     options are placed after. The most important option here is the
  244.     location prefix where Apache is to be installed later, because
  245.     Apache has to be configured for this location to work
  246.     correctly. But there are a lot of other options available for
  247.     your pleasure.</p>
  248.  
  249.     <p>For a short impression of what possibilities you have, here
  250.     is a typical example which compiles Apache for the installation
  251.     tree <code>/sw/pkg/apache</code> with a particular compiler and flags
  252.     plus the two additional modules <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> and
  253.     <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> for
  254.     later loading through the DSO mechanism:</p>
  255.  
  256. <div class="example"><p><code>
  257.       $ CC="pgcc" CFLAGS="-O2" \<br />
  258.        ./configure --prefix=/sw/pkg/apache \<br />
  259.        --enable-rewrite=shared \<br />
  260.        --enable-speling=shared
  261. </code></p></div>
  262.  
  263.     <p>When <code>configure</code> is run it will take several minutes to
  264.     test for the availability of features on your system and build
  265.     Makefiles which will later be used to compile the server.</p>
  266.  
  267.     <p>The easiest way to find all of the configuration flags for
  268.     Apache is to run <code>./configure --help</code>. What follows is a
  269.     brief description of most of the arguments and environment
  270.     variables.</p>
  271.  
  272. <h3><a name="environment" id="environment">Environment Variables</a></h3>
  273.  
  274.     <p>The <code>autoconf</code> build process uses several environment
  275.     variables to configure the build environment. In general, these
  276.     variables change the method used to build Apache, but not the
  277.     eventual features of the server. These variables can be placed
  278.     in the environment before invoking <code>configure</code>, but
  279.     it is usually easier to specify them on the
  280.     <code>configure</code> command line as demonstrated in the
  281.     example above.</p>
  282.  
  283.     <dl>
  284.       <dt><code>CC=...</code></dt>
  285.  
  286.       <dd>The name of the C compiler command.</dd>
  287.  
  288.       <dt><code>CPPFLAGS=...</code></dt>
  289.  
  290.       <dd>Miscellaneous C preprocessor and compiler options.</dd>
  291.  
  292.       <dt><code>CFLAGS=...</code></dt>
  293.  
  294.       <dd>Debugging and optimization options for the C
  295.       compiler.</dd>
  296.  
  297.       <dt><code>LDFLAGS=...</code></dt>
  298.  
  299.       <dd>Miscellaneous options to be passed to the linker.</dd>
  300.  
  301.       <dt><code>LIBS=...</code></dt>
  302.  
  303.       <dd>Library location information ("<code>-L</code>" and
  304.       "<code>-l</code>" options) to pass to the linker.</dd>
  305.  
  306.       <dt><code>INCLUDES=...</code></dt>
  307.  
  308.       <dd>Header file search directories ("<code>-I<em>dir</em></code>").</dd>
  309.  
  310.       <dt><code>TARGET=...</code> [Default: <code>apache</code>]</dt>
  311.  
  312.       <dd>Name of the executable which will be built.</dd>
  313.  
  314.       <dt><code>NOTEST_CPPFLAGS=...</code></dt>
  315.  
  316.       <dt><code>NOTEST_CFLAGS=...</code></dt>
  317.  
  318.       <dt><code>NOTEST_LDFLAGS=...</code></dt>
  319.  
  320.       <dt><code>NOTEST_LIBS=...</code></dt>
  321.  
  322.       <dd>These variables share the same function as their
  323.       non-<code>NOTEST</code> namesakes. However, the variables are
  324.       applied to the build process only after autoconf has performed its
  325.       feature testing. This allows the inclusion of flags which
  326.       will cause problems during feature testing, but must be used
  327.       for the final compilation.</dd>
  328.  
  329.       <dt><code>SHLIB_PATH=...</code></dt>
  330.  
  331.       <dd>Options which specify shared library paths for the
  332.       compiler and linker.</dd>
  333.     </dl>
  334.  
  335.  
  336. <h3><a name="output" id="output">autoconf Output Options</a></h3>
  337.  
  338.     <dl>
  339.       <dt><code>--help</code></dt>
  340.  
  341.       <dd>Prints the usage message including all available options,
  342.       but does not actually configure anything.</dd>
  343.  
  344.       <dt><code>--quiet</code></dt>
  345.  
  346.       <dd>Prevents the printing of the usual "<code>checking...</code>"
  347.       messages.</dd>
  348.  
  349.       <dt><code>--verbose</code></dt>
  350.  
  351.       <dd>Prints much more information during the configuration
  352.       process, including the names of all the files examined.</dd>
  353.     </dl>
  354.  
  355.  
  356. <h3><a name="pathnames" id="pathnames">Pathnames</a></h3>
  357.  
  358.     <p>There are currently two ways to configure the pathnames
  359.     under which Apache will install its files. First, you can
  360.     specify a directory and have Apache install itself under that
  361.     directory in its default locations.</p>
  362.  
  363.     <dl>
  364.       <dt><code>--prefix=<em>PREFIX</em></code> [Default:
  365.       <code>/usr/local/apache2</code>]</dt>
  366.  
  367.       <dd>Specifies the directory under which the Apache files will
  368.       be installed.</dd>
  369.     </dl>
  370.  
  371.     <p>It is possible to specify that architecture-dependent files
  372.     should be placed under a different directory.</p>
  373.  
  374.     <dl>
  375.       <dt><code>--exec-prefix=<em>EPREFIX</em></code> [Default:
  376.       <code><em>PREFIX</em></code>]</dt>
  377.  
  378.       <dd>Specifies the directory under which
  379.       architecture-dependent files will be placed.</dd>
  380.     </dl>
  381.  
  382.     <p>The second, and more flexible way to configure the install
  383.     path locations for Apache is using the
  384.     <code>config.layout</code> file. Using this method, it is
  385.     possible to separately specify the location for each type of
  386.     file within the Apache installation. The
  387.     <code>config.layout</code> file contains several example
  388.     configurations, and you can also create your own custom
  389.     configuration following the examples. The different layouts in
  390.     this file are grouped into <code><Layout
  391.     FOO>...</Layout></code> sections and referred to by
  392.     name as in <code>FOO</code>.</p>
  393.  
  394.     <dl>
  395.       <dt><code>--enable-layout=<em>LAYOUT</em></code></dt>
  396.  
  397.       <dd>Use the named layout in the <code>config.layout</code>
  398.       file to specify the installation paths.</dd>
  399.     </dl>
  400.  
  401.  
  402.  
  403. <h3><a name="modules" id="modules">Modules</a></h3>
  404.  
  405.     <p>Apache is a modular server. Only the most basic
  406.     functionality is included in the core server. Extended features
  407.     are available in various modules. During the configuration
  408.     process, you must select which modules to compile for use with
  409.     your server. You can view a <a href="mod/">list of modules</a> included in
  410.     the documentation. Those modules with a <a href="mod/module-dict.html#Status">status</a> of "Base" are
  411.     included by default and must be specifically disabled if you do
  412.     not want them (e.g. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>). Modules with any
  413.     other status must be specifically enabled if you wish to use them
  414.     (e.g. <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>).</p>
  415.  
  416.     <p>There are two ways for a module to be compiled and used with
  417.     Apache. Modules may be <em>statically compiled</em>, which
  418.     means that they are permanently included in the Apache binary.
  419.     Alternatively, if your operating system supports Dynamic Shared
  420.     Objects (DSOs) and <code>autoconf</code> can detect that support, then
  421.     modules may be <em>dynamically compiled</em>. DSO modules are
  422.     stored separately from the Apache binary, and may be included
  423.     or excluded from the server using the run-time configuration
  424.     directives provided by <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.
  425.     The mod_so is automatically included in the server if any
  426.     dynamic modules are included in the compilation. If you would
  427.     like to make your server capable of loading DSOs without
  428.     actually compiling any dynamic modules, you can explicitly
  429.     <code>--enable-so</code>.</p>
  430.  
  431.     <dl>
  432.       <dt><code>--enable-<em>MODULE</em>[=shared]</code></dt>
  433.  
  434.       <dd>Compile and include the module <em>MODULE</em>. The
  435.       identifier <em>MODULE</em> is the <a href="mod/module-dict.html#ModuleIdentifier">Module
  436.       Identifier</a> from the module documentation without the
  437.       "_module" string. To compile the module as a DSO, add the
  438.       option <code>=shared</code>.</dd>
  439.  
  440.       <dt><code>--disable-<em>MODULE</em></code></dt>
  441.  
  442.       <dd>Remove the module <em>MODULE</em> which would otherwise
  443.       be compiled and included.</dd>
  444.  
  445.       <dt><code>--enable-modules=<em>MODULE-LIST</em></code></dt>
  446.  
  447.       <dd>Compile and include the modules listed in the
  448.       space-separated <em>MODULE-LIST</em>.</dd>
  449.  
  450.       <dt>
  451.       <code>--enable-mods-shared=<em>MODULE-LIST</em></code></dt>
  452.  
  453.       <dd>Compile and include the modules in the space-separated
  454.       <em>MODULE-LIST</em> as dynamically loadable (DSO)
  455.       modules.</dd>
  456.     </dl>
  457.  
  458.     <p>The <em>MODULE-LIST</em> in the
  459.     <code>--enable-modules</code> and
  460.     <code>--enable-mods-shared</code> options is usually a
  461.     space-separated list of module identifiers. For example, to
  462.     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>,
  463.     you can either use</p>
  464.  
  465. <div class="example"><p><code>./configure --enable-dav --enable-info</code></p></div>
  466.  
  467.     <p>or, equivalently,</p>
  468.  
  469. <div class="example"><p><code>./configure --enable-modules="dav info"</code></p></div>
  470.  
  471.     <p>In addition, the special keywords <code>all</code> or
  472.     <code>most</code> can be used to add all or most of the modules
  473.     in one step. You can then remove any modules that you do not
  474.     want with the <code>--disable-<em>MODULE</em></code> option.
  475.     For example, to include all modules as DSOs with the exception
  476.     of <code class="module"><a href="./mod/mod_info.html">mod_info</a></code>, you can use</p>
  477.  
  478. <div class="example"><p><code>
  479.       ./configure --enable-mods-shared=all
  480.       --disable-info
  481. </code></p></div>
  482.  
  483.     <p>In addition to the standard set of modules, Apache 2.0 also
  484.     includes a choice of <a href="mpm.html">Multi-Processing
  485.     Modules</a> (MPMs). One, and only one MPM must be included in
  486.     the compilation process. The default MPMs for each platform are
  487.     listed on the <a href="mpm.html">MPM documentation page</a>,
  488.     but can be overridden on the <code>configure</code> command
  489.     line.</p>
  490.  
  491.     <dl>
  492.       <dt><code>--with-mpm=<em>NAME</em></code></dt>
  493.  
  494.       <dd>Choose the mpm <em>NAME</em>.</dd>
  495.     </dl>
  496.  
  497.     <p>To activate an MPM called <var>mpm_name</var>, you can use</p>
  498.  
  499. <div class="example"><p><code>
  500.      ./configure --with-mpm=<var>mpm_name</var>
  501. </code></p></div>
  502.  
  503.  
  504.  
  505. <h3><a name="dbm" id="dbm">DBM</a></h3>
  506.  
  507.     <p>Several Apache features, including
  508.     <code class="module"><a href="./mod/mod_auth_dbm.html">mod_auth_dbm</a></code> and <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s
  509.     DBM <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> use
  510.     simple key/value databases for quick lookups of information.  Apache
  511.     includes SDBM with its source-code, so this database is always
  512.     available.  If you would like to use other database types, the
  513.     following <code>configure</code> options are available:</p>
  514.  
  515. <dl>
  516. <dt><code>--with-gdbm[=<em>path</em>]</code></dt>
  517. <dt><code>--with-ndbm[=<em>path</em>]</code></dt>
  518. <dt><code>--with-berkeley-db[=<em>path</em>]</code></dt>
  519.  
  520. <dd>If no <em>path</em> is specified, Apache will search for the
  521. include files and libraries in the usual search paths.  An explict
  522. <em>path</em> will cause Apache to look in
  523. <em>path</em><code>/lib</code> and
  524. <em>path</em><code>/include</code> for the relevant files.  Finally,
  525. the <em>path</em> may specify specific include and library paths
  526. seperated by a colon.</dd>
  527. </dl>
  528.  
  529.  
  530.  
  531. <h3><a name="suexec" id="suexec">Suexec</a></h3>
  532.  
  533.     <p>Apache includes a support program called <a href="suexec.html">suexec</a> which can be used to isolate user
  534.     CGI programs. However, if suexec is improperly configured, it
  535.     can cause serious security problems. Therefore, you should
  536.     carefully read and consider the <a href="suexec.html">suexec
  537.     documentation</a> before implementing this feature.</p>
  538.  
  539. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  540. <div class="section">
  541. <h2><a name="compile" id="compile">Build</a></h2>
  542.  
  543.     <p>Now you can build the various parts which form the Apache
  544.     package by simply running the command:</p>
  545.  
  546. <div class="example"><p><code>$ make</code></p></div>
  547.  
  548.     <p>Please be patient here, since a base configuration takes
  549.     approximately 3 minutes to compile under a Pentium III/Linux
  550.     2.2 system, but this will vary widely depending on your
  551.     hardware and the number of modules which you have enabled.</p>
  552. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  553. <div class="section">
  554. <h2><a name="install" id="install">Install</a></h2>
  555.  
  556.     <p>Now its time to install the package under the configured
  557.     installation <em>PREFIX</em> (see <code>--prefix</code> option
  558.     above) by running:</p>
  559.  
  560. <div class="example"><p><code>$ make install</code></p></div>
  561.  
  562.     <p>If you are upgrading, the installation will not overwrite
  563.     your configuration files or documents.</p>
  564. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  565. <div class="section">
  566. <h2><a name="customize" id="customize">Customize</a></h2>
  567.  
  568.     <p>Next, you can customize your Apache HTTP server by editing
  569.     the <a href="configuring.html">configuration files</a> under
  570.     <code><em>PREFIX</em>/conf/</code>.</p>
  571.  
  572. <div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>
  573.  
  574.     <p>Have a look at the Apache manual under <a href="./">docs/manual/</a> or consult <a href="http://httpd.apache.org/docs-2.0/">http://httpd.apache.org/docs-2.0/</a> for the most recent version of
  575.     this manual and a complete reference of available <a href="mod/directives.html">configuration directives</a>.</p>
  576. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  577. <div class="section">
  578. <h2><a name="test" id="test">Test</a></h2>
  579.  
  580.     <p>Now you can <a href="invoking.html">start</a> your Apache
  581.     HTTP server by immediately running:</p>
  582.  
  583. <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl start</code></p></div>
  584.  
  585.     <p>and then you should be able to request your first document
  586.     via URL <code>http://localhost/</code>. The web page you see is located
  587.     under the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
  588.     which will usually be <code><em>PREFIX</em>/htdocs/</code>.
  589.     Then <a href="stopping.html">stop</a> the server again by
  590.     running:</p>
  591.  
  592. <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
  593. </div></div>
  594. <div id="footer">
  595. <p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
  596. <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
  597. </body></html>