source: server/mail/exim.xml@ 3b78237

10.0 10.1 11.0 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 3b78237 was 3b78237, checked in by Pierre Labastie <pieere@…>, 4 years ago

Fix typo connexion->connection at several places)

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