mirror of
https://github.com/apache/httpd.git
synced 2025-07-30 20:03:10 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673947 13f79535-47bb-0310-9956-ffa450edef68
215 lines
6.9 KiB
XML
215 lines
6.9 KiB
XML
<?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>
|