mirror of
https://github.com/apache/httpd.git
synced 2025-05-31 12:21:16 +03:00
Submitted by: Luiz Rocha <lsdr@lsdr.net> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98845 13f79535-47bb-0310-9956-ffa450edef68
597 lines
26 KiB
XML
597 lines
26 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
This file is generated from xml source: DO NOT EDIT
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
-->
|
|
<title>Compiling and Installing - Apache HTTP Server</title>
|
|
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
|
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
|
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
|
|
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
|
|
<body id="manual-page"><div id="page-header">
|
|
<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>
|
|
<p class="apache">Apache HTTP Server Version 2.1</p>
|
|
<img alt="" src="./images/feather.gif" /></div>
|
|
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
|
|
<div id="path">
|
|
<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.1</a></div><div id="page-content"><div id="preamble"><h1>Compiling and Installing</h1>
|
|
|
|
<p>This document covers compilation and installation of Apache
|
|
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/">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
|
|
projects.</p>
|
|
|
|
</div>
|
|
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Overview for the
|
|
impatient</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#requirements">Requirements</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#download">Download</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#extract">Extract</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#configure">Configuring the source tree</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#compile">Build</a></li>
|
|
<li><img alt="" src="./images/down.gif" /> <a href="#install">Install</a></li>
|
|
<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>
|
|
</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>
|
|
<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
|
|
impatient</a></h2>
|
|
|
|
<table>
|
|
<tr>
|
|
<td><a href="#download">Download</a></td>
|
|
|
|
<td><code>$ lynx
|
|
http://www.apache.org/dist/httpd/httpd-2_1_<em>NN</em>.tar.gz</code>
|
|
</td>
|
|
</tr>
|
|
|
|
<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>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="#configure">Configure</a></td>
|
|
|
|
<td><code>$ ./configure --prefix=<em>PREFIX</em></code>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="#compile">Compile</a></td>
|
|
|
|
<td><code>$ make</code> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="#install">Install</a></td>
|
|
|
|
<td><code>$ make install</code> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="#customize">Customize</a></td>
|
|
|
|
<td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="#test">Test</a></td>
|
|
|
|
<td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><em>NN</em> must be replaced with the current minor 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
|
|
<code>/usr/local/apache2</code>.</p>
|
|
|
|
<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>
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<div class="section">
|
|
<h2><a name="requirements" id="requirements">Requirements</a></h2>
|
|
|
|
<p>The following requirements exist for building Apache:</p>
|
|
|
|
<dl>
|
|
<dt>Disk Space</dt>
|
|
<dd>Make sure you have at least 50 MB of temporary free disk
|
|
space available. After installation Apache 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>
|
|
|
|
<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
|
|
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
|
|
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>
|
|
|
|
<dt>Accurate time keeping</dt>
|
|
<dd>Elements of the HTTP protocol are expressed as the time of
|
|
day. So, it's time to investigate setting some time
|
|
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
|
|
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
|
|
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>
|
|
</dl>
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<div class="section">
|
|
<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 < 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
|
|
<martin@apache.org>".</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>
|
|
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<div class="section">
|
|
<h2><a name="extract" id="extract">Extract</a></h2>
|
|
|
|
<p>Extracting the source from the Apache HTTPD tarball is a
|
|
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
|
|
</code></p></div>
|
|
|
|
<p>This will create a new directory under the current directory
|
|
containing the source code for the distribution. You should
|
|
<code>cd</code> into that directory before proceeding with
|
|
compiling the server.</p>
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<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>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>
|
|
|
|
<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 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> and
|
|
<code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> for
|
|
later loading through the DSO mechanism:</p>
|
|
|
|
<div class="example"><p><code>
|
|
$ CC="pgcc" CFLAGS="-O2" \<br />
|
|
./configure --prefix=/sw/pkg/apache \<br />
|
|
--enable-rewrite=shared \<br />
|
|
--enable-speling=shared
|
|
</code></p></div>
|
|
|
|
<p>When <code>configure</code> 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>
|
|
|
|
<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>apache</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><Layout
|
|
FOO>...</Layout></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 explict
|
|
<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
|
|
seperated 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>
|
|
|
|
</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>
|
|
|
|
<p>Now you can build the various parts which form the Apache
|
|
package by simply running the command:</p>
|
|
|
|
<div class="example"><p><code>$ make</code></p></div>
|
|
|
|
<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>
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<div class="section">
|
|
<h2><a name="install" id="install">Install</a></h2>
|
|
|
|
<p>Now its time to install the package under the configured
|
|
installation <em>PREFIX</em> (see <code>--prefix</code> option
|
|
above) by running:</p>
|
|
|
|
<div class="example"><p><code>$ make install</code></p></div>
|
|
|
|
<p>If you are upgrading, the installation will not overwrite
|
|
your configuration files or documents.</p>
|
|
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
|
<div class="section">
|
|
<h2><a name="customize" id="customize">Customize</a></h2>
|
|
|
|
<p>Next, you can customize your Apache HTTP server by editing
|
|
the <a href="configuring.html">configuration files</a> under
|
|
<code><em>PREFIX</em>/conf/</code>.</p>
|
|
|
|
<div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>
|
|
|
|
<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 href="mod/directives.html">configuration directives</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="test" id="test">Test</a></h2>
|
|
|
|
<p>Now you can <a href="invoking.html">start</a> your Apache
|
|
HTTP server by immediately running:</p>
|
|
|
|
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl start</code></p></div>
|
|
|
|
<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 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
|
|
which will usually be <code><em>PREFIX</em>/htdocs/</code>.
|
|
Then <a href="stopping.html">stop</a> the server again by
|
|
running:</p>
|
|
|
|
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
|
|
</div></div>
|
|
<div id="footer">
|
|
<p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
|
|
<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>
|
|
</body></html> |