blob: 4df43c8b5000c830765c7777c04db0c16986f378 [file] [log] [blame]
<?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>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Upgrading to 2.0 from 1.3 - 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" /><link href="http://httpd.apache.org/docs/current/upgrading.html" rel="canonical" /></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="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.0</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
<p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
<ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Upgrading to 2.0 from 1.3</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./de/upgrading.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/upgrading.html" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/upgrading.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div>
<p>In order to assist folks upgrading, we maintain a document
describing information critical to existing Apache users. These
are intended to be brief notes, and you should be able to find
more information in either the <a href="new_features_2_0.html">New Features</a> document, or in
the <code>src/CHANGES</code> file.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Compile-Time Configuration Changes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Run-Time Configuration Changes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#misc">Misc Changes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#third-party">Third Party Modules</a></li>
</ul><h3>See also</h3><ul class="seealso"><li><a href="new_features_2_0.html">Overview of new features in
Apache 2.0</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="compile-time" id="compile-time">Compile-Time Configuration Changes</a></h2>
<ul>
<li>Apache now uses an <code>autoconf</code> and
<code>libtool</code> system for <a href="install.html">configuring the build processes</a>.
Using this system is similar to, but not the same as, using
the APACI system in Apache 1.3.</li>
<li>In addition to the usual selection of modules which you
can choose to compile, Apache 2.0 has moved the main part of
request processing into <a href="mpm.html">Multi-Processing
Modules</a> (MPMs).</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="run-time" id="run-time">Run-Time Configuration Changes</a></h2>
<ul>
<li>Many directives that were in the core server in Apache
1.3 are now in the MPMs. If you wish the behavior of the
server to be as similar as possible to the behavior of Apache
1.3, you should select the <code class="module"><a href="./mod/prefork.html">prefork</a></code> MPM. Other MPMs
will have different directives to control process creation and request
processing.</li>
<li>The <a href="mod/mod_proxy.html">proxy module</a> has been
revamped to bring it up to HTTP/1.1. Among the important changes,
proxy access control is now placed inside a <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code> block rather than a
<code>&lt;Directory proxy:&gt;</code> block.</li>
<li>The handling of <code>PATH_INFO</code> (trailing path information
after the true filename) has changed for some modules. Modules
that were previously implemented as a handler but are now
implemented as a filter may no longer accept requests with
<code>PATH_INFO</code>. Filters such as <a href="mod/mod_include.html">INCLUDES</a> or <a href="http://www.php.net/">PHP</a> are implemented on top
of the core handler, and therefore reject requests with
<code>PATH_INFO</code>. You can use the <code class="directive"><a href="./mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> directive to
force the core handler to accept requests with <code>PATH_INFO</code>
and thereby restore the ability to use <code>PATH_INFO</code> in
server-side includes.</li>
<li>The <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code>
directive now takes the argument <code>on</code> or
<code>off</code>. Existing instances of <code class="directive">CacheNegotiatedDocs</code> should be
replaced with <code>CacheNegotiatedDocs on</code>.</li>
<li>
The <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
directive no longer uses a quote at the beginning of the
argument to indicate a text message. Instead, you should
enclose the message in double quotes. For example, existing
instances of
<div class="example"><p><code>
ErrorDocument 403 "Some Message
</code></p></div>
should be replaced with
<div class="example"><p><code>
ErrorDocument 403 "Some Message"
</code></p></div>
As long as the second argument is not a valid URL or
pathname, it will be treated as a text message.
</li>
<li>The <code>AccessConfig</code> and
<code>ResourceConfig</code> directives no longer exist.
Existing instances of these directives can be replaced with
the <code class="directive"><a href="./mod/core.html#include">Include</a></code>
directive which has equivalent functionality. If you were
making use of the default values of these directives without
including them in the configuration files, you may need to
add <code>Include conf/access.conf</code> and <code>Include
conf/srm.conf</code> to your <code>httpd.conf</code>. In order to
assure that Apache reads the configuration files in the same order
as was implied by the older directives, the <code class="directive"><a href="./mod/core.html#include">Include</a></code> directives should be placed at the end
of <code>httpd.conf</code>, with the one for <code>srm.conf</code>
preceding the one for <code>access.conf</code>.</li>
<li>The <code>BindAddress</code> and <code>Port</code>
directives no longer exist. Equivalent functionality is
provided with the more flexible
<code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
directive.</li>
<li>Another use of the <code>Port</code>
directive in Apache-1.3 was setting the port number to be used
in self-referential URL's. The Apache-2.0 equivalent is
the new <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>
syntax: it has been changed to allow specifying both the
hostname <em>and</em> the port number for self-referential URL's
in one directive.</li>
<li>The <code>ServerType</code> directive no longer exists.
The method used to serve requests is now determined by the
selection of MPM. There is currently no MPM designed to be
launched by inetd.</li>
<li>The <code>mod_log_agent</code> and <code>mod_log_referer</code>
modules which provided the <code>AgentLog</code>,
<code>RefererLog</code> and <code>RefererIgnore</code> directives have
been removed. Agent and referer logs are still available using the
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
directive of <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>.</li>
<li>The <code>AddModule</code> and
<code>ClearModuleList</code> directives no longer exist.
These directives were used to ensure that modules could be
enabled in the correct order. The new Apache 2.0 API allows
modules to explicitly specify their ordering, eliminating the
need for these directives.</li>
<li>The <code>FancyIndexing</code> directive has been removed.
The same functionality is available through the
<code>FancyIndexing</code> option to the <code class="directive"><a href="./mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>
directive.</li>
<li>The MultiViews content-negotiation technique provided by
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> has become more strict in its
default file matching. It will select only from <em>negotiable</em>
files. The old behavior can be restored using the <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> directive.</li>
<li>(<em>since version 2.0.51</em>)
<p>The functionality of the <code>ErrorHeader</code> directive was
put together with the <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>
directive, since it was a misnomer. Use</p>
<div class="example"><p><code>
Header always set foo bar
</code></p></div>
<p>instead to get the desired behaviour.</p></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="misc" id="misc">Misc Changes</a></h2>
<ul>
<li>The module <code class="module"><a href="./mod/mod_auth_digest.html">mod_auth_digest</a></code>, which was
experimental in Apache 1.3, is now a standard module.</li>
<li>The <code>mod_mmap_static</code> module, which was experimental in
Apache 1.3, has been replaced with <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>.</li>
<li>The distribution has been completely reorganized so that
it no longer contains an independent <code>src</code>
directory. Instead, the sources are logically organized under
the main distribution directory, and installations of the
compiled server should be directed to a separate
directory.</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="third-party" id="third-party">Third Party Modules</a></h2>
<p>Extensive changes were made to the server API in Apache 2.0.
Existing modules designed for the Apache 1.3 API will
<strong>not</strong> work in Apache 2.0 without modification.
Details are provided in the <a href="developer/">developer
documentation</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./de/upgrading.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/upgrading.html" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/upgrading.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</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>