source: server/major/apache.xml@ 5254d12

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 5254d12 was 5254d12, checked in by Randy McMurchy <randy@…>, 18 years ago

Standardized the id tag name of the Bootscripts package

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

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