| <?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="<-" 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/">Documentation</a> > <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"> de </a> | |
| <a href="./en/upgrading.html" title="English"> en </a> | |
| <a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./ru/upgrading.html" hreflang="ru" rel="alternate" title="Russian"> ru </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"><Proxy></a></code> block rather than a |
| <code><Directory proxy:></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"> de </a> | |
| <a href="./en/upgrading.html" title="English"> en </a> | |
| <a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./ru/upgrading.html" hreflang="ru" rel="alternate" title="Russian"> ru </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> |