install.xml revision df9042c34a10b7f58a5ce8a7725c35087abbcad6
6ae232055d4d8a97267517c5e50074c2c819941and<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
6ae232055d4d8a97267517c5e50074c2c819941and<!-- $LastChangedRevision$ -->
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 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 <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 <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 <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<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 impatient</title>
6ae232055d4d8a97267517c5e50074c2c819941and <columnspec><column width=".13"/><column width=".80"/></columnspec>
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
6ae232055d4d8a97267517c5e50074c2c819941and <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
6ae232055d4d8a97267517c5e50074c2c819941and filesystem path under which the server should be installed. If
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 <p>The following requirements exist for building Apache httpd:</p>
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 <dd>Make sure you have an ANSI-C compiler installed. 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 <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 homepage</a> for more details about NTP software and public
6ae232055d4d8a97267517c5e50074c2c819941and time servers.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and [OPTIONAL]</dt>
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 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 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 <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 <p>Extracting the source from the Apache HTTP Server tarball is a
6ae232055d4d8a97267517c5e50074c2c819941and simple matter of uncompressing, and then untarring:</p>
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 id="configure"><title>Configuring the source tree</title>
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 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 <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 <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 href="programs/configure.html#optionalfeatures">features</a> you
6ae232055d4d8a97267517c5e50074c2c819941and want included in Apache by enabling and disabling <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>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 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 <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> using the <code>--help</code> option.</p>
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 later loading through the DSO mechanism:</p>
6ae232055d4d8a97267517c5e50074c2c819941and $ CC="pgcc" CFLAGS="-O2" \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-rewrite \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-speling \<br />
6ae232055d4d8a97267517c5e50074c2c819941and --enable-mods-shared="rewrite speling"
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>
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi <p>Details on all the different <program>configure</program> options are
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi available on the <program>configure</program> manual page.</p>