source: server/major/apache.xml@ c41d6d5

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

add links and elinks to httpd dependencies

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