upgrading.html.en revision 1a0126df75d2c9d19c6773ffe90d9a261c454ab0
0N/A<?xml version="1.0" encoding="ISO-8859-1"?>
0N/A<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
0N/A<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
0N/A XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0N/A This file is generated from xml source: DO NOT EDIT
0N/A XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0N/A --><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" /></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-project/">Documentation</a> &gt; <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Upgrading to 2.0 from 1.3</h1>
0N/A <p>In order to assist folks upgrading, we maintain a document
0N/A describing information critical to existing Apache users. These
0N/A are intended to be brief notes, and you should be able to find
0N/A more information in either the <a href="new_features_2_0.html">New Features</a> document, or in
0N/A the <code>src/CHANGES</code> file.</p>
0N/A</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></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>
0N/A
0N/A
0N/A <ul>
0N/A <li>Apache now uses an <code>autoconf</code> and
0N/A <code>libtool</code> system for <a href="install.html">configuring the build processes</a>.
0N/A Using this system is similar to, but not the same as, using
0N/A the APACI system in Apache 1.3.</li>
0N/A
0N/A <li>In addition to the usual selection of modules which you
0N/A can choose to compile, Apache 2.0 has moved the main part of
0N/A request processing into <a href="mpm.html">Multi-Processing
0N/A Modules</a> (MPMs).</li>
0N/A </ul>
0N/A </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>
0N/A
0N/A
0N/A <ul>
0N/A <li>Many directives that were in the core server in Apache
0N/A 1.3 are now in the MPMs. If you wish the behavior of the
0N/A server to be as similar as possible to the behavior of Apache
0N/A 1.3, you should select the <a href="mod/prefork.html">prefork</a> MPM. Other MPMs will have
0N/A different directives to control process creation and request
0N/A processing.</li>
0N/A
0N/A <li>The <a href="mod/mod_proxy.html">proxy module</a> has been
0N/A revamped to bring it up to HTTP/1.1. Among the important changes,
0N/A proxy access control is now placed inside a &lt;Proxy&gt; block
0N/A rather than a &lt;Directory proxy:&gt; block.</li>
0N/A
0N/A <li>The handling of PATH_INFO (trailing path information after
0N/A the true filename) has changed for some modules. Modules
0N/A that were previously implemented as a handler but are now
0N/A implemented as a filter may no longer accept requests with
0N/A PATH_INFO. Filters such as <a href="mod/mod_include.html">INCLUDES</a> are implemented on top
0N/A of the core handler, and therefore reject requests with
0N/A PATH_INFO. You can use the <code class="directive"><a href="/mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> directive to
0N/A force the core handler to accept requests with PATH_INFO and
0N/A thereby restore the ability to use PATH_INFO in server-side
0N/A includes.</li>
0N/A
0N/A <li>The <code class="directive"><a href="/mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code>
0N/A directive now takes the argument <code>on</code> or
0N/A <code>off</code>. Existing instances of
0N/A <code>CacheNegotiatedDocs</code> should be replaced with
0N/A <code>CacheNegotiatedDocs on</code>.</li>
0N/A
0N/A <li>
0N/A The <code class="directive"><a href="/mod/core.html#errordocument">ErrorDocument</a></code>
0N/A directive no longer uses a quote at the beginning of the
0N/A argument to indicate a text message. Instead, you should
0N/A enclose the message in double quotes. For example, existing
0N/A instances of
0N/A
0N/A <div class="example"><p><code>
0N/A ErrorDocument 403 "Some Message
0N/A </code></p></div>
0N/A should be replaced with
0N/A
0N/A <div class="example"><p><code>
0N/A ErrorDocument 403 "Some Message"
0N/A </code></p></div>
0N/A
0N/A As long as the second argument is not a valid URL or
0N/A pathname, it will be treated as a text message.
0N/A </li>
0N/A
0N/A <li>The <code>AccessConfig</code> and
0N/A <code>ResourceConfig</code> directives no longer exist.
0N/A Existing instances of these directives can be replaced with
0N/A the <code class="directive"><a href="/mod/core.html#include">Include</a></code>
0N/A directive which has equivalent functionality. If you were
0N/A making use of the default values of these directives without
0N/A including them in the configuration files, you may need to
0N/A add <code>Include conf/access.conf</code> and <code>Include
0N/A conf/srm.conf</code> to your httpd.conf. In order to assure
0N/A that Apache reads the configuration files in the same order
0N/A as was implied by the older directives, the
0N/A <code>Include</code> directives should be placed at the end
0N/A of httpd.conf, with the one for <code>srm.conf</code>
0N/A preceding the one for <code>access.conf</code>.</li>
0N/A
0N/A <li>The <code>BindAddress</code> and <code>Port</code>
0N/A directives no longer exist. Equivalent functionality is
0N/A provided with the more flexible
0N/A <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>
0N/A directive.</li>
0N/A
0N/A <li>Another use of the <code>Port</code>
0N/A directive in Apache-1.3 was setting the port number to be used
0N/A in self-referential URL's. The Apache-2.0 equivalent is
0N/A the new <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code>
0N/A syntax: it has been changed to allow specifying both the
0N/A hostname <em>and</em> the port number for self-referential URL's
0N/A in one directive.</li>
0N/A
0N/A <li>The <code>ServerType</code> directive no longer exists.
0N/A The method used to serve requests is now determined by the
0N/A selection of MPM. There is currently no MPM designed to be
0N/A launched by inetd.</li>
0N/A
0N/A <li>The mod_log_agent and mod_log_referer modules which
0N/A provided the <code>AgentLog</code>, <code>RefererLog</code>
0N/A and <code>RefererIgnore</code> directives have been removed.
0N/A Agent and referer logs are still available using the
0N/A <code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code>
0N/A directive of <code class="module"><a href="/mod/mod_log_config.html">mod_log_config</a></code>.</li>
0N/A
0N/A <li>The <code>AddModule</code> and
0N/A <code>ClearModuleList</code> directives no longer exist.
0N/A These directives were used to ensure that modules could be
0N/A enabled in the correct order. The new Apache 2.0 API allows
0N/A modules to explicitly specify their ordering, eliminating the
0N/A need for these directives.</li>
0N/A
0N/A <li>The <code>FancyIndexing</code> directive has been removed.
0N/A The same functionality is available through the
0N/A <code>FancyIndexing</code> option to the <code class="directive"><a href="/mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>
0N/A directive.</li>
0N/A </ul>
0N/A </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>
0N/A
0N/A
0N/A <ul>
0N/A <li>The <code>httpd</code> command line option
0N/A <code>-S</code> which was used for printing the virtual host
0N/A configuration has been replaced by <code>-t -D
0N/A DUMP_VHOSTS</code>.</li>
0N/A
0N/A <li>The module <code class="module"><a href="/mod/mod_auth_digest.html">mod_auth_digest</a></code>, which was
0N/A experimental in Apache 1.3, is now a standard module.</li>
0N/A
0N/A <li>The <code>mod_mmap_static</code> module, which was experimental in
0N/A Apache 1.3, has been replaced with <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>.</li>
0N/A
0N/A <li>The distribution has been completely reorganized so that
0N/A it no longer contains an independent <code>src</code>
0N/A directory. Instead, the sources are logically organized under
0N/A the main distribution directory, and installations of the
0N/A compiled server should be directed to a separate
0N/A directory.</li>
0N/A </ul>
0N/A </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>
0N/A
0N/A
0N/A <p>Extensive changes were made to the server API in Apache 2.0.
0N/A Existing modules designed for the Apache 1.3 API will
0N/A <strong>not</strong> work in Apache 2.0 without modification.
0N/A Details are provided in the <a href="developer/">developer
0N/A documentation</a>.</p>
0N/A </div></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>