source: server/mail/exim.xml@ 222a7ae6

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 222a7ae6 was 222a7ae6, checked in by Pierre Labastie <pieere@…>, 5 years ago

Slightly change the sed in exim, so that only one instance of SUPPORT_TLS
is affected, which avoids the need for deleting the other instance.

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

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