Using Apache With RPM Based Systems (Redhat / CentOS / Fedora)

While many distributions make Apache httpd available as operating system
supported packages, it can sometimes be desirable to install and use the
canonical version of Apache httpd on these systems, replacing the natively
provided versions of the packages.

While the Apache httpd project does not currently create binary RPMs
for the various distributions out there, it is easy to build your own
binary RPMs from the canonical Apache httpd tarball.

This document explains how to build, install, configure and run
Apache httpd 2.4 under Unix systems supporting the RPM packaging format.

See also

RPMs can be built directly from the Apache httpd source tarballs using
the following command:

rpmbuild -tb httpd-2.4.x.tar.bz2

Corresponding "-devel" packages will be required to be installed on your
build system prior to building the RPMs, the rpmbuild command
will automatically calculate what RPMs are required and will list any
dependencies that are missing on your system. These "-devel" packages will
not be required after the build is completed, and can be safely removed.

The default configuration for the server is installed by default
beneath the /etc/httpd directory, with logs written by
default to /var/log/httpd. The environment for the
webserver is set by default within the optional
/etc/sysconfig/httpd file.

It is possible to configure additional instances of the Apache
httpd server running independently alongside each other on the same
machine. These instances can have independent configurations, and
can potentially run as separate users if so configured.

This was done by making the httpd startup script aware of its own
name. This name is then used to find the environment file for the
server, and in turn, the server root of the server instance.

To create an additional instance called
httpd-additional, follow these steps:

Create a symbolic link to the startup script for the additional
server:

Notice:This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.