source: server/mail/exim.xml@ c143e70

10.0 10.1 11.0 11.1 11.2 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since c143e70 was c143e70, checked in by Pierre Labastie <pieere@…>, 5 years ago

A few more tags

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

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