source: server/major/apache.xml@ a1f2d184

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind 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 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a1f2d184 was 66370fc, checked in by Fernando de Oliveira <fernando@…>, 10 years ago

Update to thunderbird-31.0.
Update to gnutls-3.3.6.
Update to audacious-3.5.1.
Update to poppler-0.26.3.
Reordered again Apache configure switches.

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

  • Property mode set to 100644
File size: 16.0 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 "44543dff14a4ebc1e9e2d86780507156">
11 <!ENTITY apache-size "4.9 MB">
12 <!ENTITY apache-buildsize "94 MB">
13 <!ENTITY apache-time "0.7 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 &lfs75_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"/> and
90 <xref linkend="pcre"/>
91 </para>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="openssl"/>
96 </para>
97
98 <bridgehead renderas="sect4">Optional</bridgehead>
99 <para role="optional">
100 <xref linkend="db"/>,
101 <xref linkend="doxygen"/>,
102 <xref linkend="libxml2"/>,
103 <xref linkend="lynx"/>,
104 <xref linkend="openldap"/> (<xref linkend="apr-util"/> needs to be
105 installed with ldap suport),
106 <xref linkend="rsync"/>,
107 <ulink url="http://www.distcache.org/">Distcache</ulink>, and
108 <xref linkend="lua"/>
109 </para>
110
111 <para condition="html" role="usernotes">
112 User Notes: <ulink url="&blfs-wiki;/apache"/>
113 </para>
114 </sect2>
115
116 <sect2 role="installation">
117 <title>Installation of Apache HTTPD</title>
118
119 <para>
120 For security reasons, running the server as an unprivileged user and group
121 is strongly encouraged. Create the following group and user using the
122 following commands as <systemitem class="username">root</systemitem>:
123 </para>
124
125<screen role="root"><userinput>groupadd -g 25 apache &amp;&amp;
126useradd -c "Apache Server" -d /srv/www -g apache \
127 -s /bin/false -u 25 apache</userinput></screen>
128
129 <para>
130 Build and install <application>Apache HTTPD</application> by running the
131 following commands:
132 </para>
133
134<screen><userinput>patch -Np1 -i ../httpd-&apache-version;-blfs_layout-1.patch &amp;&amp;
135sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in &amp;&amp;
136./configure --enable-authnz-fcgi \
137 --enable-layout=BLFS \
138 --enable-mods-shared="all cgi" \
139 --enable-mpms-shared=all \
140 --enable-suexec=shared \
141 --with-apr=/usr/bin/apr-1-config \
142 --with-apr-util=/usr/bin/apu-1-config \
143 --with-suexec-bin=/usr/lib/httpd/suexec \
144 --with-suexec-caller=apache \
145 --with-suexec-docroot=/srv/www \
146 --with-suexec-logfile=/var/log/httpd/suexec.log \
147 --with-suexec-uidmin=100 \
148 --with-suexec-userdir=public_html &amp;&amp;
149make</userinput></screen>
150
151 <para>
152 This package does not come with a test suite.
153 </para>
154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user
157 (notice that DESTDIR does not work properly as unpriviledged user):
158 </para>
159
160<screen role="root"><userinput>make install &amp;&amp;
161
162mv -v /usr/sbin/suexec /usr/lib/httpd/suexec &amp;&amp;
163chgrp apache /usr/lib/httpd/suexec &amp;&amp;
164chmod 4754 /usr/lib/httpd/suexec &amp;&amp;
165
166chown -v -R apache:apache /srv/www</userinput></screen>
167
168 </sect2>
169
170 <sect2 role="commands">
171 <title>Command Explanations</title>
172
173 <para>
174 <command>sed '/dir.*CFG_PREFIX/s@^@#@'...</command>: Forces the
175 <application>apxs</application> utility to use absolute pathnames for
176 modules, when instructed to do so.
177 </para>
178
179 <para>
180 <parameter>--enable-authnz-fcgi</parameter>: Build FastCGI
181 authorizer-based authentication and authorization (mod_authnz_fcgi.so
182 fast CGI module).
183 </para>
184
185 <para>
186 <parameter>--enable-mods-shared="all cgi"</parameter>: The modules should be
187 compiled and used as Dynamic Shared Objects (DSOs) so they can be included
188 and excluded from the server using the run-time configuration directives.
189 </para>
190
191 <para>
192 <parameter>--enable-mpm-shared=all</parameter>: This switch ensures that all
193 MPM (Multi Processing Modules) are built as Dynamic Shared Objects (DSOs),
194 so the user can choose which one to use at runtime.
195 </para>
196
197 <para>
198 <parameter>--enable-suexec</parameter>: This switch enables building of the
199 <application>Apache</application> suEXEC module which can be used to allow
200 users to run CGI and SSI scripts under user IDs different from the user ID
201 of the calling web server.
202 </para>
203
204 <para>
205 <parameter>--with-suexec-*</parameter>: These switches control suEXEC module
206 behavior, such as default document root, minimal UID that can be used to
207 run the script under the suEXEC. Please note that with minimal UID 100, you
208 can't run CGI or SSI scripts under suEXEC as the
209 <systemitem class="username">apache</systemitem> user.
210 </para>
211
212 <para>
213 <command>... /usr/lib/httpd/suexec</command>: These commands put
214 <command>suexec</command> wrapper into proper location, since it
215 is not meant to be run directly. They also adjust proper
216 permissions of the binary, making it setgid
217 <systemitem class="username">apache</systemitem>.
218 </para>
219
220 <para>
221 <command>chown -R apache:apache /srv/www</command>: By default, the
222 installation process installs files (documentation, error messages,
223 default icons, etc.) with the ownership of the user that extracted the
224 files from the tar file. If you want to change the ownership to another
225 user, you should do so at this point. The only requirement is that the
226 document directories need to be accessible by the <command>httpd</command>
227 process with (r-x) permissions and files need to be readable (r--) by the
228 <systemitem class="username">apache</systemitem> user.
229 </para>
230
231 </sect2>
232
233 <sect2 role="configuration">
234 <title>Configuring Apache</title>
235
236 <sect3 id="apache-config">
237 <title>Config Files</title>
238
239 <para>
240 <filename>/etc/httpd/httpd.conf</filename> and
241 <filename>/etc/httpd/extra/*</filename>
242 </para>
243
244 <indexterm zone="apache apache-config">
245 <primary sortas="e-etc-httpd-httpd.conf">/etc/httpd/httpd.conf</primary>
246 </indexterm>
247
248 <indexterm zone="apache apache-config">
249 <primary sortas="e-etc-httpd-extra-star">/etc/httpd/extra/*</primary>
250 </indexterm>
251
252 </sect3>
253
254 <sect3>
255 <title>Configuration Information</title>
256
257 <para>
258 See <ulink url="file:///usr/share/httpd/manual/configuring.html"/>
259 for detailed instructions on customising your
260 <application>Apache</application> HTTP server configuration file.
261 </para>
262
263 </sect3>
264
265 <sect3 id="httpd-init">
266 <title>Boot Script</title>
267
268 <para>
269 If you want the <application>Apache</application> server to
270 start automatically when the system is booted, install the
271 <filename>/etc/rc.d/init.d/httpd</filename> init script included
272 in the <xref linkend="bootscripts"/> package.
273 </para>
274
275 <indexterm zone="apache httpd-init">
276 <primary sortas="f-apache">apache</primary>
277 </indexterm>
278
279<screen role="root"><userinput>make install-httpd</userinput></screen>
280
281 </sect3>
282
283 </sect2>
284
285 <sect2 role="content">
286 <title>Contents</title>
287
288 <segmentedlist>
289 <segtitle>Installed Programs</segtitle>
290 <segtitle>Installed Libraries</segtitle>
291 <segtitle>Installed Directories</segtitle>
292
293 <seglistitem>
294 <seg>
295 ab, apachectl, apxs, checkgid, dbmmanage, fcgistarter,
296 htcacheclean, htdbm, htdigest, htpasswd, httpd,
297 httxt2dbm, logresolve, rotatelogs, and suexec
298 </seg>
299 <seg>
300 Several libraries under /usr/lib/httpd/modules/
301 </seg>
302 <seg>
303 /etc/httpd,
304 /srv/www,
305 /usr/include/httpd,
306 /usr/lib/httpd,
307 /usr/share/httpd,
308 /var/log/httpd, and
309 /var/run/httpd
310 </seg>
311 </seglistitem>
312 </segmentedlist>
313
314 <variablelist>
315 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
316 <?dbfo list-presentation="list"?>
317 <?dbhtml list-presentation="table"?>
318
319 <varlistentry id="ab">
320 <term><command>ab</command></term>
321 <listitem>
322 <para>
323 is a tool for benchmarking your <application>Apache</application>
324 HTTP server.
325 </para>
326 <indexterm zone="apache ab">
327 <primary sortas="b-ab">ab</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="apachectl">
333 <term><command>apachectl</command></term>
334 <listitem>
335 <para>
336 is a front end to the <application>Apache</application> HTTP server
337 which is designed to help the administrator control the functioning
338 of the <application>Apache</application> httpd daemon.
339 </para>
340 <indexterm zone="apache apachectl">
341 <primary sortas="b-apachectl">apachectl</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="apxs">
347 <term><command>apxs</command></term>
348 <listitem>
349 <para>
350 is a tool for building and installing extension modules for the
351 <application>Apache</application> HTTP server.
352 </para>
353 <indexterm zone="apache apxs">
354 <primary sortas="b-apxs">apxs</primary>
355 </indexterm>
356 </listitem>
357 </varlistentry>
358
359 <varlistentry id="checkgid">
360 <term><command>checkgid</command></term>
361 <listitem>
362 <para>
363 is a program that checks whether it can setgid to the group
364 specified. This is to see if it is a valid group for Apache2 to use
365 at runtime. If the user (should be run as superuser) is in that
366 group, or can setgid to it, it will return 0.
367 </para>
368 <indexterm zone="apache checkgid">
369 <primary sortas="b-checkgid">checkgid</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 <varlistentry id="dbmmanage">
375 <term><command>dbmmanage</command></term>
376 <listitem>
377 <para>
378 is used to create and update the DBM format files used to store
379 usernames and passwords for basic authentication of HTTP users.
380 </para>
381 <indexterm zone="apache dbmmanage">
382 <primary sortas="b-dbmmanage">dbmmanage</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="htcacheclean">
388 <term><command>htcacheclean</command></term>
389 <listitem>
390 <para>
391 is used to clean up the disk cache.
392 </para>
393 <indexterm zone="apache htcacheclean">
394 <primary sortas="b-htcacheclean">htcacheclean</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="htdbm">
400 <term><command>htdbm</command></term>
401 <listitem>
402 <para>
403 is used to manipulate the DBM password databases.
404 </para>
405 <indexterm zone="apache htdbm">
406 <primary sortas="b-htdbm">htdbm</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="htdigest">
412 <term><command>htdigest</command></term>
413 <listitem>
414 <para>
415 is used to create and update the flat-files used to store usernames,
416 realms and passwords for digest authentication of HTTP users.
417 </para>
418 <indexterm zone="apache htdigest">
419 <primary sortas="b-htdigest">htdigest</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="htpasswd">
425 <term><command>htpasswd</command></term>
426 <listitem>
427 <para>
428 is used to create and update the flat-files used to store usernames
429 and passwords for basic authentication of HTTP users.
430 </para>
431 <indexterm zone="apache htpasswd">
432 <primary sortas="b-htpasswd">htpasswd</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
436
437 <varlistentry id="httpd">
438 <term><command>httpd</command></term>
439 <listitem>
440 <para>
441 is the <application>Apache</application> HTTP server program.
442 </para>
443 <indexterm zone="apache httpd">
444 <primary sortas="b-httpd">httpd</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
449 <varlistentry id="httxt2dbm">
450 <term><command>httxt2dbm</command></term>
451 <listitem>
452 <para>
453 is used to generate DBM files from text, for use in RewriteMap.
454 </para>
455 <indexterm zone="apache httxt2dbm">
456 <primary sortas="b-httxt2dbm">httxt2dbm</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="logresolve">
462 <term><command>logresolve</command></term>
463 <listitem>
464 <para>
465 is a post-processing program to resolve IP-addresses in
466 <application>Apache</application>'s access log files.
467 </para>
468 <indexterm zone="apache logresolve">
469 <primary sortas="b-logresolve">logresolve</primary>
470 </indexterm>
471 </listitem>
472 </varlistentry>
473
474 <varlistentry id="rotatelogs">
475 <term><command>rotatelogs</command></term>
476 <listitem>
477 <para>
478 is a simple program for use in conjunction with
479 <application>Apache</application>'s piped log file feature.
480 </para>
481 <indexterm zone="apache rotatelogs">
482 <primary sortas="b-rotatelogs">rotatelogs</primary>
483 </indexterm>
484 </listitem>
485 </varlistentry>
486
487 </variablelist>
488
489 </sect2>
490
491</sect1>
Note: See TracBrowser for help on using the repository browser.