]> granicus.if.org Git - apache/blob - docs/manual/upgrading.xml
renamed upgrading.xml.en to upgrading.xml
[apache] / docs / manual / upgrading.xml
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
4 <manualpage>
5 <relativepath href="."/>
6
7 <title>Upgrading to 2.0 from 1.3</title>
8
9 <summary>
10   <p>In order to assist folks upgrading, we maintain a document
11   describing information critical to existing Apache users. These
12   are intended to be brief notes, and you should be able to find
13   more information in either the <a
14   href="new_features_2_0.html">New Features</a> document, or in
15   the <code>src/CHANGES</code> file.</p>
16 </summary>
17
18   <section id="compile-time">
19     <title>Compile-Time Configuration Changes</title>
20
21     <ul>
22       <li>Apache now uses an <code>autoconf</code> and
23       <code>libtool</code> system for <a
24       href="install.html">configuring the build processes</a>.
25       Using this system is similar to, but not the same as, using
26       the APACI system in Apache 1.3.</li>
27
28       <li>In addition to the usual selection of modules which you
29       can choose to compile, Apache 2.0 has moved the main part of
30       request processing into <a href="mpm.html">Multi-Processing
31       Modules</a> (MPMs).</li>
32     </ul>
33   </section>
34
35   <section id="run-time">
36     <title>Run-Time Configuration Changes</title>
37
38     <ul>
39       <li>Many directives that were in the core server in Apache
40       1.3 are now in the MPMs. If you wish the behavior of the
41       server to be as similar as possible to the behavior of Apache
42       1.3, you should select the <a
43       href="mod/prefork.html">prefork</a> MPM. Other MPMs will have
44       different directives to control process creation and request
45       processing.</li>
46
47       <li>The <a href="mod/mod_proxy.html">proxy module</a> has been
48       revamped to bring it up to HTTP/1.1.  Among the important changes,
49       proxy access control is now placed inside a &lt;Proxy&gt; block
50       rather than a &lt;Directory proxy:&gt; block.</li>
51
52       <li>The handling of PATH_INFO (trailing path information after
53       the true filename) has changed for some modules.  Modules
54       that were previously implemented as a handler but are now
55       implemented as a filter may no longer accept requests with
56       PATH_INFO.  Filters such as <a
57       href="mod/mod_include.html">INCLUDES</a> are implemented on top
58       of the core handler, and therefore reject requests with
59       PATH_INFO.  You can use the <directive
60       module="core">AcceptPathInfo</directive> directive to
61       force the core handler to accept requests with PATH_INFO and
62       thereby restore the ability to use PATH_INFO in server-side
63       includes.</li>
64
65       <li>The <directive
66       module="mod_negotiation">CacheNegotiatedDocs</directive>
67       directive now takes the argument <code>on</code> or
68       <code>off</code>. Existing instances of
69       <code>CacheNegotiatedDocs</code> should be replaced with
70       <code>CacheNegotiatedDocs on</code>.</li>
71
72       <li>
73         The <directive module="core">ErrorDocument</directive>
74         directive no longer uses a quote at the beginning of the
75         argument to indicate a text message. Instead, you should
76         enclose the message in double quotes. For example, existing
77         instances of
78
79         <blockquote>
80           <code>ErrorDocument 403 "Some Message</code>
81         </blockquote>
82         should be replaced with
83
84         <blockquote>
85           <code>ErrorDocument 403 "Some Message"</code>
86         </blockquote>
87         As long as the second argument is not a valid URL or
88         pathname, it will be treated as a text message.
89       </li>
90
91       <li>The <code>AccessConfig</code> and
92       <code>ResourceConfig</code> directives no longer exist.
93       Existing instances of these directives can be replaced with
94       the <directive module="core">Include</directive>
95       directive which has equivalent functionality. If you were
96       making use of the default values of these directives without
97       including them in the configuration files, you may need to
98       add <code>Include conf/access.conf</code> and <code>Include
99       conf/srm.conf</code> to your httpd.conf. In order to assure
100       that Apache reads the configuration files in the same order
101       as was implied by the older directives, the
102       <code>Include</code> directives should be placed at the end
103       of httpd.conf, with the one for <code>srm.conf</code>
104       preceding the one for <code>access.conf</code>.</li>
105
106       <li>The <code>BindAddress</code> and <code>Port</code>
107       directives no longer exist.  Equivalent functionality is
108       provided with the more flexible
109       <directive module="mpm_common">Listen</directive>
110       directive.</li>
111
112       <li>Another use of the <code>Port</code>
113       directive in Apache-1.3 was setting the port number to be used
114       in self-referential URL's. The Apache-2.0 equivalent is
115       the new <directive module="core">ServerName</directive>
116       syntax: it has been changed to allow specifying both the
117       hostname <em>and</em> the port number for self-referential URL's
118       in one directive.</li>
119
120       <li>The <code>ServerType</code> directive no longer exists.
121       The method used to serve requests is now determined by the
122       selection of MPM. There is currently no MPM designed to be
123       launched by inetd.</li>
124
125       <li>The mod_log_agent and mod_log_referer modules which
126       provided the <code>AgentLog</code>, <code>RefererLog</code>
127       and <code>RefererIgnore</code> directives have been removed.
128       Agent and referer logs are still available using the
129       <directive module="mod_log_config">CustomLog</directive>
130       directive of mod_log_config.</li>
131
132       <li>The <code>AddModule</code> and
133       <code>ClearModuleList</code> directives no longer exist.
134       These directives where used to ensure that modules could be
135       enabled in the correct order. The new Apache 2.0 API allows
136       modules to explicitly specify their ordering, eliminating the
137       need for these directives.</li>
138
139       <li>The <code>FancyIndexing</code> directive has been removed.
140       The same functionality is available through the
141       <code>FancyIndexing</code> option to the <directive
142       module="mod_autoindex">IndexOptions</directive>
143       directive.</li>
144     </ul>
145   </section>
146
147   <section id="misc">
148     <title>Misc Changes</title>
149
150     <ul>
151       <li>The <code>httpd</code> command line option
152       <code>-S</code> which was used for printing the virtual host
153       configuration has been replaced by <code>-t -D
154       DUMP_VHOSTS</code>.</li>
155
156       <li>The module mod_auth_digest, which was experimental in
157       Apache 1.3, is now a standard module.</li>
158
159       <li>The mod_mmap_static module, which was experimental in
160       Apache 1.3, has been replaced with mod_file_cache.</li>
161
162       <li>The distribution has been completely reorganized so that
163       it no longer contains an independent <code>src</code>
164       directory. Instead, the sources are logically organized under
165       the main distribution directory, and installations of the
166       compiled server should be directed to a separate
167       directory.</li>
168     </ul>
169   </section>
170
171   <section id="third-party">
172     <title>Third Party Modules</title>
173
174     <p>Extensive changes were made to the server API in Apache 2.0.
175     Existing modules designed for the Apache 1.3 API will
176     <strong>not</strong> work in Apache 2.0 without modification.
177     Details are provided in the <a href="developer/">developer
178     documentation</a>.</p>
179   </section>
180 </manualpage>