Chapter 7. Setting Up Apache HTTP Server

This chapter contains instructions for configuring Red Hat Enterprise Linux to make the Apache HTTP Server highly available.

It provides an example of setting up a cluster service that fails over an Apache HTTP Server. Although the actual variables used in the service depend on the specific configuration, the example may assist in setting up a service for a particular environment.

7.1. Apache HTTP Server Setup Overview

First, configure Apache HTTP Server on all members in the cluster. Consider assigning the service to a failover domain to reduce the number of systems that must be configured to run this service. Refer to Section 3.9 Configuring a Failover Domain for instructions. The cluster software ensures that only one cluster system runs the Apache HTTP Server at one time. The configuration consists of installing the httpd RPM package on all cluster members (or on members in the failover domain, if used) and configuring a shared file system to house the website's content.

When installing the Apache HTTP Server on the cluster systems, do not configure the cluster systems so that the service automatically starts when the system boots by performing the following command:

chkconfig --del httpd

Rather than having the system startup scripts spawn httpd, the cluster infrastructure does that on the active cluster server. This ensures that the corresponding IP address and file system mounts are active on only one cluster member at a time.

When adding an httpd service, a floating IP address must be assigned to the service such that the IP address will transfer from one cluster member to another in the event of failover or service relocation. The cluster infrastructure binds this IP address to the network interface on the cluster system that is currently running the Apache HTTP Server. This IP address ensures that the cluster system running the httpd service is transparent to the HTTP clients accessing the Apache HTTP Server.

The file systems that contain the Web content must not be automatically mounted on shared disk storage when the cluster systems boot. Instead, the cluster software must mount and unmount the file systems as the httpd service is started and stopped on the cluster systems. This prevents the cluster systems from accessing the same data simultaneously, which may result in data corruption. Therefore, do not include the file systems in the /etc/fstab file.