| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?> |
| <!-- $Revision: 1.14 $ --> |
| |
| <!-- |
| Copyright 2002-2004 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="upgrading.xml.meta"> |
| |
| <title>Upgrading to 2.0 from 1.3</title> |
| |
| <summary> |
| <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> |
| </summary> |
| <seealso><a href="new_features_2_0.html">Overview of new features in |
| Apache 2.0</a></seealso> |
| |
| <section id="compile-time"> |
| <title>Compile-Time Configuration Changes</title> |
| |
| <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> |
| </section> |
| |
| <section id="run-time"> |
| <title>Run-Time Configuration Changes</title> |
| |
| <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 <module>prefork</module> 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 <directive type="section" |
| module="mod_proxy">Proxy</directive> 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 <directive |
| module="core">AcceptPathInfo</directive> 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 <directive |
| module="mod_negotiation">CacheNegotiatedDocs</directive> |
| directive now takes the argument <code>on</code> or |
| <code>off</code>. Existing instances of <directive |
| >CacheNegotiatedDocs</directive> should be |
| replaced with <code>CacheNegotiatedDocs on</code>.</li> |
| |
| <li> |
| The <directive module="core">ErrorDocument</directive> |
| 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 |
| |
| <example> |
| ErrorDocument 403 "Some Message |
| </example> |
| should be replaced with |
| |
| <example> |
| ErrorDocument 403 "Some Message" |
| </example> |
| |
| 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 <directive module="core">Include</directive> |
| 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 <directive |
| module="core">Include</directive> 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 |
| <directive module="mpm_common">Listen</directive> |
| 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 <directive module="core">ServerName</directive> |
| 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 |
| <directive module="mod_log_config">CustomLog</directive> |
| directive of <module>mod_log_config</module>.</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 <directive |
| module="mod_autoindex">IndexOptions</directive> |
| directive.</li> |
| |
| <li>The MultiViews content-negotiation technique provided by |
| <module>mod_negotiation</module> 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 <directive |
| module="mod_mime">MultiviewsMatch</directive> directive.</li> |
| |
| </ul> |
| </section> |
| |
| <section id="misc"> |
| <title>Misc Changes</title> |
| |
| <ul> |
| <li>The module <module>mod_auth_digest</module>, 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 <module>mod_file_cache</module>.</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> |
| </section> |
| |
| <section id="third-party"> |
| <title>Third Party Modules</title> |
| |
| <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> |
| </section> |
| </manualpage> |