]> granicus.if.org Git - apache/blob - docs/manual/upgrading.html.en
remove the relativepath element from the documents.
[apache] / docs / manual / upgrading.html.en
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Upgrading to 2.0 from 1.3 - Apache HTTP Server</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Apache HTTP Server Version 2.1</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <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.1</a></div><div id="page-content"><div id="preamble"><h1>Upgrading to 2.0 from 1.3</h1>
20   <p>In order to assist folks upgrading, we maintain a document
21   describing information critical to existing Apache users. These
22   are intended to be brief notes, and you should be able to find
23   more information in either the <a href="new_features_2_0.html">New Features</a> document, or in
24   the <code>src/CHANGES</code> file.</p>
25 </div>
26 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Compile-Time Configuration Changes</a></li>
27 <li><img alt="" src="./images/down.gif" /> <a href="#run-time">Run-Time Configuration Changes</a></li>
28 <li><img alt="" src="./images/down.gif" /> <a href="#misc">Misc Changes</a></li>
29 <li><img alt="" src="./images/down.gif" /> <a href="#third-party">Third Party Modules</a></li>
30 </ul><h3>See also</h3><ul class="seealso"><li><a href="new_features_2_0.html">Overview of new features in
31   Apache 2.0</a></li></ul></div>
32 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
33 <div class="section">
34 <h2><a name="compile-time" id="compile-time">Compile-Time Configuration Changes</a></h2>
35     
36
37     <ul>
38       <li>Apache now uses an <code>autoconf</code> and
39       <code>libtool</code> system for <a href="install.html">configuring the build processes</a>.
40       Using this system is similar to, but not the same as, using
41       the APACI system in Apache 1.3.</li>
42
43       <li>In addition to the usual selection of modules which you
44       can choose to compile, Apache 2.0 has moved the main part of
45       request processing into <a href="mpm.html">Multi-Processing
46       Modules</a> (MPMs).</li>
47     </ul>
48   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
49 <div class="section">
50 <h2><a name="run-time" id="run-time">Run-Time Configuration Changes</a></h2>
51     
52
53     <ul>
54       <li>Many directives that were in the core server in Apache
55       1.3 are now in the MPMs. If you wish the behavior of the
56       server to be as similar as possible to the behavior of Apache
57       1.3, you should select the <code class="module"><a href="./mod/prefork.html">prefork</a></code> MPM. Other MPMs
58       will have different directives to control process creation and request
59       processing.</li>
60
61       <li>The <a href="mod/mod_proxy.html">proxy module</a> has been
62       revamped to bring it up to HTTP/1.1.  Among the important changes,
63       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
64       <code>&lt;Directory proxy:&gt;</code> block.</li>
65
66       <li>The handling of <code>PATH_INFO</code> (trailing path information
67       after the true filename) has changed for some modules.  Modules
68       that were previously implemented as a handler but are now
69       implemented as a filter may no longer accept requests with
70       <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
71       of the core handler, and therefore reject requests with
72       <code>PATH_INFO</code>.  You can use the <code class="directive"><a href="./mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> directive to
73       force the core handler to accept requests with <code>PATH_INFO</code>
74       and thereby restore the ability to use <code>PATH_INFO</code> in
75       server-side includes.</li>
76
77       <li>The <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code>
78       directive now takes the argument <code>on</code> or
79       <code>off</code>. Existing instances of <code class="directive">CacheNegotiatedDocs</code> should be
80       replaced with <code>CacheNegotiatedDocs on</code>.</li>
81
82       <li>
83         The <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
84         directive no longer uses a quote at the beginning of the
85         argument to indicate a text message. Instead, you should
86         enclose the message in double quotes. For example, existing
87         instances of
88
89         <div class="example"><p><code>
90           ErrorDocument 403 "Some Message
91         </code></p></div>
92         should be replaced with
93
94         <div class="example"><p><code>
95           ErrorDocument 403 "Some Message"
96         </code></p></div>
97
98         As long as the second argument is not a valid URL or
99         pathname, it will be treated as a text message.
100       </li>
101
102       <li>The <code>AccessConfig</code> and
103       <code>ResourceConfig</code> directives no longer exist.
104       Existing instances of these directives can be replaced with
105       the <code class="directive"><a href="./mod/core.html#include">Include</a></code>
106       directive which has equivalent functionality. If you were
107       making use of the default values of these directives without
108       including them in the configuration files, you may need to
109       add <code>Include conf/access.conf</code> and <code>Include
110       conf/srm.conf</code> to your <code>httpd.conf</code>. In order to
111       assure that Apache reads the configuration files in the same order
112       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
113       of <code>httpd.conf</code>, with the one for <code>srm.conf</code>
114       preceding the one for <code>access.conf</code>.</li>
115
116       <li>The <code>BindAddress</code> and <code>Port</code>
117       directives no longer exist.  Equivalent functionality is
118       provided with the more flexible
119       <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
120       directive.</li>
121
122       <li>Another use of the <code>Port</code>
123       directive in Apache-1.3 was setting the port number to be used
124       in self-referential URL's. The Apache-2.0 equivalent is
125       the new <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>
126       syntax: it has been changed to allow specifying both the
127       hostname <em>and</em> the port number for self-referential URL's
128       in one directive.</li>
129
130       <li>The <code>ServerType</code> directive no longer exists.
131       The method used to serve requests is now determined by the
132       selection of MPM. There is currently no MPM designed to be
133       launched by inetd.</li>
134
135       <li>The <code>mod_log_agent</code> and <code>mod_log_referer</code>
136       modules which provided the <code>AgentLog</code>,
137       <code>RefererLog</code> and <code>RefererIgnore</code> directives have
138       been removed. Agent and referer logs are still available using the
139       <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
140       directive of <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>.</li>
141
142       <li>The <code>AddModule</code> and
143       <code>ClearModuleList</code> directives no longer exist.
144       These directives were used to ensure that modules could be
145       enabled in the correct order. The new Apache 2.0 API allows
146       modules to explicitly specify their ordering, eliminating the
147       need for these directives.</li>
148
149       <li>The <code>FancyIndexing</code> directive has been removed.
150       The same functionality is available through the
151       <code>FancyIndexing</code> option to the <code class="directive"><a href="./mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>
152       directive.</li>
153
154       <li>The MultiViews content-negotiation technique provided by
155       <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> has become more strict in its
156       default file matching.  It will select only from <em>negotiable</em>
157       files.  The old behavior can be restored using the <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> directive.</li>
158
159     </ul>
160   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
161 <div class="section">
162 <h2><a name="misc" id="misc">Misc Changes</a></h2>
163     
164
165     <ul>
166       <li>The module <code class="module"><a href="./mod/mod_auth_digest.html">mod_auth_digest</a></code>, which was
167       experimental in Apache 1.3, is now a standard module.</li>
168
169       <li>The <code>mod_mmap_static</code> module, which was experimental in
170       Apache 1.3, has been replaced with <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>.</li>
171
172       <li>The distribution has been completely reorganized so that
173       it no longer contains an independent <code>src</code>
174       directory. Instead, the sources are logically organized under
175       the main distribution directory, and installations of the
176       compiled server should be directed to a separate
177       directory.</li>
178     </ul>
179   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
180 <div class="section">
181 <h2><a name="third-party" id="third-party">Third Party Modules</a></h2>
182     
183
184     <p>Extensive changes were made to the server API in Apache 2.0.
185     Existing modules designed for the Apache 1.3 API will
186     <strong>not</strong> work in Apache 2.0 without modification.
187     Details are provided in the <a href="developer/">developer
188     documentation</a>.</p>
189   </div></div>
190 <div id="footer">
191 <p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
192 <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>
193 </body></html>