source: server/major/apache.xml@ 4c31e6de

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 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 gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 4c31e6de was 9f12e36, checked in by Randy McMurchy <randy@…>, 18 years ago

Removed 'keywordset' blocks and extra spaces from the XML files (note this was by accident as I meant to do just in the gnome directory but I was in the root of BOOK when I ran the script, but this was going to happen anyway so I don't think it is a big deal)

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

  • Property mode set to 100644
File size: 14.9 KB
RevLine 
[08254fc]1<?xml version="1.0" encoding="ISO-8859-1"?>
[ff769b8c]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
[08254fc]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[84ee2932]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">
[608a225]9 <!ENTITY apache-md5sum "9c759a9744436de6a6aa2ddbc49d6e81">
[1259e0e8]10 <!ENTITY apache-size "4.8 MB">
11 <!ENTITY apache-buildsize "91.5 MB">
[608a225]12 <!ENTITY apache-time "2.0 SBU">
[08254fc]13]>
14
[7c7fa7d]15<sect1 id="apache" xreflabel="Apache-&apache-version;">
[ab3a3af7]16 <?dbhtml filename="apache.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Apache-&apache-version;</title>
24
25 <indexterm zone="apache">
26 <primary sortas="a-Apache">Apache</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Apache</title>
31
32 <para>The <application>Apache</application> package contains an
33 open-source HTTP server. It is useful for creating local intranet
34 web sites or running huge web serving operations.</para>
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>Download (HTTP): <ulink url="&apache-download-http;"/></para>
40 </listitem>
41 <listitem>
42 <para>Download (FTP): <ulink url="&apache-download-ftp;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download MD5 sum: &apache-md5sum;</para>
46 </listitem>
47 <listitem>
48 <para>Download size: &apache-size;</para>
49 </listitem>
50 <listitem>
51 <para>Estimated disk space required: &apache-buildsize;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated build time: &apache-time;</para>
55 </listitem>
56 </itemizedlist>
57
58 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
59 <itemizedlist spacing='compact'>
60 <listitem>
61 <para>Required patch: <ulink
62 url="&patch-root;/httpd-&apache-version;-config-1.patch"/></para>
63 </listitem>
64 </itemizedlist>
65
66 <bridgehead renderas="sect3">Apache Dependencies</bridgehead>
67
68 <bridgehead renderas="sect4">Optional</bridgehead>
[3f87e4a]69 <para role="optional">
70 <!-- <xref linkend="db"/>, -->
[1259e0e8]71 <xref linkend="gdbm"/>,
[ab3a3af7]72 <xref linkend="openssl"/>,
73 <xref linkend="openldap"/>,
[1259e0e8]74 <xref linkend="postgresql"/>,
75 <ulink url="http://sqlite.org/">SQLite</ulink>,
76 <xref linkend="pcre"/>,
77 <xref linkend="pkgconfig"/>,
[3f87e4a]78 <xref linkend="expat"/>, and
[1259e0e8]79 <ulink url="http://www.distcache.org/">distcache</ulink></para>
[ab3a3af7]80
[3cb0c57]81 <para condition="html" role="usernotes">User Notes:
82 <ulink url="&blfs-wiki;/apache"/></para>
83
[ab3a3af7]84 </sect2>
85
86 <sect2 role="installation">
87 <title>Installation of Apache</title>
88
89 <para>For security reasons, running the server as an unprivileged user and
90 group is strongly encouraged. Create the following group and user using the
[1259e0e8]91 following commands
92 (as <systemitem class="username">root</systemitem>):</para>
[ab3a3af7]93
[b785ab29]94<screen role="root"><userinput>groupadd -g 25 apache &amp;&amp;
95useradd -c "Apache Server" -d /dev/null -g apache \
96 -s /bin/false -u 25 apache</userinput></screen>
[ab3a3af7]97
[9196f196]98 <note><para>The above command directs the <application>Apache</application>
99 user's home directory to <filename>/dev/null</filename>. This may not work
[608a225]100 for some add-ons such as <ulink
101 url='http://www.viewvc.org/'><application>ViewVC</application></ulink>, a
102 browser interface for CVS and Subversion version control repositories.
[9f12e36]103 See the User Notes for details for specific applications.</para></note>
[9196f196]104
[1259e0e8]105 <para>The following patch modifies the layout of destination
106 directories and among them, the build directory at
[ab3a3af7]107 <filename class="directory">/usr/lib/apache/build</filename>. This
108 will allow the modules added to <application>Apache</application>
109 to be configured without errors. Apply the patch:</para>
110
111<screen><userinput>patch -Np1 -i ../httpd-&apache-version;-config-1.patch</userinput></screen>
112
[f165eea]113 <note>
114 <para>You may wish to review the output from
115 <command>./configure --help</command> and include whatever parameters
116 are necessary to the <command>configure</command> command below to build
[1259e0e8]117 the modules required for your installation. There are as many as 62
118 additional parameters you can add to the <command>configure</command>
119 command to build additional modules. Some of the extra parameters which
120 aren't described or mentioned in the <parameter>--help</parameter>
121 information are listed in the <quote>Command Explanations</quote> section
122 below.</para>
[f165eea]123 </note>
124
[ab3a3af7]125 <para>Build and install <application>Apache</application> by running the
126 following commands:</para>
127
128<screen><userinput>./configure --enable-layout=FHS --enable-mods-shared=all &amp;&amp;
129make</userinput></screen>
130
131 <para>This package does not come with a test suite.</para>
132
133 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
134
135<screen role="root"><userinput>make install &amp;&amp;
[1259e0e8]136chown -v root:root /usr/lib/apache/httpd.exp \
137 /usr/sbin/{apxs,apachectl,dbmmanage,envvars{,-std}} \
138 /usr/share/man/man1/{dbmmanage,ht{dbm,digest,passwd}}.1 \
139 /usr/share/man/man8/{ab,apachectl,apxs,htcacheclean,httpd}.8 \
[47603ac1]140 /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &amp;&amp;
[f165eea]141chown -v -R apache:apache /srv/www</userinput></screen>
[08254fc]142
[ab3a3af7]143 </sect2>
[08254fc]144
[ab3a3af7]145 <sect2 role="commands">
146 <title>Command Explanations</title>
[08254fc]147
[1259e0e8]148 <para><option>--with-expat=/usr</option>: Uses the system installed
[608a225]149 <application>expat</application>. <emphasis role="strong">If you have
150 installed <application>expat</application> and do not use this switch, the
[ab3a3af7]151 <application>Apache</application> installation may overwrite some files
152 from the <application>expat</application> installation.</emphasis></para>
[b1623c2]153
[ab3a3af7]154 <para><parameter>--enable-mods-shared=all</parameter>: The modules
155 should be compiled and used as Dynamic Shared Objects
156 (DSOs) so they can be included and excluded from the
157 server using the run-time configuration directives.</para>
[08254fc]158
[1259e0e8]159 <para><option>--enable-ssl</option>: Use this parameter
[ab3a3af7]160 to create the <filename class="libraryfile">mod_ssl</filename>
[1259e0e8]161 module and enable SSL support. This parameter is mentioned as one of many
162 parameters which can be passed to the <command>configure</command> command
163 to create additional DSO modules.</para>
164
165 <para><option>--with-pcre</option>: Add this parameter to use the system
166 installed version of the <application>PCRE</application> library.</para>
167
168 <para><option>--with-z</option>: Add this parameter to use the system
169 installed version of the <application>Zlib</application> library.</para>
170
171 <para><option>--with-ldap</option>: This parameter is required if you
172 passed the <option>--enable-authnz-ldap</option> or
[6473e74]173 <option>--enable-ldap</option> options to <command>configure</command>
[1259e0e8]174 and enabled the <application>OpenLDAP</application> modules.</para>
[08254fc]175
[ab3a3af7]176 <para><command>chown root:root ...</command>: This command changes the
177 ownership of some installed files, the result of building the package as
178 a user other than <systemitem class="username">root</systemitem>.</para>
[4fb9a95]179
[ab3a3af7]180 <para><command>chown -R apache:apache /srv/www</command>: By default, the
181 installation process installs files (documentation, error messages, default
182 icons, etc.) with the ownership of the user that extracted the files from
183 the tar file. If you want to change the ownership to another user, you
184 should do so at this point. The only requirement is that the document
185 directories need to be accessible by the <command>httpd</command> process
186 with (r-x) permissions and files need to be readable (r--) by the
187 <systemitem class="username">apache</systemitem> user.</para>
[4fb9a95]188
[ab3a3af7]189 </sect2>
[08254fc]190
[ab3a3af7]191 <sect2 role="configuration">
192 <title>Configuring Apache</title>
[08254fc]193
[ab3a3af7]194 <sect3 id="apache-config">
195 <title>Config Files</title>
[08254fc]196
[ab3a3af7]197 <para><filename>/etc/apache/*</filename></para>
[08254fc]198
[ab3a3af7]199 <indexterm zone="apache apache-config">
200 <primary sortas="e-etc-apache">/etc/apache/*</primary>
201 </indexterm>
[08254fc]202
[ab3a3af7]203 <indexterm zone="apache apache-config">
204 <primary sortas="e-etc-apache-httpd.conf">/etc/apache/httpd.conf</primary>
205 </indexterm>
[08254fc]206
[ab3a3af7]207 </sect3>
208
209 <sect3>
210 <title>Configuration Information</title>
211
[1259e0e8]212 <para>The main configuration file is named
213 <filename>/etc/apache/httpd.conf</filename>. Modify it so that the HTTP
214 server runs as the dedicated user and group:</para>
[ab3a3af7]215
[fb832ac]216<screen role="root"><userinput>sed -i -e "s/User daemon/User apache/" \
[1259e0e8]217 -e "s/Group daemon/Group apache/" \
[ab3a3af7]218 /etc/apache/httpd.conf</userinput></screen>
219
[1259e0e8]220 <para>See <ulink url="http://httpd.apache.org/docs-2.2/configuring.html"/>
[ab3a3af7]221 for detailed instructions on customizing your
[1259e0e8]222 <application>Apache</application> HTTP server configuration file.</para>
[ab3a3af7]223
224 <para>There's a problem with the ISAPI DSO module caused from compiling
[1259e0e8]225 with <application>GCC</application>-&gcc-version;. If you included the
226 parameter to build the module, comment out the module's load command
227 in the configuration file with the following command:</para>
[ab3a3af7]228
[1259e0e8]229<screen role="root"><userinput>sed -i "s/^LoadModule isapi_module/# &amp;/" \
[ab3a3af7]230 /etc/apache/httpd.conf</userinput></screen>
231
232 </sect3>
233
234 <sect3 id="apache-init">
235 <title>Boot Script</title>
236
237 <para>If you want the <application>Apache</application> server to
238 start automatically when the system is booted, install the
239 <filename>/etc/rc.d/init.d/apache</filename> init script included
[5254d12]240 in the <xref linkend="bootscripts"/> package.</para>
[ab3a3af7]241
242 <indexterm zone="apache apache-init">
243 <primary sortas="f-apache">apache</primary>
244 </indexterm>
245
246<screen role="root"><userinput>make install-apache</userinput></screen>
247
248 </sect3>
249
250 </sect2>
251
252 <sect2 role="content">
253 <title>Contents</title>
254
255 <segmentedlist>
256 <segtitle>Installed Programs</segtitle>
257 <segtitle>Installed Libraries</segtitle>
258 <segtitle>Installed Directories</segtitle>
259
260 <seglistitem>
261 <seg>ab, apachectl, apr-config, apu-config, apxs, checkgid, dbmmanage,
262 htdbm, htdigest, htpasswd, httpd, instdso.sh, logresolve, and
263 rotatelogs</seg>
[3cb0c57]264 <seg>libapr-1.{so,a}, libaprutil-1.{so,a}, and /usr/lib/apache/*.so</seg>
[ab3a3af7]265 <seg>/etc/apache, /srv/www, /usr/include/apache, /usr/lib/apache, and
266 /var/log/apache</seg>
267 </seglistitem>
268 </segmentedlist>
269
270 <variablelist>
271 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
272 <?dbfo list-presentation="list"?>
273 <?dbhtml list-presentation="table"?>
274
275 <varlistentry id="ab">
276 <term><command>ab</command></term>
277 <listitem>
278 <para>is a tool for benchmarking your
279 <application>Apache</application> HTTP server.</para>
280 <indexterm zone="apache ab">
281 <primary sortas="b-ab">ab</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="apachectl">
287 <term><command>apachectl</command></term>
288 <listitem>
289 <para>is a front end to the <application>Apache</application>
290 HTTP server which is designed to help the administrator
291 control the functioning of the <application>Apache</application>
292 httpd daemon.</para>
293 <indexterm zone="apache apachectl">
294 <primary sortas="b-apachectl">apachectl</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="apxs">
300 <term><command>apxs</command></term>
301 <listitem>
302 <para>is a tool for building and installing extension modules for
303 the <application>Apache</application> HTTP server.</para>
304 <indexterm zone="apache apxs">
305 <primary sortas="b-apxs">apxs</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="dbmanage">
311 <term><command>dbmanage</command></term>
312 <listitem>
313 <para>is used to create and update the DBM format files used to store
314 usernames and passwords for basic authentication of HTTP users.</para>
315 <indexterm zone="apache dbmanage">
316 <primary sortas="b-dbmanage">dbmanage</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="htdigest">
322 <term><command>htdigest</command></term>
323 <listitem>
324 <para>is used to create and update the flat-files used to store
325 usernames, realms and passwords for digest authentication of
326 HTTP users.</para>
327 <indexterm zone="apache htdigest">
328 <primary sortas="b-htdigest">htdigest</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="htpasswd">
334 <term><command>htpasswd</command></term>
335 <listitem>
336 <para>is used to create and update the flat-files used to store
337 usernames and passwords for basic authentication of HTTP users.</para>
338 <indexterm zone="apache htpasswd">
339 <primary sortas="b-htpasswd">htpasswd</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="httpd">
345 <term><command>httpd</command></term>
346 <listitem>
347 <para>is the <application>Apache</application>
348 HTTP server program.</para>
349 <indexterm zone="apache httpd">
350 <primary sortas="b-httpd">httpd</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="instdso.sh">
356 <term><command>instdso.sh</command></term>
357 <listitem>
358 <para>is a script which installs <application>Apache</application>
359 DSO modules.</para>
360 <indexterm zone="apache instdso.sh">
361 <primary sortas="b-instdso.sh">instdso.sh</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="logresolve">
367 <term><command>logresolve</command></term>
368 <listitem>
369 <para>is a post-processing program to resolve IP-addresses
370 in <application>Apache</application>'s access log files.</para>
371 <indexterm zone="apache logresolve">
372 <primary sortas="b-logresolve">logresolve</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="rotatelogs">
378 <term><command>rotatelogs</command></term>
379 <listitem>
380 <para>is a simple program for use in conjunction with
381 <application>Apache</application>'s piped log file feature.</para>
382 <indexterm zone="apache rotatelogs">
383 <primary sortas="b-rotatelogs">rotatelogs</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
388 </variablelist>
389
390 </sect2>
[f45b1953]391
392</sect1>
Note: See TracBrowser for help on using the repository browser.