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
+ <p>Apache httpd uses <code>libtool</code> and <code>autoconf</code>
+ to create a build 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>
+ example, 2.2.50 to 2.2.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
<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>
+ <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
+ $ tar xvf httpd-<em>NN</em>.tar</code><br />
+ $ cd httpd-<em>NN</em></td>
</tr>
<tr>
<tr>
<td><a href="#test">Test</a></td>
- <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
+ <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
</td>
</tr>
</table>
- <p><em>NN</em> must be replaced with the current minor version
+ <p><em>NN</em> must be replaced with the current 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
<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>
+ 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>
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.ntp.org">NTP
+ See the <a href="http://www.ntp.org">NTP
homepage</a> for more details about NTP software and public
time servers.</dd>
If no Perl 5 interpreter is found by the
<code class="program"><a href="./programs/configure.html">configure</a></code> script, you will not be able to use
the affected support scripts. Of course, you will still be able to
- build and use Apache 2.0.</dd>
+ build and use Apache httpd.</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. Most users of
+ <p>The Apache HTTP Server can be downloaded from the <a href="http://httpd.apache.org/download.cgi">Apache HTTP Server
+ download site</a>, which lists several mirrors. Most users of
Apache on unix-like systems will be better off downloading and
compiling a source version. The build process (described below) is
easy, and it allows you to customize your server to suit your needs.
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
+$ gzip -d httpd-<em>NN</em>.tar.gz<br />
+$ tar xvf httpd-<em>NN</em>.tar
</code></p></div>
<p>This will create a new directory under the current directory
particular platform and personal requirements. This is done using
the script <code class="program"><a href="./programs/configure.html">configure</a></code> included in
the root directory of the distribution. (Developers downloading
- the CVS version of the Apache source tree will need to have
+ an unreleased 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>
<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>
+ several minutes to compile and the time will vary widely
+ depending on your hardware and the number of modules that 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 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>
+<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k 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>
+ 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 class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k 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>
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>
+ 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
module API between minor versions. In most cases you should be able to
use an identical <code class="program"><a href="./programs/configure.html">configure</a></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>
+ work.</p>
<p>To upgrade across minor versions, start by finding the file
<code>config.nice</code> in the <code>build</code> directory of
$ ./config.nice<br />
$ make<br />
$ make install<br />
- $ <em>PREFIX</em>/bin/apachectl stop<br />
- $ <em>PREFIX</em>/bin/apachectl start<br />
+ $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
+ $ <em>PREFIX</em>/bin/apachectl -k start<br />
</code></p></div>
<div class="warning">You should always test any new version in your
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
-<!-- English Revision: 333030 -->
+<!-- English Revision: 333030:344412 (outdated) -->
<!--
Copyright 2002-2005 The Apache Software Foundation or its licensors,
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
-<!-- English Revision: 105989:333030 (outdated) -->
+<!-- English Revision: 105989:344412 (outdated) -->
<!--
Copyright 2004-2005 The Apache Software Foundation or its licensors,
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 105989:333030 (outdated) -->
+<!-- English Revision: 105989:344412 (outdated) -->
<!--
Copyright 2004-2005 The Apache Software Foundation or its licensors,
<?xml version='1.0' encoding='iso-2022-jp' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 178520:333030 (outdated) -->
+<!-- English Revision: 178520:344412 (outdated) -->
<!--
Copyright 2002-2005 The Apache Software Foundation or its licensors, as
<?xml version='1.0' encoding='EUC-KR' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 105989:333030 (outdated) -->
+<!-- English Revision: 105989:344412 (outdated) -->
<!--
Copyright 2003-2005 The Apache Software Foundation or its licensors,
<relpath>.</relpath>
<variants>
- <variant>de</variant>
+ <variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
<variant outdated="yes">fr</variant>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
</ul>
</div>
<code>Host:</code> header to match this virtual host.</p>
<p>See the description of the
- <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> directive for
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> and
+ <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>directives for
settings which determine whether self-referential URL's (e.g., by the
<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module) will refer to the
specified port, or to the port number given in the client's request.
<li><a href="../vhosts/">Apache virtual host
documentation</a></li>
<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
</ul>
<h3>See also</h3>
<ul>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures how the server determines its own name and
+port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>In many situations Apache must construct a <em>self-referential</em>
+ URL -- that is, a URL that refers back to the same server. With
+ <code>UseCanonicalPhysicalPort On</code> Apache will, when
+ constructing the canonical port for the server to honor
+ the <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> directive,
+ provide the actual physical port number being used by this request
+ as a potential port. With <code>UseCanonicalPhysicalPort Off</code>
+ Apache will not ever use the actual physical port number, instead
+ relying on all configured information to construct a valid port number.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>The ordering of when the physical port is used is as follows:<br /><br />
+ <code>UseCanonicalName On</code>
+ <ul>
+ <li>Port provided in <code>Servername</code></li>
+ <li>Physical port</li>
+ <li>Default port</li>
+ </ul>
+ <code>UseCanonicalName Off | DNS</code>
+ <ul>
+ <li>Parsed port from <code>Host:</code> header</li>
+ <li>Physical port</li>
+ <li>Port provided in <code>Servername</code></li>
+ <li>Default port</li>
+ </ul>
+ </p>
+
+ <p>With <code>UseCanonicalPhysicalPort Off</code>, the
+ physical ports are removed from the ordering.</p>
+ </div>
+
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
<li><code class="directive"><a href="#servername">ServerName</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
</ul>
<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
<li><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv</a></li>
<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li>
+<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><a href="mpm_common.html#user">User</a></li>
<li><a href="mod_userdir.html#userdir">UserDir</a></li>
<li><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot</a></li>
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr>
<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
+<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+port</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
-<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="core.html#virtualhost"><VirtualHost
+<tr class="odd"><td><a href="core.html#virtualhost"><VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
- ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
+ ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only to a specific
hostname or IP address</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
<h2><a name="identification" id="identification">Server Identification</a></h2>
- <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code></li><li><code class="directive"><a href="./mod/core.html#serversignature">ServerSignature</a></code></li><li><code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code></li><li><code class="directive"><a href="./mod/core.html#serversignature">ServerSignature</a></code></li><li><code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li></ul></td></tr></table>
<p>The <code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code> and
<code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> directives
<code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> directive
sets the value of the Server HTTP response header field.</p>
- <p>The <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> and
- <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code>
+ <p>The <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>,
+ <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> and
+ <code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>
directives are used by the server to determine how to construct
self-referential URLs. For example, when a client requests a
directory, but does not include the trailing slash in the