# Upgrading to 2.2 from 2.0

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 New Features document, or in the `src/CHANGES` file.

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 1.3 to 2.0 upgrading document.

Overview of new features in Apache 2.2

# Compile-Time Configuration Changes

The compilation process is very similar to the one used in version 2.0. Your old `configure` command line (as found in `build/config.nice` 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:

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

# Run-Time Configuration Changes

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 LoadModule directive, then you will need to account for the module name changes mentioned above.

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 `conf/extra/` directory of the installed server. Default configuration files are installed in the `conf/original` directory.

Some runtime configuration changes that you may notice:

- The apachectl option `startssl` is no longer available. To enable SSL support, you should edit `httpd.conf` to include the relevant mod_ssl directives and then use `apachectl start` to start the server. An example configuration to activate mod_ssl has been included in `conf/extra/httpd-ssl.conf`.
- The default setting of UseCanonicalName is now `Off`. If you did not have this directive in your config file, you can add `UseCanonicalName On` to retain the old behavior.
- The module mod_userdir will no longer act on requests unless a UserDir directive specifying a directory name is present in the config file. To restore the old default behavior, place the directive `UserDir public_html` in your config file.
- The directive AuthDigestFile from mod_auth_digest has been merged with AuthUserFile and is now part of mod_authn_file.

# Misc Changes

- The module mod_cache, which was experimental in Apache 2.0, is now a standard module.
- The module mod_disk_cache, which was experimental in Apache 2.0, is now a standard module.
- The module mod_mem_cache, which was experimental in Apache 2.0, is now a standard module.
- The module mod_charset_lite, which was experimental in Apache 2.0, is now a standard module.
- The module mod_dumpio, which was experimental in Apache 2.0, is now a standard module.

# Third Party Modules

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