<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 Copyright 2002-2005 The Apache Software Foundation or its licensors, as
 applicable.

 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.2 from 2.0</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_2.html">New Features</a> document, or in
  the <code>src/CHANGES</code> file.</p>

  <p>This document describes only the changes from 2.0 to 2.2.  If you
  are upgrading from version 1.3, you should also consult the <a
  href="http://httpd.apache.org/docs/2.0/upgrading.html">1.3 to 2.0
  upgrading document.</a></p>

</summary>
<seealso><a href="new_features_2_2.html">Overview of new features in
  Apache 2.2</a></seealso>

  <section id="compile-time">
    <title>Compile-Time Configuration Changes</title>

    <p>The compilation process is very similar to the one used in
    version 2.0.  Your old <code>configure</code> command line (as
    found in <code>build/config.nice</code> in the installed server
    directory) can be used in some cases.  The most significant change
    required will be to account for changes in module names, in
    particular for the authentication and authorization modules.
    Some details of changes:</p>

    <ul>
      <li>mod_imap has been renamed to <module>mod_imagemap</module></li>
      <li>mod_auth has been split up into <module>mod_auth_basic</module>,
          <module>mod_authn_file</module>, <module>mod_authz_user</module>, and
          <module>mod_authz_groupfile</module></li>
      <li>mod_access has been renamed to <module>mod_authz_host</module></li>
      <li>mod_auth_ldap has been renamed to <module>mod_authnz_ldap</module></li>
      <li>Upgraded to require the APR 1.0 API.</li>
      <li>Updated bundled PCRE version to 5.0</li>
    </ul>

  </section>

  <section id="run-time">
    <title>Run-Time Configuration Changes</title>

    <p>Your existing version 2.0 config files and startup scripts can
      usually be used unchanged in version 2.2.  Some small
      adjustments may be necessary for particular configurations as
      discussed below.  In addition, if you dynamically load the
      standard modules using the <directive
      module="mod_so">LoadModule</directive> directive, then you will
      need to account for the module name changes mentioned above.</p>

    <p>If you choose to use the new default
      configuration file for version 2.2, you will find that it has
      been greatly simplified by removing all but the most essential
      configuration settings.  A set of example configuration settings
      for more advanced features is present in the
      <code>conf/extra/</code> directory of the installed server.  Default
      configuration files are installed in the <code>conf/original</code>
      directory.</p>

    <p>Some runtime configuration changes that you may notice:</p>

    <ul>
      <li>The <program>apachectl</program> option
      <code>startssl</code> is no longer available.  To enable SSL
      support, you should edit <code>httpd.conf</code> to include the
      relevant <module>mod_ssl</module> directives and then use
      <code>apachectl start</code> to start the server.  An example
      configuration to activate <module>mod_ssl</module> has been
      included in <code>conf/extra/httpd-ssl.conf</code>.</li>

      <li>The default setting of <directive
      module="core">UseCanonicalName</directive> is now
      <code>Off</code>.  If you did not have this directive in your
      config file, you can add <code>UseCanonicalName On</code> to
      retain the old behavior.</li>

      <li>The module <module>mod_userdir</module> will no longer act
      on requests unless a <directive
      module="mod_userdir">UserDir</directive> directive specifying a
      directory name is present in the config file.  To restore the
      old default behavior, place the directive <code>UserDir
      public_html</code> in your config file.</li>

    </ul>
  </section>

  <section id="misc">
    <title>Misc Changes</title>

    <ul>
      <li>The module <module>mod_cache</module>, which was
      experimental in Apache 2.0, is now a standard module.</li>

      <li>The module <module>mod_disk_cache</module>, which was
      experimental in Apache 2.0, is now a standard module.</li>

      <li>The module <module>mod_mem_cache</module>, which was
      experimental in Apache 2.0, is now a standard module.</li>

      <li>The module <module>mod_charset_lite</module>, which was
      experimental in Apache 2.0, is now a standard module.</li>

      <li>The module <module>mod_dumpio</module>, which was
      experimental in Apache 2.0, is now a standard module.</li>

    </ul>
  </section>

  <section id="third-party">
    <title>Third Party Modules</title>

   <p>Many third-party modules designed for version 2.0 will work
   unchanged with the the Apache HTTP Server version 2.2.  But all
   modules must be recompiled before being loaded.</p>

  </section>
</manualpage>
