source: server/mail/exim-systemd.xml@ d7342ba

systemd-11177
Last change on this file since d7342ba was d7342ba, checked in by Krejzi <krejzi@…>, 10 years ago

Package checks, tweaks and updates.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@14044 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 19.7 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 exim-download-http "http://ftp.exim.org/pub/exim/exim4/exim-&exim-version;.tar.bz2">
8 <!ENTITY exim-download-ftp "ftp://ftp.exim.org/pub/exim/exim4/exim-&exim-version;.tar.bz2">
9 <!ENTITY exim-md5sum "3d14522e604b687b9e515f5aa739b2c0">
10 <!ENTITY exim-size "1.7 MB">
11 <!ENTITY exim-buildsize "17 MB">
12 <!ENTITY exim-time "0.2 SBU">
13
14
15
16 <!ENTITY exim-daemon-version "&exim-version;-3">
17]>
18
19<sect1 id="exim" xreflabel="Exim-&exim-version;">
20 <?dbhtml filename="exim.html"?>
21
22 <sect1info>
23 <othername>$LastChangedBy$</othername>
24 <date>$Date$</date>
25 </sect1info>
26
27 <title>Exim-&exim-version;</title>
28
29 <indexterm zone="exim">
30 <primary sortas="a-Exim">Exim</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to Exim</title>
35
36 <para>The <application>Exim</application> package contains a Mail
37 Transport Agent written by the University of Cambridge, released
38 under the GNU Public License.</para>
39
40 &lfs76_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>Download (HTTP): <ulink url="&exim-download-http;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download (FTP): <ulink url="&exim-download-ftp;"/></para>
49 </listitem>
50 <listitem>
51 <para>Download MD5 sum: &exim-md5sum;</para>
52 </listitem>
53 <listitem>
54 <para>Download size: &exim-size;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated disk space required: &exim-buildsize;</para>
58 </listitem>
59 <listitem>
60 <para>Estimated build time: &exim-time;</para>
61 </listitem>
62 </itemizedlist>
63
64 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>Additional formats of the documentation (text-based docs are
68 shipped with the sources) can be downloaded by following the links
69 shown at <ulink url="http://exim.org/docs.html"/>.</para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Exim Dependencies</bridgehead>
74
75 <bridgehead renderas="sect4">Required</bridgehead>
76 <para role="required">
77 <xref linkend="pcre"/>
78 </para>
79
80 <bridgehead renderas="sect4">Optional</bridgehead>
81 <para role="optional">
82 <xref linkend="db"/> or
83 <ulink url="http://sourceforge.net/projects/tdb">TDB</ulink> (as an
84 alternative to GDBM, built in LFS),
85 <xref linkend="x-window-system"/>,
86 <xref linkend="openldap"/>,
87 <xref linkend="openssl"/> or <xref linkend="gnutls"/>,
88 <xref linkend="cyrus-sasl"/>,
89 <xref linkend="mariadb"/> or <ulink url="http://www.mysql.com/">MySQL</ulink>,
90 <xref linkend="postgresql"/>,
91 <xref linkend="sqlite"/>,
92 <xref linkend="linux-pam"/>, and
93 <ulink url="http://www.trusteddomain.org/opendmarc/">OpenDMARC</ulink>
94 </para>
95
96 <para condition="html" role="usernotes">User Notes:
97 <ulink url="&blfs-wiki;/exim"/></para>
98
99 </sect2>
100
101 <sect2 role="installation">
102 <title>Installation of Exim</title>
103
104 <para>Before building <application>Exim</application>, as the
105 <systemitem class="username">root</systemitem> user you should create
106 the group and user <systemitem class="username">exim</systemitem> which
107 will run the <command>exim</command> daemon:</para>
108
109<screen role="root"><userinput>groupadd -g 31 exim &amp;&amp;
110useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false -u 31 exim</userinput></screen>
111
112 <para>Install <application>Exim</application> with the following
113 commands:</para>
114
115<screen><userinput>sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' \
116 -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \
117 -e 's,^EXIM_USER.*$,EXIM_USER=exim,' \
118 -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile &amp;&amp;
119echo -e "USE_GDBM = yes\nDBMLIB = -lgdbm" >> Local/Makefile &amp;&amp;
120make</userinput></screen>
121
122 <para>This package does not come with a test suite.</para>
123
124 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
125
126<!-- dev note: make INSTALL_ARG=-no_chown DESTDIR=<DESTDIR> install -->
127
128<screen role="root"><userinput>make install &amp;&amp;
129install -v -m644 doc/exim.8 /usr/share/man/man8 &amp;&amp;
130install -v -d -m755 /usr/share/doc/exim-&exim-version; &amp;&amp;
131install -v -m644 doc/* /usr/share/doc/exim-&exim-version; &amp;&amp;
132ln -sfv exim /usr/sbin/sendmail</userinput></screen>
133
134 </sect2>
135
136 <sect2 role="commands">
137 <title>Command Explanations</title>
138
139 <para><command>sed -e ... > Local/Makefile</command>: Most of
140 <application>Exim</application>'s configuration options are compiled in using
141 the directives in <filename>Local/Makefile</filename> which is created from
142 the <filename>src/EDITME</filename> file. This command specifies the minimum
143 set of options. Descriptions for the options are listed below.</para>
144
145 <para><command>echo -e ... > Local/Makefile</command>: Setting those
146 variables allows to use GDBM instead of the default Berkeley DB. Remove
147 this command if you have installed <xref linkend="db"/>.</para>
148
149 <para><parameter>BIN_DIRECTORY=/usr/sbin</parameter>: This installs all of
150 <application>Exim</application>'s binaries and scripts in
151 <filename class='directory'>/usr/sbin</filename>.</para>
152
153 <para><parameter>CONFIGURE_FILE=/etc/exim.conf</parameter>: This installs
154 <application>Exim</application>'s main configuration file in
155 <filename class='directory'>/etc</filename>.</para>
156
157 <para><parameter>EXIM_USER=exim</parameter>: This tells
158 <application>Exim</application> that after the daemon no longer needs
159 <systemitem class="username">root</systemitem> privileges, the process
160 hands off the daemon to the <systemitem
161 class="username">exim</systemitem> user.</para>
162
163 <para><parameter>#EXIM_MONITOR</parameter>: This defers building the
164 <application>Exim</application> monitor program, as it requires
165 <application>X Window System</application> support, by commenting out the
166 <parameter>EXIM_MONITOR</parameter> line in the <filename>Makefile</filename>.
167 If you wish to build the monitor program, omit this <command>sed</command>
168 command and issue the following command before building the package (modify
169 <filename>Local/eximon.conf</filename>, if necessary):
170 <command>cp exim_monitor/EDITME Local/eximon.conf</command>.</para>
171
172 <para><command>ln -sfv exim /usr/sbin/sendmail</command>: Creates a link to
173 <command>sendmail</command> for applications which need it.
174 <application>Exim</application> will accept most
175 <application>Sendmail</application> command-line options.</para>
176
177 </sect2>
178
179 <sect2 role="commands">
180 <title>Adding Additional Functionality</title>
181
182 <para>To utilize some or all of the dependency packages, you'll need to
183 modify <filename>Local/Makefile</filename> to include the appropriate
184 directives and parameters to link additional libraries before you build
185 <application>Exim</application>. <filename>Local/Makefile</filename> is
186 heavily commented with instructions on how to do this. Listed below is
187 additional information to help you link these dependency packages or
188 add additional functionality.</para>
189
190 <para>If you wish to build and install the
191 <filename class='extension'>.info</filename> documentation, refer to <ulink
192 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch04.html#SECTinsinfdoc"/>.</para>
193
194 <para>If you wish to build in Exim's interfaces for calling virus and spam
195 scanning software directly from access control lists, uncomment the
196 <option>WITH_CONTENT_SCAN=yes</option> parameter and review the information
197 found at <ulink
198 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch41.html"/>.</para>
199
200 <para>To use a backend database other than <application>Berkeley
201 DB</application>, see the instructions at <ulink
202 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch04.html#SECTdb"/>.</para>
203
204 <para>For SSL functionality, see the instructions at <ulink
205 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch04.html#SECTinctlsssl"/>
206 and <ulink
207 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch39.html"/>.</para>
208
209 <para>For <application>tcpwrappers</application> functionality, see the
210 instructions at <ulink
211 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch04.html#SECID27"/>.</para>
212
213 <para>For information about adding authentication mechanisms to the
214 build, see chapters 33-37 of <ulink
215 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/index.html"/>.</para>
216
217 <para>For information about linking <application>Linux-PAM</application>,
218 refer to the instructions <ulink
219 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch11.html#SECTexpcond"/>.</para>
220
221 <para>For information about linking database engine libraries used for
222 <application>Exim</application> name lookups, see the instructions at <ulink
223 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch09.html"/>.</para>
224
225 <para>If you wish to add <application>Readline</application> support to
226 <application>Exim</application> when invoked in <quote>test expansion</quote>
227 (<option>-be</option>) mode, see the information in the <option>-be</option>
228 section of <ulink
229 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch05.html#id2525974"/>.</para>
230
231 <para>You may wish to modify the default configuration and send log files to
232 syslog instead of the default
233 <filename class='directory'>/var/spool/exim/log</filename> directory. See the
234 information at <ulink
235 url="http://exim.org/exim-html-&exim-version;/doc/html/spec_html/ch49.html"/>.</para>
236
237 </sect2>
238
239 <sect2 role="configuration">
240 <title>Configuring Exim</title>
241
242 <sect3 id="exim-config">
243 <title>Config Files</title>
244
245 <para><filename>/etc/exim.conf</filename> and
246 <filename>/etc/aliases</filename></para>
247
248 <indexterm zone="exim exim-config">
249 <primary sortas="e-etc-exim.conf">/etc/exim.conf</primary>
250 </indexterm>
251
252 <indexterm zone="exim exim-config">
253 <primary sortas="e-etc-aliases">/etc/aliases</primary>
254 </indexterm>
255
256 </sect3>
257
258 <sect3>
259 <title>Configuration Information</title>
260
261 <para>A default (nothing but comments) <filename>/etc/aliases</filename>
262 file is installed during the package installation if this file did not
263 exist on your system. Create the necessary aliases and start the
264 <application>Exim</application> daemon using the following commands:</para>
265
266<screen role="root"><userinput>cat &gt;&gt; /etc/aliases &lt;&lt; "EOF"
267<literal>postmaster: root
268MAILER-DAEMON: root</literal>
269EOF
270exim -v -bi &amp;&amp;
271/usr/sbin/exim -bd -q15m</userinput></screen>
272
273 <note>
274 <para>To protect an existing <filename>/etc/aliases</filename> file,
275 the command above appends these aliases to it. This file should be
276 checked and duplicate aliases removed, if present.</para>
277 </note>
278
279 <para>The <command>/usr/sbin/exim -bd -q15m</command> command starts
280 the <application>Exim</application> daemon with a 15 minute interval
281 in processing the mail queue. Adjust this parameter to suit your
282 desires.</para>
283
284 </sect3>
285
286 <sect3 id="exim-init">
287 <title>Systemd Units</title>
288
289 <para>
290 To start the <command>exim</command> daemon at boot,
291 install the systemd unit from the <xref linkend="bootscripts"/>
292 package by running the following command as the
293 <systemitem class="username">root</systemitem> user:
294 </para>
295
296 <indexterm zone="exim exim-init">
297 <primary sortas="f-exim">exim</primary>
298 </indexterm>
299
300<screen role="root"><userinput>make install-exim</userinput></screen>
301
302 </sect3>
303
304 </sect2>
305
306 <sect2 role="content">
307 <title>Contents</title>
308
309 <segmentedlist>
310 <segtitle>Installed Programs</segtitle>
311 <segtitle>Installed Libraries</segtitle>
312 <segtitle>Installed Directories</segtitle>
313
314 <seglistitem>
315 <seg>exicyclog, exigrep, exim, exim-&exim-daemon-version;, exim_checkaccess,
316 exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb,
317 eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat, and
318 optionally, eximon, eximon.bin, and sendmail (symlink)</seg>
319 <seg>None</seg>
320 <seg>/usr/share/doc/exim-&exim-version; and /var/spool/exim</seg>
321 </seglistitem>
322 </segmentedlist>
323
324 <variablelist>
325 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
326 <?dbfo list-presentation="list"?>
327 <?dbhtml list-presentation="table"?>
328
329 <varlistentry id="exicyclog">
330 <term><command>exicyclog</command></term>
331 <listitem>
332 <para>cycles <application>Exim</application> log files.</para>
333 <indexterm zone="exim exicyclog">
334 <primary sortas="b-exicyclog">exicyclog</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="exigrep">
340 <term><command>exigrep</command></term>
341 <listitem>
342 <para>searches <application>Exim</application> log files.</para>
343 <indexterm zone="exim exigrep">
344 <primary sortas="b-exigrep">exigrep</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="exim-prog">
350 <term><command>exim</command></term>
351 <listitem>
352 <para>is a symlink to the <command>exim-&exim-daemon-version;</command>
353 MTA daemon.</para>
354 <indexterm zone="exim exim-prog">
355 <primary sortas="b-exim">exim</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="exim-current_version">
361 <term><command>exim-&exim-daemon-version;</command></term>
362 <listitem>
363 <para>is the <application>Exim</application> mail transport
364 agent daemon.</para>
365 <indexterm zone="exim exim-current_version">
366 <primary sortas="b-exim-&exim-daemon-version;">exim-&exim-daemon-version;</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="exim_checkaccess">
372 <term><command>exim_checkaccess</command></term>
373 <listitem>
374 <para>states whether a given recipient address from a given host is
375 acceptable or not.</para>
376 <indexterm zone="exim exim_checkaccess">
377 <primary sortas="b-exim_checkaccess">exim_checkaccess</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="exim_dbmbuild">
383 <term><command>exim_dbmbuild</command></term>
384 <listitem>
385 <para> creates and rebuilds <application>Exim</application>
386 databases.</para>
387 <indexterm zone="exim exim_dbmbuild">
388 <primary sortas="b-exim_dbmbuild">exim_dbmbuild</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="exim_dumpdb">
394 <term><command>exim_dumpdb</command></term>
395 <listitem>
396 <para> writes the contents of <application>Exim</application>
397 databases to the standard output.</para>
398 <indexterm zone="exim exim_dumpdb">
399 <primary sortas="b-exim_dumpdb">exim_dumpdb</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404 <varlistentry id="exim_fixdb">
405 <term><command>exim_fixdb</command></term>
406 <listitem>
407 <para>modifies data in <application>Exim</application>
408 databases.</para>
409 <indexterm zone="exim exim_fixdb">
410 <primary sortas="b-exim_fixdb">exim_fixdb</primary>
411 </indexterm>
412 </listitem>
413 </varlistentry>
414
415 <varlistentry id="exim_lock">
416 <term><command>exim_lock</command></term>
417 <listitem>
418 <para>locks a mailbox file.</para>
419 <indexterm zone="exim exim_lock">
420 <primary sortas="b-exim_lock">exim_lock</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="exim_tidydb">
426 <term><command>exim_tidydb</command></term>
427 <listitem>
428 <para>removes old records from <application>Exim</application>
429 databases.</para>
430 <indexterm zone="exim exim_tidydb">
431 <primary sortas="b-exim_tidydb">exim_tidydb</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="eximstats">
437 <term><command>eximstats</command></term>
438 <listitem>
439 <para>generates mail statistics from <application>Exim</application>
440 log files.</para>
441 <indexterm zone="exim eximstats">
442 <primary sortas="b-eximstats">eximstats</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="exinext">
448 <term><command>exinext</command></term>
449 <listitem>
450 <para>queries remote host retry times.</para>
451 <indexterm zone="exim exinext">
452 <primary sortas="b-exinext">exinext</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="exipick">
458 <term><command>exipick</command></term>
459 <listitem>
460 <para>selects messages based on various criteria.</para>
461 <indexterm zone="exim exipick">
462 <primary sortas="b-exipick">exipick</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466
467 <varlistentry id="exiqgrep">
468 <term><command>exiqgrep</command></term>
469 <listitem>
470 <para>is a utility for selective queue listing.</para>
471 <indexterm zone="exim exiqgrep">
472 <primary sortas="b-exiqgrep">exiqgrep</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="exiqsumm">
478 <term><command>exiqsumm</command></term>
479 <listitem>
480 <para>produces a summary of the messages in the mail queue.</para>
481 <indexterm zone="exim exiqsumm">
482 <primary sortas="b-exiqsumm">exiqsumm</primary>
483 </indexterm>
484 </listitem>
485 </varlistentry>
486
487 <varlistentry id="exiwhat">
488 <term><command>exiwhat</command></term>
489 <listitem>
490 <para>queries running <application>Exim</application>
491 processes.</para>
492 <indexterm zone="exim exiwhat">
493 <primary sortas="b-exiwhat">exiwhat</primary>
494 </indexterm>
495 </listitem>
496 </varlistentry>
497
498 <varlistentry id="eximon">
499 <term><command>eximon</command></term>
500 <listitem>
501 <para>is a start-up shell script for <command>eximon.bin</command>
502 used to set the required environment variables before running the
503 program.</para>
504 <indexterm zone="exim eximon">
505 <primary sortas="b-eximon">eximon</primary>
506 </indexterm>
507 </listitem>
508 </varlistentry>
509
510 <varlistentry id="eximon.bin">
511 <term><command>eximon.bin</command></term>
512 <listitem>
513 <para>is a monitor program which displays current information in an
514 <application>X</application> window, and also contains a menu interface
515 to <application>Exim</application>'s command line administration
516 options.</para>
517 <indexterm zone="exim eximon.bin">
518 <primary sortas="b-eximon.bin">eximon.bin</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522
523 </variablelist>
524
525 </sect2>
526
527</sect1>
Note: See TracBrowser for help on using the repository browser.