source: server/mail/exim.xml@ 45ab6c7

11.0 lazarus qt5new trunk
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 5 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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