home *** CD-ROM | disk | FTP | other *** search
Wrap
<?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.0</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.0</a></div><div id="page-content"><div id="preamble"><h1>Compiling and Installing</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="./en/install.html" title="English"> en </a> | <a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./ru/install.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> </div> <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> <p>If you are upgrading from one minor version to the next (for example, 2.0.50 to 2.0.51), please skip down to the <a href="#upgrading">upgrading</a> section.</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> <li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Upgrading</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://httpd.apache.org/download.cgi</code> </td> </tr> <tr> <td><a href="#extract">Extract</a></td> <td><code>$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br /> $ tar xvf httpd-2_0_<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_0_<em>NN</em>.tar.gz.asc</code></p></div> <p>or</p> <div class="example"><p><code>$ gpg --verify httpd-2_0_<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_0_<em>NN</em>.tar.gz<br /> $ tar xvf httpd-2_0_<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>httpd</code>]</dt> <dd>Name of the executable which will be built.</dd> <dt><code>NOTEST_CPPFLAGS=...</code></dt> <dt><code>NOTEST_CFLAGS=...</code></dt> <dt><code>NOTEST_LDFLAGS=...</code></dt> <dt><code>NOTEST_LIBS=...</code></dt> <dd>These variables share the same function as their non-<code>NOTEST</code> namesakes. However, the variables are applied to the build process only after autoconf has performed its feature testing. This allows the inclusion of flags which will cause problems during feature testing, but must be used for the final compilation.</dd> <dt><code>SHLIB_PATH=...</code></dt> <dd>Options which specify shared library paths for the compiler and linker.</dd> </dl> <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_auth_dbm.html">mod_auth_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 explicit <em>path</em> will cause Apache to look in <em>path</em><code>/lib</code> and <em>path</em><code>/include</code> for the relevant files. Finally, the <em>path</em> may specify specific include and library paths separated by a colon.</dd> </dl> <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 it's 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.0/">http://httpd.apache.org/docs-2.0/</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 class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="upgrading" id="upgrading">Upgrading</a></h2> <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.0.55 to 2.0.57) is easier. The <code>make install</code> process will not overwrite any of your existing documents, log files, or configuration files. In addition, the developers make every effort to avoid incompatible changes in the <code>configure</code> options, run-time configuration, or the module API between minor versions. In most cases you should be able to use an identical <code>configure</code> command line, an identical configuration file, and all of your modules should continue to work. (This is only valid for versions after 2.0.41; earlier versions have incompatible changes.)</p> <p>If you kept the source tree from your last installation, upgrading is even easier. The file <code>config.nice</code> in the root of the old source tree contains the exact <code>configure</code> command line that you used to configure the source tree. Then to upgrade from one version to the next, you need only copy the <code>config.nice</code> file to the source tree of the new version, edit it to make any desired changes, and then run:</p> <div class="example"><p><code> $ ./config.nice<br /> $ make<br /> $ make install<br /> $ <em>PREFIX</em>/bin/apachectl stop<br /> $ <em>PREFIX</em>/bin/apachectl start<br /> </code></p></div> <div class="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 <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> directive) to test for any incompatibilities before doing the final upgrade.</div> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="./en/install.html" title="English"> en </a> | <a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./ru/install.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> </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>