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