source: server/major/apache.xml@ 32d4980

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 32d4980 was 32d4980, checked in by Igor Živković <igor@…>, 11 years ago

Downgraded Lua to version 5.1.5 as too many packages in the book and outside don't support 5.2

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

  • Property mode set to 100644
File size: 14.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY apache-download-http
8 "http://archive.apache.org/dist/httpd/httpd-&apache-version;.tar.bz2">
9 <!ENTITY apache-download-ftp " ">
10 <!ENTITY apache-md5sum "0e712ee2119cd798c8ae39d5f11a9206">
11 <!ENTITY apache-size "4.6 MB">
12 <!ENTITY apache-buildsize "105 MB">
13 <!ENTITY apache-time "0.5 SBU">
14]>
15
16<sect1 id="apache" xreflabel="Apache-&apache-version;">
17 <?dbhtml filename="apache.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Apache-&apache-version;</title>
25
26 <indexterm zone="apache">
27 <primary sortas="a-Apache">Apache</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Apache HTTPD</title>
32
33 <para>
34 The <application>Apache HTTPD</application> package contains an open-source HTTP
35 server. It is useful for creating local intranet web sites or running huge
36 web serving operations.
37 </para>
38
39 &lfs73_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&apache-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&apache-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &apache-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &apache-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &apache-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &apache-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/httpd-&apache-version;-blfs_layout-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">Apache HTTPD Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="apr-util"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="openssl"/>
95 </para>
96
97 <bridgehead renderas="sect4">Optional</bridgehead>
98 <para role="optional">
99 <xref linkend="db"/>,
100 <xref linkend="doxygen"/>,
101 <xref linkend="lynx"/>,
102 <xref linkend="openldap"/>,
103 <xref linkend="pcre"/>,
104 <xref linkend="rsync"/>,
105 <ulink url="http://www.distcache.org/">Distcache</ulink> and
106 <xref linkend="lua"/>
107 </para>
108
109 <para condition="html" role="usernotes">
110 User Notes: <ulink url="&blfs-wiki;/apache"/>
111 </para>
112 </sect2>
113
114 <sect2 role="installation">
115 <title>Installation of Apache HTTPD</title>
116
117 <para>
118 For security reasons, running the server as an unprivileged user and group
119 is strongly encouraged. Create the following group and user using the
120 following commands as <systemitem class="username">root</systemitem>:
121 </para>
122
123<screen role="root"><userinput>groupadd -g 25 apache &amp;&amp;
124useradd -c "Apache Server" -d /srv/www -g apache \
125 -s /bin/false -u 25 apache</userinput></screen>
126
127 <para>
128 Build and install <application>Apache HTTPD</application> by running the
129 following commands:
130 </para>
131
132<screen><userinput>patch -Np1 -i ../httpd-&apache-version;-blfs_layout-1.patch &amp;&amp;
133./configure --enable-layout=BLFS \
134 --enable-mods-shared="all cgi" \
135 --enable-mpms-shared=all \
136 --with-apr=/usr/bin/apr-1-config \
137 --with-apr-util=/usr/bin/apu-1-config \
138 --enable-suexec=shared \
139 --with-suexec-bin=/usr/lib/httpd/suexec \
140 --with-suexec-docroot=/srv/www \
141 --with-suexec-caller=apache \
142 --with-suexec-userdir=public_html \
143 --with-suexec-logfile=/var/log/httpd/suexec.log \
144 --with-suexec-uidmin=100 &amp;&amp;
145make</userinput></screen>
146
147 <para>
148 This package does not come with a test suite.
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>make install &amp;&amp;
156
157mv -v /usr/sbin/suexec /usr/lib/httpd/suexec &amp;&amp;
158chgrp apache /usr/lib/httpd/suexec &amp;&amp;
159chmod 4754 /usr/lib/httpd/suexec &amp;&amp;
160
161chown -v -R apache:apache /srv/www</userinput></screen>
162
163 </sect2>
164
165 <sect2 role="commands">
166 <title>Command Explanations</title>
167
168 <para>
169 <parameter>--enable-mods-shared="all cgi"</parameter>: The modules should be
170 compiled and used as Dynamic Shared Objects (DSOs) so they can be included
171 and excluded from the server using the run-time configuration directives.
172 </para>
173
174 <para>
175 <parameter>--enable-mpm-shared=all</parameter>: This switch ensures that all
176 MPM (Multi Processing Modules) are built as Dynamic Shared Objects (DSOs),
177 so the user can choose which one to use at runtime.
178 </para>
179
180 <para>
181 <parameter>--enable-suexec</parameter>: This switch enables building of the
182 <application>Apache</application> suEXEC module which can be used to allow
183 users to run CGI and SSI scripts under user IDs different from the user ID
184 of the calling web server.
185 </para>
186
187 <para>
188 <parameter>--with-suexec-*</parameter>: These switches control suEXEC module
189 behavior, such as default document root, minimal UID that can be used to
190 run the script under the suEXEC. Please note that with minimal UID 100, you
191 can't run CGI or SSI scripts under suEXEC as the
192 <systemitem class="username">apache</systemitem> user.
193 </para>
194
195 <para>
196 <command>... /usr/lib/httpd/suexec</command>: These commands put
197 <command>suexec</command> wrapper into proper location, since it
198 is not meant to be run directly. They also adjust proper
199 permissions of the binary, making it segid
200 <systemitem class="username">apache</systemitem>.
201 </para>
202
203 <para>
204 <command>chown -R apache:apache /srv/www</command>: By default, the
205 installation process installs files (documentation, error messages,
206 default icons, etc.) with the ownership of the user that extracted the
207 files from the tar file. If you want to change the ownership to another
208 user, you should do so at this point. The only requirement is that the
209 document directories need to be accessible by the <command>httpd</command>
210 process with (r-x) permissions and files need to be readable (r--) by the
211 <systemitem class="username">apache</systemitem> user.
212 </para>
213
214 </sect2>
215
216 <sect2 role="configuration">
217 <title>Configuring Apache</title>
218
219 <sect3 id="apache-config">
220 <title>Config Files</title>
221
222 <para>
223 <filename>/etc/httpd/httpd.conf</filename> and
224 <filename>/etc/httpd/extra/*</filename>
225 </para>
226
227 <indexterm zone="apache apache-config">
228 <primary sortas="e-etc-httpd-httpd.conf">/etc/httpd/httpd.conf</primary>
229 </indexterm>
230
231 <indexterm zone="apache apache-config">
232 <primary sortas="e-etc-httpd-extra-star">/etc/httpd/extra/*</primary>
233 </indexterm>
234
235 </sect3>
236
237 <sect3>
238 <title>Configuration Information</title>
239
240 <para>
241 See <ulink url="/usr/share/httpd/manual/configuring.html"/>
242 for detailed instructions on customising your
243 <application>Apache</application> HTTP server configuration file.
244 </para>
245
246 </sect3>
247
248 <sect3 id="httpd-init">
249 <title>Boot Script</title>
250
251 <para>
252 If you want the <application>Apache</application> server to
253 start automatically when the system is booted, install the
254 <filename>/etc/rc.d/init.d/httpd</filename> init script included
255 in the <xref linkend="bootscripts"/> package.
256 </para>
257
258 <indexterm zone="apache httpd-init">
259 <primary sortas="f-apache">apache</primary>
260 </indexterm>
261
262<screen role="root"><userinput>make install-httpd</userinput></screen>
263
264 </sect3>
265
266 </sect2>
267
268 <sect2 role="content">
269 <title>Contents</title>
270
271 <segmentedlist>
272 <segtitle>Installed Programs</segtitle>
273 <segtitle>Installed Libraries</segtitle>
274 <segtitle>Installed Directories</segtitle>
275
276 <seglistitem>
277 <seg>
278 ab, apachectl, apxs, checkgid, dbmmanage, fcgistarter,
279 htcacheclean, htdbm, htdigest, htpasswd, httpd,
280 httxt2dbm, logresolve and rotatelogs
281 </seg>
282 <seg>
283 None
284 </seg>
285 <seg>
286 /etc/httpd,
287 /srv/www,
288 /usr/include/httpd,
289 /usr/lib/httpd,
290 /usr/share/httpd
291 /var/log/httpd and
292 /var/run/httpd
293 </seg>
294 </seglistitem>
295 </segmentedlist>
296
297 <variablelist>
298 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
299 <?dbfo list-presentation="list"?>
300 <?dbhtml list-presentation="table"?>
301
302 <varlistentry id="ab">
303 <term><command>ab</command></term>
304 <listitem>
305 <para>
306 is a tool for benchmarking your <application>Apache</application>
307 HTTP server.
308 </para>
309 <indexterm zone="apache ab">
310 <primary sortas="b-ab">ab</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="apachectl">
316 <term><command>apachectl</command></term>
317 <listitem>
318 <para>
319 is a front end to the <application>Apache</application> HTTP server
320 which is designed to help the administrator control the functioning
321 of the <application>Apache</application> httpd daemon.
322 </para>
323 <indexterm zone="apache apachectl">
324 <primary sortas="b-apachectl">apachectl</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328
329 <varlistentry id="apxs">
330 <term><command>apxs</command></term>
331 <listitem>
332 <para>
333 is a tool for building and installing extension modules for the
334 <application>Apache</application> HTTP server.
335 </para>
336 <indexterm zone="apache apxs">
337 <primary sortas="b-apxs">apxs</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="checkgid">
343 <term><command>checkgid</command></term>
344 <listitem>
345 <para>
346 is a program that checks whether it can setgid to the group
347 specified. This is to see if it is a valid group for Apache2 to use
348 at runtime. If the user (should be run as superuser) is in that
349 group, or can setgid to it, it will return 0.
350 </para>
351 <indexterm zone="apache checkgid">
352 <primary sortas="b-checkgid">checkgid</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="dbmmanage">
358 <term><command>dbmmanage</command></term>
359 <listitem>
360 <para>
361 is used to create and update the DBM format files used to store
362 usernames and passwords for basic authentication of HTTP users.
363 </para>
364 <indexterm zone="apache dbmmanage">
365 <primary sortas="b-dbmmanage">dbmmanage</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="htcacheclean">
371 <term><command>htcacheclean</command></term>
372 <listitem>
373 <para>
374 is used to clean up the disk cache.
375 </para>
376 <indexterm zone="apache htcacheclean">
377 <primary sortas="b-htcacheclean">htcacheclean</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="htdbm">
383 <term><command>htdbm</command></term>
384 <listitem>
385 <para>
386 is used to manipulate the DBM password databases.
387 </para>
388 <indexterm zone="apache htdbm">
389 <primary sortas="b-htdbm">htdbm</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394 <varlistentry id="htdigest">
395 <term><command>htdigest</command></term>
396 <listitem>
397 <para>
398 is used to create and update the flat-files used to store usernames,
399 realms and passwords for digest authentication of HTTP users.
400 </para>
401 <indexterm zone="apache htdigest">
402 <primary sortas="b-htdigest">htdigest</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="htpasswd">
408 <term><command>htpasswd</command></term>
409 <listitem>
410 <para>
411 is used to create and update the flat-files used to store usernames
412 and passwords for basic authentication of HTTP users.
413 </para>
414 <indexterm zone="apache htpasswd">
415 <primary sortas="b-htpasswd">htpasswd</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="httpd">
421 <term><command>httpd</command></term>
422 <listitem>
423 <para>
424 is the <application>Apache</application> HTTP server program.
425 </para>
426 <indexterm zone="apache httpd">
427 <primary sortas="b-httpd">httpd</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="httxt2dbm">
433 <term><command>httxt2dbm</command></term>
434 <listitem>
435 <para>
436 is used to generate DBM files from text, for use in RewriteMap.
437 </para>
438 <indexterm zone="apache httxt2dbm">
439 <primary sortas="b-httxt2dbm">httxt2dbm</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="logresolve">
445 <term><command>logresolve</command></term>
446 <listitem>
447 <para>
448 is a post-processing program to resolve IP-addresses in
449 <application>Apache</application>'s access log files.
450 </para>
451 <indexterm zone="apache logresolve">
452 <primary sortas="b-logresolve">logresolve</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="rotatelogs">
458 <term><command>rotatelogs</command></term>
459 <listitem>
460 <para>
461 is a simple program for use in conjunction with
462 <application>Apache</application>'s piped log file feature.
463 </para>
464 <indexterm zone="apache rotatelogs">
465 <primary sortas="b-rotatelogs">rotatelogs</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 </variablelist>
471
472 </sect2>
473
474</sect1>
Note: See TracBrowser for help on using the repository browser.