source: server/major/apache.xml@ 1996a17a

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 1996a17a was dfc7d5b, checked in by Tim Tassonis <stuff@…>, 15 months ago

Update to httpd-2.4.57

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