| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> |
| <!-- $LastChangedRevision$ --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="rpm.xml.meta"> |
| <parentdocument href="./">Platform Specific Notes</parentdocument> |
| |
| <title>Using Apache With RPM Based Systems (Redhat / CentOS / Fedora)</title> |
| |
| <summary> |
| |
| <p>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.</p> |
| |
| <p>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.</p> |
| |
| <p>This document explains how to build, install, configure and run |
| Apache httpd 2.4 under Unix systems supporting the RPM packaging format.</p> |
| |
| </summary> |
| |
| <section id="creating"> |
| <title>Creating a Source RPM</title> |
| |
| <p>The Apache httpd source tarball can be converted into an SRPM as |
| follows:</p> |
| |
| <example> |
| rpmbuild -ts httpd-2.4.x.tar.bz2 |
| </example> |
| |
| </section> |
| |
| <section id="building"> |
| <title>Building RPMs</title> |
| |
| <p>RPMs can be built directly from the Apache httpd source tarballs using |
| the following command:</p> |
| |
| <example> |
| rpmbuild -tb httpd-2.4.x.tar.bz2 |
| </example> |
| |
| <p>Corresponding "-devel" packages will be required to be installed on your |
| build system prior to building the RPMs, the <code>rpmbuild</code> 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.</p> |
| |
| <p>If successful, the following RPMs will be created:</p> |
| |
| <dl> |
| <dt>httpd-2.4.x-1.i686.rpm</dt> |
| <dd>The core server and basic module set.</dd> |
| |
| <dt>httpd-debuginfo-2.4.x-1.i686.rpm</dt> |
| <dd>Debugging symbols for the server and all modules.</dd> |
| |
| <dt>httpd-devel-2.4.x-1.i686.rpm</dt> |
| <dd>Headers and development files for the server.</dd> |
| |
| <dt>httpd-manual-2.4.x-1.i686.rpm</dt> |
| <dd>The webserver manual.</dd> |
| |
| <dt>httpd-tools-2.4.x-1.i686.rpm</dt> |
| <dd>Supporting tools for the webserver.</dd> |
| |
| <dt>mod_authnz_ldap-2.4.x-1.i686.rpm</dt> |
| <dd><module>mod_ldap</module> and <module>mod_authnz_ldap</module>, with |
| corresponding dependency on openldap.</dd> |
| |
| <dt>mod_lua-2.4.x-1.i686.rpm</dt> |
| <dd><module>mod_lua</module> module, with |
| corresponding dependency on lua.</dd> |
| |
| <dt>mod_proxy_html-2.4.x-1.i686.rpm</dt> |
| <dd><module>mod_proxy_html</module> module, with |
| corresponding dependency on libxml2.</dd> |
| |
| <dt>mod_socache_dc-2.4.x-1.i686.rpm</dt> |
| <dd><module>mod_socache_dc</module> module, with |
| corresponding dependency on distcache.</dd> |
| |
| <dt>mod_ssl-2.4.x-1.i686.rpm</dt> |
| <dd><module>mod_ssl</module> module, with |
| corresponding dependency on openssl.</dd> |
| |
| </dl> |
| |
| </section> |
| |
| <section id="installing"> |
| <title>Installing the Server</title> |
| |
| <p>The <code>httpd</code> RPM is the only RPM necessary to get a basic |
| server to run. Install it as follows:</p> |
| |
| <example> |
| rpm -U httpd-2.4.x-1.i686.rpm |
| </example> |
| |
| <p>Self contained modules are included with the server. Modules that |
| depend on external libraries are provided as separate RPMs to install |
| if needed.</p> |
| |
| </section> |
| |
| <section id="default"> |
| <title>Configuring the Default Instance of Apache httpd</title> |
| |
| <p>The default configuration for the server is installed by default |
| beneath the <code>/etc/httpd</code> directory, with logs written by |
| default to <code>/var/log/httpd</code>. The environment for the |
| webserver is set by default within the optional |
| <code>/etc/sysconfig/httpd</code> file.</p> |
| |
| <p>Start the server as follows:</p> |
| |
| <example> |
| service httpd restart |
| </example> |
| |
| </section> |
| |
| <section id="additional"> |
| <title>Configuring Additional Instances of Apache httpd on the Same Machine</title> |
| |
| <p>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.</p> |
| |
| <p>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.</p> |
| |
| <p>To create an additional instance called |
| <code>httpd-additional</code>, follow these steps:</p> |
| |
| <ul> |
| <li>Create a symbolic link to the startup script for the additional |
| server: |
| |
| <example> |
| ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional<br /> |
| chkconfig --add httpd-additional |
| </example> |
| |
| </li> |
| |
| <li>Create an environment file for the server, using the |
| <code>/etc/sysconfig/httpd</code> file as a template: |
| |
| <example> |
| # template from httpd<br /> |
| cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional |
| </example> |
| |
| <example> |
| # blank template<br /> |
| touch /etc/sysconfig/httpd-additional |
| </example> |
| |
| Edit <code>/etc/sysconfig/httpd-additional</code> and pass the |
| server root of the new server instance within the |
| <code>OPTIONS</code> environment variable. |
| |
| <example> |
| OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf" |
| </example> |
| |
| </li> |
| |
| <li>Edit the server configuration file |
| <code>/etc/httpd-additional/conf/httpd-additional.conf</code> to |
| ensure the correct ports and paths are configured. |
| </li> |
| |
| <li>Start the server as follows: |
| |
| <example> |
| service httpd-additional restart |
| </example> |
| |
| </li> |
| |
| <li>Repeat this process as required for each server instance.</li> |
| </ul> |
| |
| </section> |
| |
| </manualpage> |
| |