install.xml revision df9042c34a10b7f58a5ce8a7725c35087abbcad6
6ae232055d4d8a97267517c5e50074c2c819941and<?xml version='1.0' encoding='UTF-8' ?>
6ae232055d4d8a97267517c5e50074c2c819941and<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
6ae232055d4d8a97267517c5e50074c2c819941and<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
6ae232055d4d8a97267517c5e50074c2c819941and<!-- $LastChangedRevision$ -->
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<!--
6ae232055d4d8a97267517c5e50074c2c819941and Licensed to the Apache Software Foundation (ASF) under one or more
6ae232055d4d8a97267517c5e50074c2c819941and contributor license agreements. See the NOTICE file distributed with
6ae232055d4d8a97267517c5e50074c2c819941and this work for additional information regarding copyright ownership.
6ae232055d4d8a97267517c5e50074c2c819941and The ASF licenses this file to You under the Apache License, Version 2.0
6ae232055d4d8a97267517c5e50074c2c819941and (the "License"); you may not use this file except in compliance with
6ae232055d4d8a97267517c5e50074c2c819941and the License. You may obtain a copy of the License at
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and http://www.apache.org/licenses/LICENSE-2.0
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and Unless required by applicable law or agreed to in writing, software
6ae232055d4d8a97267517c5e50074c2c819941and distributed under the License is distributed on an "AS IS" BASIS,
6ae232055d4d8a97267517c5e50074c2c819941and WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6ae232055d4d8a97267517c5e50074c2c819941and See the License for the specific language governing permissions and
6ae232055d4d8a97267517c5e50074c2c819941and limitations under the License.
6ae232055d4d8a97267517c5e50074c2c819941and-->
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<manualpage metafile="install.xml.meta">
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <title>Compiling and Installing</title>
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi<summary>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>This document covers compilation and installation of the Apache HTTP Server
6ae232055d4d8a97267517c5e50074c2c819941and on Unix and Unix-like systems only. For compiling and
6ae232055d4d8a97267517c5e50074c2c819941and installation on Windows, see <a
6ae232055d4d8a97267517c5e50074c2c819941and href="platform/windows.html">Using Apache HTTP Server with Microsoft
6ae232055d4d8a97267517c5e50074c2c819941and Windows</a>. For other platforms, see the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="platform/">platform</a> documentation.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>Apache httpd uses <code>libtool</code> and <code>autoconf</code>
6ae232055d4d8a97267517c5e50074c2c819941and to create a build environment that looks like many other Open Source
6ae232055d4d8a97267517c5e50074c2c819941and projects.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>If you are upgrading from one minor version to the next (for
6ae232055d4d8a97267517c5e50074c2c819941and example, 2.2.50 to 2.2.51), please skip down to the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="#upgrading">upgrading</a> section.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and</summary>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<seealso><a href="programs/configure.html">Configure the source tree</a></seealso>
6ae232055d4d8a97267517c5e50074c2c819941and<seealso><a href="invoking.html">Starting Apache httpd</a></seealso>
6ae232055d4d8a97267517c5e50074c2c819941and<seealso><a href="stopping.html">Stopping and Restarting</a></seealso>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="overview"><title>Overview for the
6ae232055d4d8a97267517c5e50074c2c819941and impatient</title>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <table>
6ae232055d4d8a97267517c5e50074c2c819941and <columnspec><column width=".13"/><column width=".80"/></columnspec>
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#download">Download</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
6ae232055d4d8a97267517c5e50074c2c819941and </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#extract">Extract</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
6ae232055d4d8a97267517c5e50074c2c819941and $ tar xvf httpd-<em>NN</em>.tar<br />
6ae232055d4d8a97267517c5e50074c2c819941and $ cd httpd-<em>NN</em></code></td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#configure">Configure</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ /configure --prefix=<em>PREFIX</em></code>
6ae232055d4d8a97267517c5e50074c2c819941and </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#compile">Compile</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ make</code> </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#install">Install</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ make install</code> </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#customize">Customize</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <tr>
6ae232055d4d8a97267517c5e50074c2c819941and <td><a href="#test">Test</a></td>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
6ae232055d4d8a97267517c5e50074c2c819941and </td>
6ae232055d4d8a97267517c5e50074c2c819941and </tr>
6ae232055d4d8a97267517c5e50074c2c819941and </table>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p><em>NN</em> must be replaced with the current version
6ae232055d4d8a97267517c5e50074c2c819941and number, and <em>PREFIX</em> must be replaced with the
6ae232055d4d8a97267517c5e50074c2c819941and filesystem path under which the server should be installed. If
6ae232055d4d8a97267517c5e50074c2c819941and <em>PREFIX</em> is not specified, it defaults to
6ae232055d4d8a97267517c5e50074c2c819941and <code>/usr/local/apache2</code>.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>Each section of the compilation and installation process is
6ae232055d4d8a97267517c5e50074c2c819941and described in more detail below, beginning with the requirements
6ae232055d4d8a97267517c5e50074c2c819941and for compiling and installing Apache httpd.</p>
6ae232055d4d8a97267517c5e50074c2c819941and</section>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="requirements"><title>Requirements</title>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>The following requirements exist for building Apache httpd:</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <dl>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>Disk Space</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Make sure you have at least 50 MB of temporary free disk
6ae232055d4d8a97267517c5e50074c2c819941and space available. After installation the server occupies
6ae232055d4d8a97267517c5e50074c2c819941and approximately 10 MB of disk space. The actual disk space
6ae232055d4d8a97267517c5e50074c2c819941and requirements will vary considerably based on your chosen
6ae232055d4d8a97267517c5e50074c2c819941and configuration options and any third-party modules.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <dt>ANSI-C Compiler and Build System</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Make sure you have an ANSI-C compiler installed. The <a
6ae232055d4d8a97267517c5e50074c2c819941and href="http://gcc.gnu.org/">GNU C
6ae232055d4d8a97267517c5e50074c2c819941and compiler (GCC)</a> from the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
6ae232055d4d8a97267517c5e50074c2c819941and is recommended. If you don't have GCC
6ae232055d4d8a97267517c5e50074c2c819941and then at least make sure your vendor's compiler is ANSI
6ae232055d4d8a97267517c5e50074c2c819941and compliant. In addition, your <code>PATH</code> must contain
6ae232055d4d8a97267517c5e50074c2c819941and basic build tools such as <code>make</code>.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <dt>Accurate time keeping</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Elements of the HTTP protocol are expressed as the time of
6ae232055d4d8a97267517c5e50074c2c819941and day. So, it's time to investigate setting some time
6ae232055d4d8a97267517c5e50074c2c819941and synchronization facility on your system. Usually the
6ae232055d4d8a97267517c5e50074c2c819941and <code>ntpdate</code> or <code>xntpd</code> programs are used for
6ae232055d4d8a97267517c5e50074c2c819941and this purpose which are based on the Network Time Protocol (NTP).
6ae232055d4d8a97267517c5e50074c2c819941and See the <a href="http://www.ntp.org">NTP
6ae232055d4d8a97267517c5e50074c2c819941and homepage</a> for more details about NTP software and public
6ae232055d4d8a97267517c5e50074c2c819941and time servers.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <dt><a href="http://www.perl.org/">Perl 5</a>
6ae232055d4d8a97267517c5e50074c2c819941and [OPTIONAL]</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>For some of the support scripts like <program>
6ae232055d4d8a97267517c5e50074c2c819941and apxs</program> or <program>dbmmanage</program> (which are
6ae232055d4d8a97267517c5e50074c2c819941and written in Perl) the Perl 5 interpreter is required (versions
6ae232055d4d8a97267517c5e50074c2c819941and 5.003 or newer are sufficient). If you have multiple Perl
6ae232055d4d8a97267517c5e50074c2c819941and interpreters (for example, a systemwide install of Perl 4, and
6ae232055d4d8a97267517c5e50074c2c819941and your own install of Perl 5), you are advised to use the
6ae232055d4d8a97267517c5e50074c2c819941and <code>--with-perl</code> option (see below) to make sure the
6ae232055d4d8a97267517c5e50074c2c819941and correct one is used by <program>configure</program>.
6ae232055d4d8a97267517c5e50074c2c819941and If no Perl 5 interpreter is found by the
6ae232055d4d8a97267517c5e50074c2c819941and <program>configure</program> script, you will not be able to use
6ae232055d4d8a97267517c5e50074c2c819941and the affected support scripts. Of course, you will still be able to
6ae232055d4d8a97267517c5e50074c2c819941and build and use Apache httpd.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and </dl>
6ae232055d4d8a97267517c5e50074c2c819941and</section>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="download"><title>Download</title>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>The Apache HTTP Server can be downloaded from the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="http://httpd.apache.org/download.cgi">Apache HTTP Server
6ae232055d4d8a97267517c5e50074c2c819941and download site</a>, which lists several mirrors. Most users of
6ae232055d4d8a97267517c5e50074c2c819941and Apache on unix-like systems will be better off downloading and
6ae232055d4d8a97267517c5e50074c2c819941and compiling a source version. The build process (described below) is
6ae232055d4d8a97267517c5e50074c2c819941and easy, and it allows you to customize your server to suit your needs.
6ae232055d4d8a97267517c5e50074c2c819941and In addition, binary releases are often not up to date with the latest
6ae232055d4d8a97267517c5e50074c2c819941and source releases. If you do download a binary, follow the instructions
6ae232055d4d8a97267517c5e50074c2c819941and in the <code>INSTALL.bindist</code> file inside the distribution.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>After downloading, it is important to verify that you have a
6ae232055d4d8a97267517c5e50074c2c819941and complete and unmodified version of the Apache HTTP Server. This
6ae232055d4d8a97267517c5e50074c2c819941and can be accomplished by testing the downloaded tarball against the
6ae232055d4d8a97267517c5e50074c2c819941and PGP signature. Details on how to do this are available on the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="http://httpd.apache.org/download.cgi#verify">download
6ae232055d4d8a97267517c5e50074c2c819941and page</a> and an extended example is available describing the <a
6ae232055d4d8a97267517c5e50074c2c819941and href="http://httpd.apache.org/dev/verification.html">use of
6ae232055d4d8a97267517c5e50074c2c819941and PGP</a>.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and</section>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="extract"><title>Extract</title>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>Extracting the source from the Apache HTTP Server tarball is a
6ae232055d4d8a97267517c5e50074c2c819941and simple matter of uncompressing, and then untarring:</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<example>
6ae232055d4d8a97267517c5e50074c2c819941and$ gzip -d httpd-<em>NN</em>.tar.gz<br />
6ae232055d4d8a97267517c5e50074c2c819941and$ tar xvf httpd-<em>NN</em>.tar
6ae232055d4d8a97267517c5e50074c2c819941and</example>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>This will create a new directory under the current directory
6ae232055d4d8a97267517c5e50074c2c819941and containing the source code for the distribution. You should
6ae232055d4d8a97267517c5e50074c2c819941and <code>cd</code> into that directory before proceeding with
6ae232055d4d8a97267517c5e50074c2c819941and compiling the server.</p>
6ae232055d4d8a97267517c5e50074c2c819941and</section>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="configure"><title>Configuring the source tree</title>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>The next step is to configure the Apache source tree for your
6ae232055d4d8a97267517c5e50074c2c819941and particular platform and personal requirements. This is done using
6ae232055d4d8a97267517c5e50074c2c819941and the script <program>configure</program> included in
6ae232055d4d8a97267517c5e50074c2c819941and the root directory of the distribution. (Developers downloading
6ae232055d4d8a97267517c5e50074c2c819941and an unreleased version of the Apache source tree will need to have
6ae232055d4d8a97267517c5e50074c2c819941and <code>autoconf</code> and <code>libtool</code> installed and will
6ae232055d4d8a97267517c5e50074c2c819941and need to run <code>buildconf</code> before proceeding with the next
6ae232055d4d8a97267517c5e50074c2c819941and steps. This is not necessary for official releases.)</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>To configure the source tree using all the default options,
6ae232055d4d8a97267517c5e50074c2c819941and simply type <code>/configure</code>. To change the default
6ae232055d4d8a97267517c5e50074c2c819941and options, <program>configure</program> accepts a variety of variables
6ae232055d4d8a97267517c5e50074c2c819941and and command line options.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>The most important option is the location <code>--prefix</code>
6ae232055d4d8a97267517c5e50074c2c819941and where Apache is to be installed later, because Apache has to be
6ae232055d4d8a97267517c5e50074c2c819941and configured for this location to work correctly. More fine-tuned
6ae232055d4d8a97267517c5e50074c2c819941and control of the location of files is possible with additional <a
6ae232055d4d8a97267517c5e50074c2c819941and href="programs/configure.html#installationdirectories">configure
6ae232055d4d8a97267517c5e50074c2c819941and options</a>.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>Also at this point, you can specify which <a
6ae232055d4d8a97267517c5e50074c2c819941and href="programs/configure.html#optionalfeatures">features</a> you
6ae232055d4d8a97267517c5e50074c2c819941and want included in Apache by enabling and disabling <a
6ae232055d4d8a97267517c5e50074c2c819941and href="mod/">modules</a>. Apache comes with a <a
6ae232055d4d8a97267517c5e50074c2c819941and href="mod/module-dict.html#Status">Base</a> set of modules included by
6ae232055d4d8a97267517c5e50074c2c819941and default. Other modules are enabled using the
6ae232055d4d8a97267517c5e50074c2c819941and <code>--enable-<var>module</var></code> option, where
6ae232055d4d8a97267517c5e50074c2c819941and <var>module</var> is the name of the module with the
6ae232055d4d8a97267517c5e50074c2c819941and <code>mod_</code> string removed and with any underscore converted
6ae232055d4d8a97267517c5e50074c2c819941and to a dash. You can also choose to compile modules as <a
6ae232055d4d8a97267517c5e50074c2c819941and href="dso.html">shared objects (DSOs)</a> -- which can be loaded
6ae232055d4d8a97267517c5e50074c2c819941and or unloaded at runtime -- by using the option
6ae232055d4d8a97267517c5e50074c2c819941and <code>--enable-mods-shared</code>. Similarly, you can
6ae232055d4d8a97267517c5e50074c2c819941and disable Base modules with the
6ae232055d4d8a97267517c5e50074c2c819941and <code>--disable-<var>module</var></code> option. Be careful when
6ae232055d4d8a97267517c5e50074c2c819941and using these options, since <program>configure</program> cannot warn you
6ae232055d4d8a97267517c5e50074c2c819941and if the module you specify does not exist; it will simply ignore the
6ae232055d4d8a97267517c5e50074c2c819941and option.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>In addition, it is sometimes necessary to provide the
6ae232055d4d8a97267517c5e50074c2c819941and <program>configure</program> script with extra information about the
6ae232055d4d8a97267517c5e50074c2c819941and location of your compiler, libraries, or header files. This is
6ae232055d4d8a97267517c5e50074c2c819941and done by passing either environment variables or command line
6ae232055d4d8a97267517c5e50074c2c819941and options to <program>configure</program>. For more information, see the
6ae232055d4d8a97267517c5e50074c2c819941and <program>configure</program> manual page. Or invoke
6ae232055d4d8a97267517c5e50074c2c819941and <program>configure</program> using the <code>--help</code> option.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>For a short impression of what possibilities you have, here
6ae232055d4d8a97267517c5e50074c2c819941and is a typical example which compiles Apache for the installation
6ae232055d4d8a97267517c5e50074c2c819941and tree <code>/sw/pkg/apache</code> with a particular compiler and flags
6ae232055d4d8a97267517c5e50074c2c819941and plus the two additional modules <module>mod_rewrite</module> and
6ae232055d4d8a97267517c5e50074c2c819941and <module>mod_speling</module> for
6ae232055d4d8a97267517c5e50074c2c819941and later loading through the DSO mechanism:</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<example>
6ae232055d4d8a97267517c5e50074c2c819941and $ CC="pgcc" CFLAGS="-O2" \<br />
6ae232055d4d8a97267517c5e50074c2c819941and /configure --prefix=/sw/pkg/apache \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-rewrite \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-speling \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-mods-shared="rewrite speling"
6ae232055d4d8a97267517c5e50074c2c819941and</example>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>When <program>configure</program> is run it will take several minutes to
6ae232055d4d8a97267517c5e50074c2c819941and test for the availability of features on your system and build
6ae232055d4d8a97267517c5e50074c2c819941and Makefiles which will later be used to compile the server.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi <p>Details on all the different <program>configure</program> options are
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi available on the <program>configure</program> manual page.</p>
6ae232055d4d8a97267517c5e50074c2c819941and</section>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and<section id="compile"><title>Build</title>
6ae232055d4d8a97267517c5e50074c2c819941and
<p>Now you can build the various parts which form the Apache
package by simply running the command:</p>
<example>$ make</example>
<p>Please be patient here, since a base configuration takes
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>
<p>Now it's time to install the package under the configured
installation <em>PREFIX</em> (see <code>--prefix</code> option
above) by running:</p>
<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>
<section id="customize"><title>Customize</title>
<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>
<example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
<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>
<section id="test"><title>Test</title>
<p>Now you can <a href="invoking.html">start</a> your Apache
HTTP server by immediately running:</p>
<example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
<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 -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),
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
module API.</p>
<p>Upgrading from one minor version to the next (for example, from
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
<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 <program>configure</program> command line, an identical
configuration file, and all of your modules should continue to
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 -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
environment before putting it into production. For example, you
can install and run the new version along side the old one by
using a different <code>--prefix</code> and a
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>
</manualpage>