Product SiteDocumentation Site

Chapter 11. The Apache HTTP Server

11.1. The Apache HTTP Server 2.2
11.1.1. New Features
11.1.2. Notable Changes
11.1.3. Updating the Configuration
11.2. Running the httpd Service
11.2.1. Starting the Service
11.2.2. Stopping the Service
11.2.3. Restarting the Service
11.2.4. Checking the Service Status
11.3. Editing the Configuration Files
11.3.1. Common httpd.conf Directives
11.3.2. Common ssl.conf Directives
11.3.3. Common Multi-Processing Module Directives
11.4. Working with Modules
11.4.1. Loading a Module
11.4.2. Writing a Module
11.5. Setting Up Virtual Hosts
11.6. Setting Up an SSL Server
11.6.1. An Overview of Certificates and Security
11.6.2. Enabling the mod_ssl Module
11.6.3. Using an Existing Key and Certificate
11.6.4. Generating a New Key and Certificate
11.7. Additional Resources
11.7.1. Installed Documentation
11.7.2. Useful Websites
HTTP (Hypertext Transfer Protocol) server, or a web server, is a network service that serves content to a client over the web. This typically means web pages, but any other documents can be served as well.
This chapter focuses on the Apache HTTP Server 2.2, a robust, full-featured open source web server developed by the Apache Software Foundation, that is included in Red Hat Enterprise Linux 6. It describes the basic configuration of the httpd service, and covers advanced topics such as adding server modules, setting up virtual hosts, or configuring the secure HTTP server.

11.1. The Apache HTTP Server 2.2

There are important differences between the Apache HTTP Server 2.2 and version 2.0, and if you are upgrading from a previous release of Red Hat Enterprise Linux, you will need to update the httpd service configuration accordingly. This section reviews some of the newly added features, outlines important changes, and guides you through the update of older configuration files.

11.1.1. New Features

The Apache HTTP Server version 2.2 introduces the following enhancements:
  • Improved caching modules, that is, mod_cache and mod_disk_cache.
  • Support for proxy load balancing, that is, the mod_proxy_balancer module.
  • Support for large files on 32-bit architectures, allowing the web server to handle files greater than 2GB.
  • A new structure for authentication and authorization support, replacing the authentication modules provided in previous versions.

11.1.2. Notable Changes

Since version 2.0, few changes have been made to the default httpd service configuration:
  • The following modules are no longer loaded by default: mod_cern_meta and mod_asis.
  • The following module is newly loaded by default: mod_ext_filter.

11.1.3. Updating the Configuration

To update the configuration files from the Apache HTTP Server version 2.0, take the following steps:
  1. Make sure all module names are correct, since they may have changed. Adjust the LoadModule directive for each module that has been renamed.
  2. Recompile all third party modules before attempting to load them. This typically means authentication and authorization modules.
  3. If you use the mod_userdir module, make sure the UserDir directive indicating a directory name (typically public_html) is provided.
  4. If you use the Apache HTTP Secure Server, edit the /etc/httpd/conf.d/ssl.conf to enable the Secure Sockets Layer (SSL) protocol.
Note that you can check the configuration for possible errors by using the following command:
~]# service httpd configtest
Syntax OK
For more information on upgrading the Apache HTTP Server configuration from version 2.0 to 2.2, refer to http://httpd.apache.org/docs/2.2/upgrading.html.