source: content/web/apache.xml@ ff769b8c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since ff769b8c was ff769b8c, checked in by Manuel Canales Esparcia <manuel@…>, 19 years ago

Updated the XML sources to use DocBook XML DTD-4.4.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3656 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY apache-download-http "http://www.apache.org/dist/httpd/httpd-&apache-version;.tar.bz2">
8 <!ENTITY apache-download-ftp "ftp://ftp.tux.org/pub/net/apache/dist/httpd/httpd-&apache-version;.tar.bz2">
9 <!ENTITY apache-md5sum "94f3a793fb1665365724943206cce23f">
10 <!ENTITY apache-size "4.8 MB">
11 <!ENTITY apache-buildsize "49.4 MB">
12 <!ENTITY apache-time "1.08 SBU">
13]>
14
15<sect1 id="apache" xreflabel="Apache-&apache-version;">
16<sect1info>
17<othername>$LastChangedBy$</othername>
18<date>$Date$</date>
19</sect1info>
20<?dbhtml filename="apache.html"?>
21<title>Apache-&apache-version;</title>
22<indexterm zone="apache">
23<primary sortas="a-Apache">Apache</primary></indexterm>
24
25<sect2>
26<title>Introduction to <application>Apache</application></title>
27
28<para>The <application>Apache</application> package contains an
29open-source <acronym>HTTP</acronym> server. It is useful for creating local
30intranet web sites or running huge web serving operations.</para>
31
32<sect3><title>Package information</title>
33<itemizedlist spacing='compact'>
34<listitem><para>Download (HTTP):
35<ulink url="&apache-download-http;"/></para></listitem>
36<listitem><para>Download (FTP):
37<ulink url="&apache-download-ftp;"/></para></listitem>
38<listitem><para>Download MD5 sum: &apache-md5sum;</para></listitem>
39<listitem><para>Download size: &apache-size;</para></listitem>
40<listitem><para>Estimated disk space required:
41&apache-buildsize;</para></listitem>
42<listitem><para>Estimated build time: &apache-time;</para></listitem>
43</itemizedlist>
44</sect3>
45
46<sect3><title>Additional downloads</title>
47<itemizedlist spacing='compact'>
48<listitem><para>Required Patch: <ulink
49url="&patch-root;/httpd-&apache-version;-config-1.patch"/></para></listitem>
50</itemizedlist></sect3>
51
52<sect3><title><application>Apache</application> dependencies</title>
53<sect4><title>Optional</title>
54<para><xref linkend="db"/> or <xref linkend="gdbm"/>,
55<xref linkend="openssl"/>,
56<xref linkend="openldap"/>,
57<xref linkend="expat"/> and
58<xref linkend="doxygen"/></para>
59</sect4>
60</sect3>
61
62</sect2>
63
64<sect2>
65<title>Installation of <application>Apache</application></title>
66
67<para>For security reasons, running the server as an unprivileged user and
68group is strongly encouraged. Create the following group and user using the
69following commands (as root):</para>
70
71<screen><userinput><command>groupadd apache &amp;&amp;
72useradd -c "Apache Server" -d /dev/null -g apache -s /bin/false apache</command></userinput></screen>
73
74<para>The following patch will define the layout of destination directories
75and, among them, the build directory at
76<filename class="directory">/usr/lib/apache/build</filename>. This
77will allow the modules added to <application>Apache</application> to
78be configured without errors. Apply the patch:</para>
79
80<screen><userinput><command>patch -Np1 -i ../httpd-&apache-version;-config-1.patch</command></userinput></screen>
81
82<para>Build and install <application>Apache</application> by running the
83following commands:</para>
84
85<screen><userinput><command>./configure --enable-layout=FHS --enable-mods-shared=all &amp;&amp;
86make</command></userinput></screen>
87
88<para>Now, as the root user:</para>
89
90<screen><userinput role='root'><command>make install &amp;&amp;
91chown root:root /usr/sbin/{apxs,apachectl,dbmmanage,envvars-std,envvars} \
92 /usr/include/apache/* /usr/lib/apache/httpd.exp \
93 /usr/share/man/man1/{dbmmanage,htdigest,htpasswd}.1 \
94 /usr/share/man/man8/{ab,apachectl,apxs,httpd}.8 \
95 /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &amp;&amp;
96chown -R apache:apache /srv/www</command></userinput></screen>
97
98</sect2>
99
100<sect2>
101<title>Command explanations</title>
102
103<para><option>--with-expat=/usr</option>: Uses system installed
104<application>expat</application>. <emphasis>If you have installed
105<application>expat</application> and do not use this switch, the
106<application>Apache</application> installation may overwrite some files from
107the <application>expat</application> installation.</emphasis></para>
108
109<para><parameter>--enable-mods-shared=all</parameter>: The modules should be
110compiled and used as Dynamic Shared Objects
111(<acronym>DSO</acronym>s) so they can be included and excluded from the
112server using the run-time configuration directives.</para>
113
114<para><option>--enable-ssl</option>: Use this switch
115to create the <filename class="libraryfile">mod_ssl</filename>
116module and enable <acronym>SSL</acronym> support.</para>
117
118<para><command>chown root:root ...</command>: This command changes
119the ownership of some installed files, the result of building the package as a
120user other than root.</para>
121
122<para><command>chown -R apache:apache /srv/www</command>: By default, the
123installation process installs files (documentation, error messages, default
124icons, etc.) with the ownership of the user that extracted the files from the
125tar file. If you want to change the ownership to another user, you should do
126so at this point. The only requirement is that the document directories need
127to be accessable by the <command>httpd</command> process with (r-x) permissions
128and files need to be readable (r--) by the apache user.</para>
129
130</sect2>
131
132<sect2>
133<title>Configuring <application>Apache</application></title>
134
135<sect3 id="apache-config">
136<title>Config files</title>
137
138<para><filename>/etc/apache/*</filename></para>
139<indexterm zone="apache apache-config">
140<primary sortas="e-etc-apache">/etc/apache/*</primary></indexterm>
141<indexterm zone="apache apache-config">
142<primary sortas="e-etc-apache-httpd.conf">/etc/apache/httpd.conf</primary>
143</indexterm>
144</sect3>
145
146<sect3>
147<title>Configuration Information</title>
148
149<para>The main configuration file is named <filename>httpd.conf</filename>.
150Modify it to run the server as a dedicated user:</para>
151
152<screen><userinput><command>sed -i -e "s%User nobody%User apache%" \
153 -e "s%^Group #-1%Group apache%" \
154 /etc/apache/httpd.conf</command></userinput></screen>
155
156<para>See <ulink url="http://httpd.apache.org/docs-2.0/configuring.html"/> for
157detailed instructions on customizing your <application>Apache</application>
158<acronym>HTTP</acronym> server.</para>
159
160<para>There's a problem with the ISAPI <acronym>DSO</acronym> module
161caused from compiling with
162<application><acronym>GCC</acronym></application>-3.4.1. Comment out the
163module from the configuration file with the following command:</para>
164
165<screen><userinput><command>sed -i -e "s/^LoadModule isapi_module/# &amp;/" \
166 /etc/apache/httpd.conf</command></userinput></screen>
167
168<para id="apache-init">If you want the <application>Apache</application>
169server to start automatically when the system is booted, install the
170<filename>/etc/rc.d/init.d/apache</filename> init script included in the
171<xref linkend="intro-important-bootscripts"/> package.</para>
172<indexterm zone="apache apache-init">
173<primary sortas="f-apache">apache</primary></indexterm>
174
175<screen><userinput><command>make install-apache</command></userinput></screen>
176</sect3>
177
178</sect2>
179
180<sect2>
181<title>Contents</title>
182
183<segmentedlist>
184<segtitle>Installed Programs</segtitle>
185<segtitle>Installed Libraries</segtitle>
186<segtitle>Installed Directories</segtitle>
187<seglistitem>
188<seg>ab, apachectl, apr-config, apu-config, apxs, checkgid, dbmmanage, htdbm,
189htdigest, htpasswd, httpd, instdso.sh, logresolve and rotatelogs</seg>
190<seg>libapr-0.[so,a], libaprutil-0.[so,a] and /usr/lib/apache/*.so</seg>
191<seg>/etc/apache, /srv/www, /usr/include/apache, /usr/lib/apache and
192/var/log/apache</seg>
193</seglistitem>
194</segmentedlist>
195
196<variablelist>
197<bridgehead renderas="sect3">Short Descriptions</bridgehead>
198<?dbfo list-presentation="list"?>
199
200<varlistentry id="ab">
201<term><command>ab</command></term>
202<listitem><para>is a tool for benchmarking your
203<application>Apache</application> <acronym>HTTP</acronym> server.</para>
204<indexterm zone="apache ab">
205<primary sortas="b-ab">ab</primary></indexterm>
206</listitem>
207</varlistentry>
208
209<varlistentry id="apachectl">
210<term><command>apachectl</command></term>
211<listitem><para>is a front end to the <application>Apache</application>
212<acronym>HTTP</acronym> server which is designed to help the administrator
213control the functioning of the <application>Apache</application> httpd
214daemon.</para>
215<indexterm zone="apache apachectl">
216<primary sortas="b-apachectl">apachectl</primary></indexterm>
217</listitem>
218</varlistentry>
219
220<varlistentry id="apxs">
221<term><command>apxs</command></term>
222<listitem><para>is a tool for building and installing extension modules for
223the <application>Apache</application> <acronym>HTTP</acronym> server.</para>
224<indexterm zone="apache apxs">
225<primary sortas="b-apxs">apxs</primary></indexterm>
226</listitem>
227</varlistentry>
228
229<varlistentry id="dbmanage">
230<term><command>dbmanage</command></term>
231<listitem><para>is used to create and update the <filename>DBM</filename>
232format files used to store usernames and passwords for basic authentication
233of <acronym>HTTP</acronym> users.</para>
234<indexterm zone="apache dbmanage">
235<primary sortas="b-dbmanage">dbmanage</primary></indexterm>
236</listitem>
237</varlistentry>
238
239<varlistentry id="htdigest">
240<term><command>htdigest</command></term>
241<listitem><para>is used to create and update the flat-files used to store
242usernames, realms and passwords for digest authentication of
243<acronym>HTTP</acronym> users.</para>
244<indexterm zone="apache htdigest">
245<primary sortas="b-htdigest">htdigest</primary></indexterm>
246</listitem>
247</varlistentry>
248
249<varlistentry id="htpasswd">
250<term><command>htpasswd</command></term>
251<listitem><para>is used to create and update the flat-files used to store
252usernames and passwords for basic authentication of <acronym>HTTP</acronym>
253users.</para>
254<indexterm zone="apache htpasswd">
255<primary sortas="b-htpasswd">htpasswd</primary></indexterm>
256</listitem>
257</varlistentry>
258
259<varlistentry id="httpd">
260<term><command>httpd</command></term>
261<listitem><para>is the <application>Apache</application>
262<acronym>HTTP</acronym> server program.</para>
263<indexterm zone="apache httpd">
264<primary sortas="b-httpd">httpd</primary></indexterm>
265</listitem>
266</varlistentry>
267
268<varlistentry id="instdso.sh">
269<term><command>instdso.sh</command></term>
270<listitem><para>is a script which installs <application>Apache</application>
271<acronym>DSO</acronym> modules.</para>
272<indexterm zone="apache instdso.sh">
273<primary sortas="b-instdso.sh">instdso.sh</primary></indexterm>
274</listitem>
275</varlistentry>
276
277<varlistentry id="logresolve">
278<term><command>logresolve</command></term>
279<listitem><para>is a post-processing program to resolve
280<acronym>IP</acronym>-addresses in <application>Apache</application>'s
281access log files.</para>
282<indexterm zone="apache logresolve">
283<primary sortas="b-logresolve">logresolve</primary></indexterm>
284</listitem>
285</varlistentry>
286
287<varlistentry id="rotatelogs">
288<term><command>rotatelogs</command></term>
289<listitem><para>is a simple program for use in conjunction with
290<application>Apache</application>'s piped log file feature.</para>
291<indexterm zone="apache rotatelogs">
292<primary sortas="b-rotatelogs">rotatelogs</primary></indexterm>
293</listitem>
294</varlistentry>
295</variablelist>
296
297</sect2>
298
299</sect1>
Note: See TracBrowser for help on using the repository browser.