source: server/major/apache.xml@ a6ac43b

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 a6ac43b was a6ac43b, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

Adding automatized scripts generation related tags. Server part.

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

  • Property mode set to 100644
File size: 13.1 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 "f1b5b65c8661db9ffe38b5a4a865a0e2">
10 <!ENTITY apache-size "4.6 MB">
11 <!ENTITY apache-buildsize "91.6 MB">
12 <!ENTITY apache-time "1.7 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="ftptdir">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"/> or <xref linkend="gdbm"/>,
74 <xref linkend="openssl"/>,
75 <xref linkend="openldap"/>,
76 <xref linkend="expat"/> and
77 <xref linkend="doxygen"/></para>
78
79 </sect2>
80
81 <sect2 role="installation">
82 <title>Installation of Apache</title>
83
84 <para>For security reasons, running the server as an unprivileged user and
85 group is strongly encouraged. Create the following group and user using the
86 following commands (as <systemitem class="username">root</systemitem>):</para>
87
88<screen role="root"><userinput>groupadd -g 25 apache &amp;&amp;
89useradd -c "Apache Server" -d /dev/null -g apache \
90 -s /bin/false -u 25 apache</userinput></screen>
91
92 <para>The following patch will define the layout of destination
93 directories and, among them, the build directory at
94 <filename class="directory">/usr/lib/apache/build</filename>. This
95 will allow the modules added to <application>Apache</application>
96 to be configured without errors. Apply the patch:</para>
97
98<screen><userinput>patch -Np1 -i ../httpd-&apache-version;-config-1.patch</userinput></screen>
99
100 <note>
101 <para>You may wish to review the output from
102 <command>./configure --help</command> and include whatever parameters
103 are necessary to the <command>configure</command> command below to build
104 the modules required for your installation.</para>
105 </note>
106
107 <para>Build and install <application>Apache</application> by running the
108 following commands:</para>
109
110<screen><userinput>./configure --enable-layout=FHS --enable-mods-shared=all &amp;&amp;
111make</userinput></screen>
112
113 <para>This package does not come with a test suite.</para>
114
115 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
116
117<screen role="root"><userinput>make install &amp;&amp;
118chown -v root:root \
119 /usr/sbin/{apxs,apachectl,dbmmanage,envvars-std,envvars} \
120 /usr/include/apache/* /usr/lib/apache/httpd.exp \
121 /usr/share/man/man1/{dbmmanage,htdigest,htpasswd}.1 \
122 /usr/share/man/man8/{ab,apachectl,apxs,httpd}.8 \
123 /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &amp;&amp;
124chown -v -R apache:apache /srv/www</userinput></screen>
125
126 </sect2>
127
128 <sect2 role="commands">
129 <title>Command Explanations</title>
130
131 <para><option>--with-expat=/usr</option>: Uses system installed
132 <application>expat</application>. <emphasis>If you have installed
133 <application>expat</application> and do not use this switch, the
134 <application>Apache</application> installation may overwrite some files
135 from the <application>expat</application> installation.</emphasis></para>
136
137 <para><parameter>--enable-mods-shared=all</parameter>: The modules
138 should be compiled and used as Dynamic Shared Objects
139 (DSOs) so they can be included and excluded from the
140 server using the run-time configuration directives.</para>
141
142 <para><option>--enable-ssl</option>: Use this switch
143 to create the <filename class="libraryfile">mod_ssl</filename>
144 module and enable SSL support.</para>
145
146 <para><command>chown root:root ...</command>: This command changes the
147 ownership of some installed files, the result of building the package as
148 a user other than <systemitem class="username">root</systemitem>.</para>
149
150 <para><command>chown -R apache:apache /srv/www</command>: By default, the
151 installation process installs files (documentation, error messages, default
152 icons, etc.) with the ownership of the user that extracted the files from
153 the tar file. If you want to change the ownership to another user, you
154 should do so at this point. The only requirement is that the document
155 directories need to be accessible by the <command>httpd</command> process
156 with (r-x) permissions and files need to be readable (r--) by the
157 <systemitem class="username">apache</systemitem> user.</para>
158
159 </sect2>
160
161 <sect2 role="configuration">
162 <title>Configuring Apache</title>
163
164 <sect3 id="apache-config">
165 <title>Config Files</title>
166
167 <para><filename>/etc/apache/*</filename></para>
168
169 <indexterm zone="apache apache-config">
170 <primary sortas="e-etc-apache">/etc/apache/*</primary>
171 </indexterm>
172
173 <indexterm zone="apache apache-config">
174 <primary sortas="e-etc-apache-httpd.conf">/etc/apache/httpd.conf</primary>
175 </indexterm>
176
177 </sect3>
178
179 <sect3>
180 <title>Configuration Information</title>
181
182 <para>The main configuration file is named <filename>httpd.conf</filename>.
183 Modify it to run the server as a dedicated user:</para>
184
185<screen role="root"><userinput>sed -i -e "s%User nobody%User apache%" \
186 -e "s%^Group #-1%Group apache%" \
187 /etc/apache/httpd.conf</userinput></screen>
188
189 <para>See <ulink url="http://httpd.apache.org/docs-2.0/configuring.html"/>
190 for detailed instructions on customizing your
191 <application>Apache</application> HTTP server.</para>
192
193 <para>There's a problem with the ISAPI DSO module caused from compiling
194 with <application>GCC</application>-&gcc-version;. Comment out the module
195 from the configuration file with the following command:</para>
196
197<screen role="root"><userinput>sed -i -e "s/^LoadModule isapi_module/# &amp;/" \
198 /etc/apache/httpd.conf</userinput></screen>
199
200 </sect3>
201
202 <sect3 id="apache-init">
203 <title>Boot Script</title>
204
205 <para>If you want the <application>Apache</application> server to
206 start automatically when the system is booted, install the
207 <filename>/etc/rc.d/init.d/apache</filename> init script included
208 in the <xref linkend="intro-important-bootscripts"/> package.</para>
209
210 <indexterm zone="apache apache-init">
211 <primary sortas="f-apache">apache</primary>
212 </indexterm>
213
214<screen role="root"><userinput>make install-apache</userinput></screen>
215
216 </sect3>
217
218 </sect2>
219
220 <sect2 role="content">
221 <title>Contents</title>
222
223 <segmentedlist>
224 <segtitle>Installed Programs</segtitle>
225 <segtitle>Installed Libraries</segtitle>
226 <segtitle>Installed Directories</segtitle>
227
228 <seglistitem>
229 <seg>ab, apachectl, apr-config, apu-config, apxs, checkgid, dbmmanage,
230 htdbm, htdigest, htpasswd, httpd, instdso.sh, logresolve, and
231 rotatelogs</seg>
232 <seg>libapr-0.[so,a], libaprutil-0.[so,a], and /usr/lib/apache/*.so</seg>
233 <seg>/etc/apache, /srv/www, /usr/include/apache, /usr/lib/apache, and
234 /var/log/apache</seg>
235 </seglistitem>
236 </segmentedlist>
237
238 <variablelist>
239 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
240 <?dbfo list-presentation="list"?>
241 <?dbhtml list-presentation="table"?>
242
243 <varlistentry id="ab">
244 <term><command>ab</command></term>
245 <listitem>
246 <para>is a tool for benchmarking your
247 <application>Apache</application> HTTP server.</para>
248 <indexterm zone="apache ab">
249 <primary sortas="b-ab">ab</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry id="apachectl">
255 <term><command>apachectl</command></term>
256 <listitem>
257 <para>is a front end to the <application>Apache</application>
258 HTTP server which is designed to help the administrator
259 control the functioning of the <application>Apache</application>
260 httpd daemon.</para>
261 <indexterm zone="apache apachectl">
262 <primary sortas="b-apachectl">apachectl</primary>
263 </indexterm>
264 </listitem>
265 </varlistentry>
266
267 <varlistentry id="apxs">
268 <term><command>apxs</command></term>
269 <listitem>
270 <para>is a tool for building and installing extension modules for
271 the <application>Apache</application> HTTP server.</para>
272 <indexterm zone="apache apxs">
273 <primary sortas="b-apxs">apxs</primary>
274 </indexterm>
275 </listitem>
276 </varlistentry>
277
278 <varlistentry id="dbmanage">
279 <term><command>dbmanage</command></term>
280 <listitem>
281 <para>is used to create and update the DBM format files used to store
282 usernames and passwords for basic authentication of HTTP users.</para>
283 <indexterm zone="apache dbmanage">
284 <primary sortas="b-dbmanage">dbmanage</primary>
285 </indexterm>
286 </listitem>
287 </varlistentry>
288
289 <varlistentry id="htdigest">
290 <term><command>htdigest</command></term>
291 <listitem>
292 <para>is used to create and update the flat-files used to store
293 usernames, realms and passwords for digest authentication of
294 HTTP users.</para>
295 <indexterm zone="apache htdigest">
296 <primary sortas="b-htdigest">htdigest</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="htpasswd">
302 <term><command>htpasswd</command></term>
303 <listitem>
304 <para>is used to create and update the flat-files used to store
305 usernames and passwords for basic authentication of HTTP users.</para>
306 <indexterm zone="apache htpasswd">
307 <primary sortas="b-htpasswd">htpasswd</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="httpd">
313 <term><command>httpd</command></term>
314 <listitem>
315 <para>is the <application>Apache</application>
316 HTTP server program.</para>
317 <indexterm zone="apache httpd">
318 <primary sortas="b-httpd">httpd</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="instdso.sh">
324 <term><command>instdso.sh</command></term>
325 <listitem>
326 <para>is a script which installs <application>Apache</application>
327 DSO modules.</para>
328 <indexterm zone="apache instdso.sh">
329 <primary sortas="b-instdso.sh">instdso.sh</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="logresolve">
335 <term><command>logresolve</command></term>
336 <listitem>
337 <para>is a post-processing program to resolve IP-addresses
338 in <application>Apache</application>'s access log files.</para>
339 <indexterm zone="apache logresolve">
340 <primary sortas="b-logresolve">logresolve</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="rotatelogs">
346 <term><command>rotatelogs</command></term>
347 <listitem>
348 <para>is a simple program for use in conjunction with
349 <application>Apache</application>'s piped log file feature.</para>
350 <indexterm zone="apache rotatelogs">
351 <primary sortas="b-rotatelogs">rotatelogs</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 </variablelist>
357
358 </sect2>
359
360</sect1>
Note: See TracBrowser for help on using the repository browser.