Chapter 14. Apache HTTP Server

The Apache HTTP Server is a robust, commercial-grade open source Web server developed by the Apache Software Foundation (http://www.apache.org). Red Hat Linux 8.0 includes the Apache HTTP Server version 2.0 as well as a number of server modules designed to enhance its functionality.

The default configuration file installed with the Apache HTTP Server works without alteration for most situations. This chapter, however, outlines how to customize the Apache HTTP Server configuration file (/etc/httpd/conf/httpd.conf) for situations where the default configuration does not suit your needs.

WarningWarning
 

If you plan to use the graphical HTTP Configuration Tool (redhat-config-httpd), do not edit the Apache HTTP Server's configuration file. The HTTP Configuration Tool regenerates this file whenever it is used.

If you need more information on the HTTP Configuration Tool, please see the chapter titled Apache HTTP Server Configuration in the Official Red Hat Linux Customization Guide.

Apache HTTP Server 2.0

Red Hat Linux 8.0 ships with version 2.0 of the Apache HTTP Server. There are important differences between version 2.0 and version 1.3 — which shipped with earlier releases of Red Hat Linux. This section reviews some of the new features of Apache HTTP Server 2.0 and outlines important changes. If you need to migrate a version 1.3 configuration file to the new format, refer to the Section called Migrating Apache HTTP Server 1.3 Configuration Files.

Features of Apache HTTP Server 2.0

The arrival of Apache HTTP Server 2.0 brings with it a number of new features. Among them are the following:

  • New Apache API — The Apache HTTP Server has a new, more powerful set of Application Programing Interfaces (APIs) for modules.

    CautionCaution
     

    Modules built for Apache HTTP Server 1.3 will not work without being ported to the new API. If you are unsure whether or not a particular module has been ported, consult with the package maintainer before upgrading.

  • Filtering — Modules for Apache HTTP Server 2.0 have the ability to act as content filters. See the Section called Modules and Apache HTTP Server 2.0 for more on how filtering works.

  • IPv6 Support — Apache HTTP Server 2.0 supports next generation IP addressing.

  • Simplified Directives — A number of confusing directives have been removed while others have been simplified. See the Section called Configuration Directives in httpd.conf for more information about specific directives.

  • Multilingual Error Responses — When using Server Side Include (SSI) documents, customizable error response pages can be delivered in multiple languages.

  • Multiprotocol Support — Apache HTTP Server 2.0 has the ability to serve multiple protocols.

A more complete list complete list of changes can be found online at http://httpd.apache.org/docs-2.0/.

Packaging Changes in Apache HTTP Server 2.0

Under Red Hat Linux 8.0 the Apache HTTP Server package has been renamed. Also, some related packages have been renamed, deprecated, or incorporated into other packages.

Below is a list of the packaging changes:

  • The apache, apache-devel and apache-manual packages have been renamed as httpd, httpd-devel and httpd-manual respectively.

  • The mod_dav package has been incorporated into the httpd package.

  • The mod_put and mod_roaming packages have been removed, since their functionality is a subset of that provided by mod_dav.

  • The mod_auth_any and mod_bandwidth packages have been removed.

  • The version number for the mod_ssl package is now synchronized with the httpd package. This means that the mod_ssl package for Apache HTTP Server 2.0 has a lower version number than mod_ssl package for Apache HTTP Server 1.3.

File System Changes in Apache HTTP Server 2.0

The following changes to the file system layout occur when upgrading to Apache HTTP Server 2.0:

  • A new configuration directory, /etc/httpd/conf.d/, has been added. — This new directory is used to store configuration files for individually packaged modules, such as mod_ssl, mod_perl, and php. The server is instructed to load configuration files from this location by the directive Include conf.d/*.conf within the Apache HTTP Server configuration file, /etc/httpd/conf/httpd.conf.

    WarningWarning
     

    It is vital that this line be inserted when migrating an existing configuration.

  • The ab and logresolve programs have been moved. — These utility programs have been moved from the /usr/sbin/ directory and into the /usr/bin/ directory. This will cause scripts with absolute paths for these binaries to fail.

  • The dbmmanage command has been replaced. — The dbmmanage command has been replaced by htdbm. See the Section called The mod_auth_dbm and mod_auth_db Modules for more information.

  • The logrotate configuration file has has been renamed. — The logrotate configuration file has been renamed from /etc/logrotate.d/apache to /etc/logrotate.d/httpd.

The next section will outline how to migrate an Apache HTTP Server 1.3 configuration to the new 2.0 format.