Apache HTTP Server Version 2.5
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.
The Apache httpd source tarball can be converted into an SRPM as follows:
rpmbuild -ts httpd-2.4.x.tar.bz2
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.
If successful, the following RPMs will be created:
mod_ldap
and mod_authnz_ldap
, with
corresponding dependency on openldap.mod_lua
module, with
corresponding dependency on lua.mod_proxy_html
module, with
corresponding dependency on libxml2.mod_socache_dc
module, with
corresponding dependency on distcache.mod_ssl
module, with
corresponding dependency on openssl.The httpd
RPM is the only RPM necessary to get a basic
server to run. Install it as follows:
rpm -U httpd-2.4.x-1.i686.rpm
Self contained modules are included with the server. Modules that depend on external libraries are provided as separate RPMs to install if needed.
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.
Start the server as follows:
service httpd restart
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:
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional
chkconfig --add httpd-additional
/etc/sysconfig/httpd
file as a template:
# template from httpd
cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional
# blank template
touch /etc/sysconfig/httpd-additional
/etc/sysconfig/httpd-additional
and pass the
server root of the new server instance within the
OPTIONS
environment variable.
OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf"
/etc/httpd-additional/conf/httpd-additional.conf
to
ensure the correct ports and paths are configured.
service httpd-additional restart