Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2

# Upgrading to 2.2 from 2.0

Available Languages: de | en | fr | ja

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.

### See also

- Overview of new features in Apache 2.2

- Comments

## 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.

Available Languages: de | en | fr | ja

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.