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
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 outlines many of the Apache HTTP Server
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 format.
Warning
If using the graphical HTTP Configuration Tool
(redhat-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 Linux Customization Guide.
10.1. Apache HTTP Server 2.0
There are important differences between the Apache HTTP Server version 2.0 and
version 1.3 (version 1.3 shipped with Red Hat Linux 7.3 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 Files.
10.1.1. 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 — Modules utilize a
new, more powerful set of Application Programming Interfaces
(APIs).
Important
Modules built for Apache HTTP Server 1.3 will 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.
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. See Section 10.5 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 — Multiple
protocols are supported.
10.1.2. Packaging Changes in Apache HTTP Server 2.0
Starting with Red Hat Linux 8.0, the Apache HTTP Server packages were renamed. Also,
some related packages were renamed, deprecated, or incorporated into
other packages.
Below is a list of the packaging changes:
The apache,
apache-devil and
apache-manual packages were renamed
httpd, httpd-devel and
httpd-manual respectively.
The mod_dav package were 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.
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.
10.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.
Important
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 causes
scripts with absolute paths for these binaries to fail.
The logrotate 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 new 2.0 format.