NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Chapter 10. Apache HTTP Server
The Apache HTTP Server is a robust, commercial-grade open source
Web server developed by the Apache Software Foundation (https://www.apache.org/).
Red Hat Enterprise Linux includes the Apache HTTP Server 2.0 as
well as a number of server modules designed to enhance its
The default configuration file installed with the Apache HTTP
Server works without alteration for most situations. This chapter
outlines many of the directives found within its configuration file
(/etc/httpd/conf/httpd.conf) to aid those
who require a custom configuration or need to convert a
configuration file from the older Apache HTTP Server 1.3
If using the graphical HTTP Configuration
Tool (system-config-httpd), do not hand edit the Apache HTTP Server's
configuration file as the HTTP Configuration
Tool regenerates this file whenever it is used.
For more information about the HTTP
Configuration Tool, please refer to the chapter titled
Apache HTTP Server Configuration in the
Red Hat Enterprise Linux System Administration
There are important differences between the Apache HTTP Server
2.0 and version 1.3 (version 1.3 shipped with Red Hat Enterprise
Linux 2.1 and earlier). This section reviews some of the features
of Apache HTTP Server 2.0 and outlines important changes. For
instructions on migrating a version 1.3 configuration file to the
2.0 format, refer to Section 10.2
Migrating Apache HTTP Server 1.3 Configuration
Apache HTTP Server 2.0 includes the following features:
Apache API — Modules utilize a
more powerful set of Application Programming Interfaces (APIs).
Modules built for Apache HTTP Server 1.3 do not work without
being ported to the new API. If unsure whether or not a particular
module has been ported, consult the developer before upgrading.
Filtering — Modules can act as
content filters. Refer to Section 10.2.4
Modules and Apache HTTP Server 2.0 for more on how
IPv6 Support — The next generation
IP addressing format is supported.
Simplified Directives — A number
of confusing directives have been removed while others have been
simplified. Refer to Section 10.5
Configuration Directives in httpd.conf for more information about
Multilingual Error Responses —
When using Server Side Include (SSI) documents, customizable error response pages
can be delivered in multiple languages.
A more complete list of changes can be found online at https://httpd.apache.org/docs-2.0/.
Starting with Red Hat Enterprise Linux 3, the Apache HTTP Server
packages were renamed. Also, some related packages were renamed,
deprecated, or incorporated into other packages.
Below is a list of packaging changes:
The apache, apache-devel and apache-manual packages were renamed to httpd, httpd-devel and
The mod_dav package was incorporated
into the httpd package.
The mod_put and mod_roaming packages were removed, since their
functionality is a subset of that provided by mod_dav (which is now incorporated into the
The mod_auth_any and mod_bandwidth packages were 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.
The following changes to the file system layout occur when
upgrading to Apache HTTP Server 2.0:
The configuration directory, /etc/httpd/conf.d/, has been added. —
This 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.
It is vital that the line specifying the new configuration
directory 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 causes scripts with
absolute paths for these binaries to fail.
command has been replaced. — The dbmmanage command has been replaced by htdbm. Refer to Section 10.2.4.5
The mod_auth_dbm and mod_auth_db Modules for more
configuration file has been renamed. — The logrotate configuration file has been renamed from
/etc/logrotate.d/apache to /etc/logrotate.d/httpd.
The next section outlines how to migrate an Apache HTTP Server
1.3 configuration to the 2.0 format.