source: server/mail/exim.xml@ 5e82e717

10.0 10.1 11.0 11.1 11.2 8.0 8.1 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 5e82e717 was 5e82e717, checked in by Pierre Labastie <pieere@…>, 6 years ago

Last tags

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

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