1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
5 | %general-entities;
|
---|
6 |
|
---|
7 | <!ENTITY exim-download-http "http://www.exim.org/ftp/exim4/exim-&exim-version;.tar.bz2">
|
---|
8 | <!ENTITY exim-download-ftp "ftp://ftp.exim.org/pub/exim/exim4/exim-&exim-version;.tar.bz2">
|
---|
9 | <!ENTITY exim-size "1.4 MB">
|
---|
10 | <!ENTITY exim-buildsize "14.9 MB">
|
---|
11 | <!ENTITY exim-time "0.14 SBU">
|
---|
12 | ]>
|
---|
13 |
|
---|
14 | <sect1 id="exim" xreflabel="Exim-&exim-version;">
|
---|
15 | <sect1info>
|
---|
16 | <othername>$LastChangedBy$</othername>
|
---|
17 | <date>$Date$</date>
|
---|
18 | </sect1info>
|
---|
19 | <?dbhtml filename="exim.html"?>
|
---|
20 | <title><application>Exim</application>-&exim-version;</title>
|
---|
21 |
|
---|
22 | <sect2>
|
---|
23 | <title>Introduction to <application>Exim</application></title>
|
---|
24 |
|
---|
25 | <para>The <application>Exim</application> package contains a Mail Transport
|
---|
26 | Agent written by the University of Cambridge, released under the
|
---|
27 | <acronym>GNU</acronym> Public License.</para>
|
---|
28 |
|
---|
29 | <sect3><title>Package information</title>
|
---|
30 | <itemizedlist spacing='compact'>
|
---|
31 | <listitem><para>Download (HTTP):
|
---|
32 | <ulink url="&exim-download-http;"/></para></listitem>
|
---|
33 | <listitem><para>Download (FTP):
|
---|
34 | <ulink url="&exim-download-ftp;"/></para></listitem>
|
---|
35 | <listitem><para>Download size:
|
---|
36 | &exim-size;</para></listitem>
|
---|
37 | <listitem><para>Estimated disk space required:
|
---|
38 | &exim-buildsize;</para></listitem>
|
---|
39 | <listitem><para>Estimated build time:
|
---|
40 | &exim-time;</para></listitem></itemizedlist>
|
---|
41 | </sect3>
|
---|
42 |
|
---|
43 | <sect3><title>Additional downloads</title>
|
---|
44 | <itemizedlist spacing="compact">
|
---|
45 | <listitem><para>Required patch for Berkeley DB: <ulink
|
---|
46 | url="&patch-root;/exim-&exim-version;-db43-1.patch"/></para>
|
---|
47 | </listitem></itemizedlist>
|
---|
48 | </sect3>
|
---|
49 |
|
---|
50 | <sect3><title><application>Exim</application> dependencies</title>
|
---|
51 | <sect4><title>Required</title>
|
---|
52 | <para><xref linkend="db"/> or
|
---|
53 | <xref linkend="gdbm"/> or
|
---|
54 | <ulink url="http://sourceforge.net/projects/tdb">TDB</ulink></para>
|
---|
55 | </sect4>
|
---|
56 |
|
---|
57 | <sect4><title>Optional</title>
|
---|
58 | <para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
|
---|
59 | <xref linkend="openldap"/>,
|
---|
60 | <xref linkend="openssl"/> or
|
---|
61 | <ulink url="http://www.gnu.org/software/gnutls/">GnuTLS</ulink>,
|
---|
62 | <xref linkend="cyrus-sasl"/>,
|
---|
63 | <xref linkend="mysql"/>,
|
---|
64 | <xref linkend="postgresql"/>,
|
---|
65 | <xref linkend="tcpwrappers"/> and
|
---|
66 | <xref linkend="Linux_PAM"/></para>
|
---|
67 | </sect4>
|
---|
68 | </sect3>
|
---|
69 |
|
---|
70 | </sect2>
|
---|
71 |
|
---|
72 | <sect2>
|
---|
73 | <title>Installation of <application>Exim</application></title>
|
---|
74 |
|
---|
75 | <para>Before building <application>Exim</application>, you should
|
---|
76 | create the group and user exim which will run the
|
---|
77 | <command>exim</command> daemon:</para>
|
---|
78 |
|
---|
79 | <para>If you have Berkeley DB installed, apply
|
---|
80 | the following patch:</para>
|
---|
81 |
|
---|
82 | <screen><userinput><command>patch -Np1 -i ../exim-&exim-version;-db43-1.patch</command></userinput></screen>
|
---|
83 |
|
---|
84 | <screen><userinput><command>groupadd exim &&
|
---|
85 | useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false exim</command></userinput></screen>
|
---|
86 |
|
---|
87 | <para>Install <application>Exim</application> with the following
|
---|
88 | commands:</para>
|
---|
89 |
|
---|
90 | <screen><userinput><command>sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' src/EDITME | \
|
---|
91 | sed -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' | \
|
---|
92 | sed -e 's,^EXIM_USER.*$,EXIM_USER=exim,' | \
|
---|
93 | sed -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' > Local/Makefile &&
|
---|
94 | make &&
|
---|
95 | make install &&
|
---|
96 | install -v -m644 doc/exim.8 /usr/share/man/man8 &&
|
---|
97 | install -v -d -m755 /usr/share/doc/exim-&exim-version; &&
|
---|
98 | install -v -m644 doc/* /usr/share/doc/exim-&exim-version; &&
|
---|
99 | ln -sv exim /usr/sbin/sendmail</command></userinput></screen>
|
---|
100 |
|
---|
101 | </sect2>
|
---|
102 |
|
---|
103 | <sect2>
|
---|
104 | <title>Command explanations</title>
|
---|
105 |
|
---|
106 | <para><command>sed -e ... > Local/Makefile</command>: Most of
|
---|
107 | <application>Exim</application>'s configuration options are compiled in using
|
---|
108 | the directives in <filename>Local/Makefile</filename> which is created from
|
---|
109 | the <filename>src/EDITME</filename> file. This command specifies the minimum
|
---|
110 | set of options. Descriptions for the options are listed below.</para>
|
---|
111 |
|
---|
112 | <para><parameter>BIN_DIRECTORY=/usr/sbin</parameter>: This installs all of
|
---|
113 | <application>Exim</application>'s binaries and scripts in
|
---|
114 | <filename class='directory'>/usr/sbin</filename>.</para>
|
---|
115 |
|
---|
116 | <para><parameter>CONFIGURE_FILE=/etc/exim.conf</parameter>: This installs
|
---|
117 | <application>Exim</application>'s main configuration file in
|
---|
118 | <filename class='directory'>/etc</filename>.</para>
|
---|
119 |
|
---|
120 | <para><parameter>EXIM_USER=exim</parameter>: This tells
|
---|
121 | <application>Exim</application> that after the daemon no longer needs root
|
---|
122 | privileges, the process hands off the daemon to the exim user.</para>
|
---|
123 |
|
---|
124 | <para><parameter>#EXIM_MONITOR</parameter>: This defers building the
|
---|
125 | <application>Exim</application> monitor program, as it requires
|
---|
126 | <application>X</application> Window System support, by commenting out the
|
---|
127 | <parameter>EXIM_MONITOR</parameter> line in the <filename>Makefile</filename>.
|
---|
128 | If you wish to build the monitor program, omit this <command>sed</command>
|
---|
129 | command and issue the following command before building the package (modify
|
---|
130 | <filename>Local/eximon.conf</filename>, if necessary):
|
---|
131 | <command>cp exim_monitor/EDITME Local/eximon.conf</command>.</para>
|
---|
132 |
|
---|
133 | <para><command>ln -s exim /usr/sbin/sendmail</command>: Creates a link to
|
---|
134 | <command>sendmail</command> for applications which need it.
|
---|
135 | <application>Exim</application> will accept most
|
---|
136 | <application>Sendmail</application> command-line options.</para>
|
---|
137 |
|
---|
138 | </sect2>
|
---|
139 |
|
---|
140 | <sect2>
|
---|
141 | <title>Adding additional functionality</title>
|
---|
142 |
|
---|
143 | <para>To utilize some or all of the dependency packages, you'll need to modify
|
---|
144 | <filename>Local/Makefile</filename> to include the appropriate directives and
|
---|
145 | parameters to link additional libraries before you build
|
---|
146 | <application>Exim</application>. <filename>Local/Makefile</filename> is
|
---|
147 | heavily commented with instructions on how to do this. Listed below is
|
---|
148 | additional information to help you link these dependency packages.</para>
|
---|
149 |
|
---|
150 | <para>To use a backend database other than <application>Berkelely
|
---|
151 | DB</application>, see the instructions at <ulink
|
---|
152 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.3"/>.</para>
|
---|
153 |
|
---|
154 | <para>For <acronym>SSL</acronym> functionality, see the instructions at <ulink
|
---|
155 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.6"/> and
|
---|
156 | <ulink
|
---|
157 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_37.html#CHAP37"/>.</para>
|
---|
158 |
|
---|
159 | <para>For <application>tcpwrappers</application> functionality, see the
|
---|
160 | instructions at <ulink
|
---|
161 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.7"/>.</para>
|
---|
162 |
|
---|
163 | <para>For information about adding authentication mechanisms to the
|
---|
164 | build, see the instructions at <ulink
|
---|
165 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_34.html#SECT34.4"/> For
|
---|
166 | specific information about using <application>Cyrus-SASL</application>, see
|
---|
167 | section 10 of the <filename>doc/NewStuff</filename> file located in the source
|
---|
168 | tree.</para>
|
---|
169 |
|
---|
170 | <para>For information about linking <application>Linux-PAM</application>, see
|
---|
171 | the instuctions at <ulink
|
---|
172 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_11.html#IX935"/>.</para>
|
---|
173 |
|
---|
174 | <para>For information about linking database engine libraries used for
|
---|
175 | <application>Exim</application> name lookups, see the instuctions at <ulink
|
---|
176 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_9.html#CHAP9"/>.</para>
|
---|
177 |
|
---|
178 | <para>If you wish to add <application>Readline</application> support to
|
---|
179 | <application>Exim</application> when invoked in <quote>test expansion</quote>
|
---|
180 | (-bv) mode, see the information in section 8 of the
|
---|
181 | <filename>doc/NewStuff</filename> file located in the source tree.</para>
|
---|
182 |
|
---|
183 | <para>You may wish to modify the default configuration and send log files to
|
---|
184 | syslog instead of the default
|
---|
185 | <filename class='directory'>/var/spool/exim/log</filename> directory. See the
|
---|
186 | information at <ulink
|
---|
187 | url="http://www.exim.org/exim-html-4.40/doc/html/spec_45.html#CHAP45"/>.</para>
|
---|
188 |
|
---|
189 | </sect2>
|
---|
190 |
|
---|
191 | <sect2>
|
---|
192 | <title>Configuring Exim</title>
|
---|
193 |
|
---|
194 | <sect3><title>Config files</title>
|
---|
195 |
|
---|
196 | <para><filename>/etc/exim.conf</filename> and
|
---|
197 | <filename>/etc/aliases</filename></para>
|
---|
198 |
|
---|
199 | </sect3>
|
---|
200 |
|
---|
201 | <sect3><title>Configuration Information</title>
|
---|
202 |
|
---|
203 | <para>A default (nothing but comments) <filename>/etc/aliases</filename> file
|
---|
204 | is installed during the package installation if this file did not exist on
|
---|
205 | your system. Create the necessary aliases and start the
|
---|
206 | <application>Exim</application> daemon using the following commands:</para>
|
---|
207 |
|
---|
208 | <screen><userinput><command>cat >> /etc/aliases << "EOF"</command>
|
---|
209 | postmaster: root
|
---|
210 | MAILER-DAEMON: root
|
---|
211 | <command>EOF
|
---|
212 | exim -v -bi &&
|
---|
213 | /usr/sbin/exim -bd -q15m</command></userinput></screen>
|
---|
214 |
|
---|
215 | <note><para>To protect an existing <filename>/etc/aliases</filename> file,
|
---|
216 | the command above appends these aliases to it. This file should be checked and
|
---|
217 | duplicate aliases removed, if present.</para></note>
|
---|
218 |
|
---|
219 | <para>The <command>/usr/sbin/exim -bd -q15m</command> command starts the
|
---|
220 | <application>Exim</application> daemon with a 15 minute interval in processing
|
---|
221 | the mail queue. Adjust this parameter to suit your desires.</para>
|
---|
222 |
|
---|
223 | <para>To automate the running of <command>exim</command> at startup, install
|
---|
224 | the <filename>/etc/rc.d/init.d/exim</filename> init script included in the
|
---|
225 | <xref linkend="intro-important-bootscripts"/> package.</para>
|
---|
226 |
|
---|
227 | <screen><userinput><command>make install-exim</command></userinput></screen>
|
---|
228 |
|
---|
229 | <para>The bootscript also starts the <application>Exim</application> daemon
|
---|
230 | and dispatches a queue runner process every 15 minutes. Modify the
|
---|
231 | <parameter>-q<replaceable>[time interval]</replaceable></parameter> parameter
|
---|
232 | in <filename>/etc/rc.d/init.d/exim</filename>, if necessary for your
|
---|
233 | installation.</para>
|
---|
234 | </sect3>
|
---|
235 |
|
---|
236 | </sect2>
|
---|
237 |
|
---|
238 | <sect2>
|
---|
239 | <title>Contents</title>
|
---|
240 |
|
---|
241 | <para>The <application>Exim</application> package contains
|
---|
242 | <command>exim</command>,
|
---|
243 | <command>exim_dumpdb</command>,
|
---|
244 | <command>exim_fixdb</command>,
|
---|
245 | <command>exim_tidydb</command>,
|
---|
246 | <command>exinext</command>,
|
---|
247 | <command>exiwhat</command>,
|
---|
248 | <command>exim_dbmbuild</command>,
|
---|
249 | <command>exicyclog</command>,
|
---|
250 | <command>exigrep</command>,
|
---|
251 | <command>eximstats</command>,
|
---|
252 | <command>exiqsumm</command>,
|
---|
253 | <command>exiqgrep</command>,
|
---|
254 | <command>exim_lock</command>,
|
---|
255 | <command>exim_checkaccess</command> and optionally,
|
---|
256 | <command>eximon</command> and
|
---|
257 | <command>eximon.bin</command>.</para>
|
---|
258 |
|
---|
259 | </sect2>
|
---|
260 |
|
---|
261 | <sect2><title>Description</title>
|
---|
262 | <sect3><title>exim</title>
|
---|
263 | <para><command>exim</command> is the Mail Transport Agent daemon.</para></sect3>
|
---|
264 |
|
---|
265 | <sect3><title>exim_dumpdb</title>
|
---|
266 | <para><command>exim_dumpdb</command> writes the contents of
|
---|
267 | <application>Exim</application> databases to the standard output.</para></sect3>
|
---|
268 |
|
---|
269 | <sect3><title>exim_fixdb</title>
|
---|
270 | <para><command>exim_fixdb</command> modifies data in
|
---|
271 | <application>Exim</application> databases.</para></sect3>
|
---|
272 |
|
---|
273 | <sect3><title>exim_tidydb</title>
|
---|
274 | <para><command>exim_tidydb</command> removes old records from
|
---|
275 | <application>Exim</application> databases.</para></sect3>
|
---|
276 |
|
---|
277 | <sect3><title>exinext</title>
|
---|
278 | <para><command>exinext</command> queries remote host retry times.</para></sect3>
|
---|
279 |
|
---|
280 | <sect3><title>exiwhat</title>
|
---|
281 | <para><command>exiwhat</command> queries running
|
---|
282 | <application>Exim</application> processes.</para></sect3>
|
---|
283 |
|
---|
284 | <sect3><title>exim_dbmbuild</title>
|
---|
285 | <para><command>exim_dbmbuild</command> creates and rebuilds
|
---|
286 | <application>Exim</application> databases.</para></sect3>
|
---|
287 |
|
---|
288 | <sect3><title>exicyclog</title>
|
---|
289 | <para><command>exicyclog</command> cycles
|
---|
290 | <application>Exim</application> log files.</para></sect3>
|
---|
291 |
|
---|
292 | <sect3><title>exigrep</title>
|
---|
293 | <para><command>exigrep</command> searches
|
---|
294 | <application>Exim</application> log files.</para></sect3>
|
---|
295 |
|
---|
296 | <sect3><title>eximstats</title>
|
---|
297 | <para><command>eximstats</command> generates mail statistics from
|
---|
298 | <application>Exim</application> log files.</para></sect3>
|
---|
299 |
|
---|
300 | <sect3><title>exiqsumm</title>
|
---|
301 | <para><command>exiqsumm</command> produces a summary of the messages in the
|
---|
302 | mail queue.</para></sect3>
|
---|
303 |
|
---|
304 | <sect3><title>exiqgrep</title>
|
---|
305 | <para><command>exiqgrep</command> is an utility for selective queue
|
---|
306 | listing.</para></sect3>
|
---|
307 |
|
---|
308 | <sect3><title>exim_lock</title>
|
---|
309 | <para><command>exim_lock</command> locks a mailbox file.</para></sect3>
|
---|
310 |
|
---|
311 | <sect3><title>exim_checkaccess</title>
|
---|
312 | <para><command>exim_checkaccess</command> states whether a given recipient
|
---|
313 | address from a given host is acceptable or not.</para></sect3>
|
---|
314 |
|
---|
315 | </sect2>
|
---|
316 |
|
---|
317 | </sect1>
|
---|
318 |
|
---|