source: server/mail/dovecot.xml@ dc5e184

11.0 11.1 11.2 lazarus plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since dc5e184 was dc5e184, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Tags dovecot and exim

  • Property mode set to 100644
File size: 13.2 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 dovecot-download-http
8 "https://www.dovecot.org/releases/&dovecot-major;.&dovecot-minor;/dovecot-&dovecot-version;.tar.gz">
9 <!ENTITY dovecot-download-ftp " ">
10 <!ENTITY dovecot-md5sum "946dc6a89db0d11d0061f0d4447263dc">
11 <!ENTITY dovecot-size "7.3 MB">
12 <!ENTITY dovecot-buildsize "205 MB">
13 <!ENTITY dovecot-time "4.8 SBU">
14]>
15
16<sect1 id="dovecot" xreflabel="Dovecot-&dovecot-version;">
17 <?dbhtml filename="dovecot.html"?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Dovecot-&dovecot-version;</title>
24
25 <indexterm zone="dovecot">
26 <primary sortas="a-Dovecot">Dovecot</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Dovecot</title>
31
32 <para>
33 <application>Dovecot</application> is an Internet Message Access Protocol
34 (IMAP) and Post Office Protocol (POP) server, written primarily with
35 security in mind. <application>Dovecot</application> aims to be
36 lightweight, fast and easy to set up as well as highly configurable and
37 easily extensible with plugins.
38 </para>
39
40 &lfs110_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&dovecot-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&dovecot-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &dovecot-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &dovecot-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &dovecot-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &dovecot-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Required patch:
81 <ulink url="&patch-root;/dovecot-&dovecot-version;-lua_fixes-1.patch"/>
82 </para>
83 </listitem>
84 </itemizedlist>
85
86
87 <bridgehead renderas="sect3">Dovecot Dependencies</bridgehead>
88
89 <bridgehead renderas="sect4">Required</bridgehead>
90 <para role="required">
91 <xref linkend="libtirpc"/>
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <xref linkend="clucene"/>,
97 <xref linkend="icu"/>,
98 <xref linkend="libcap-pam"/>,
99 <xref linkend="linux-pam"/>,
100 <xref linkend="lua"/>,
101 <xref linkend="mariadb"/> or <ulink url="http://www.mysql.com/">MySQL</ulink>,
102 <xref linkend="openldap"/>,
103 <xref linkend="postgresql"/>,
104 <xref linkend="sqlite"/>,
105 <xref linkend="valgrind"/>,
106 <xref linkend="xfsprogs"/>,
107 <ulink url="https://cassandra.apache.org/">Cassandra</ulink>,
108 <ulink url="https://github.com/Cyan4973/lz4">lz4</ulink>,
109 <ulink url="https://github.com/shibukawa/snowball_py">stemmer</ulink> and
110 <ulink url="https://libsodium.gitbook.io/doc/">libsodium</ulink>
111 </para>
112
113 <para condition="html" role="usernotes">User Notes:
114 <ulink url="&blfs-wiki;/dovecot"/>
115 </para>
116 </sect2>
117
118 <sect2 role="installation">
119 <title>Installation of Dovecot</title>
120
121 <para>
122 There should be dedicated users and groups for unprivileged Dovecot
123 processes and for processing users' logins. Issue the following commands
124 as the <systemitem class="username">root</systemitem> user:
125 </para>
126
127<screen role="root"><userinput>groupadd -g 42 dovecot &amp;&amp;
128useradd -c "Dovecot unprivileged user" -d /dev/null -u 42 \
129 -g dovecot -s /bin/false dovecot &amp;&amp;
130groupadd -g 43 dovenull &amp;&amp;
131useradd -c "Dovecot login user" -d /dev/null -u 43 \
132 -g dovenull -s /bin/false dovenull</userinput></screen>
133
134 <para>
135 First, apply a patch to fix compilation with Lua-5.4:
136 </para>
137
138<screen><userinput remap="pre">patch -Np1 -i ../dovecot-&dovecot-version;-lua_fixes-1.patch</userinput></screen>
139
140
141 <para>
142 Install <application>Dovecot</application> by running the following
143 commands:
144 </para>
145
146<screen revision="sysv"><userinput>CPPFLAGS="-I/usr/include/tirpc" \
147LDFLAGS+=" -ltirpc" \
148./configure --prefix=/usr \
149 --sysconfdir=/etc \
150 --localstatedir=/var \
151 --docdir=/usr/share/doc/dovecot-&dovecot-version; \
152 --disable-static &amp;&amp;
153make</userinput></screen>
154
155<screen revision="systemd"><userinput>CPPFLAGS="-I/usr/include/tirpc" \
156LDFLAGS+=" -ltirpc" \
157./configure --prefix=/usr \
158 --sysconfdir=/etc \
159 --localstatedir=/var \
160 --docdir=/usr/share/doc/dovecot-&dovecot-version; \
161 --disable-static &amp;&amp;
162make</userinput></screen>
163
164 <para>
165 To test the results, issue <command>make -k check</command>. <!-- An error
166 may be reported if <xref linkend="valgrind"/> is present when running
167 the test.-->
168 </para>
169
170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
173
174<screen role="root"><userinput>make install</userinput></screen>
175
176 </sect2>
177
178 <sect2 role="commands">
179 <title>Command Explanations</title>
180
181 <para>
182 <command>CPPFLAGS=... LDFLAGS+=...</command>: build with libtirpc
183 instead of the recently removed RPC code provided by GlibC.
184 </para>
185
186 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
187 href="../../xincludes/static-libraries.xml"/>
188
189 <!-- With merged-/usr, /usr/lib/systemd/system is set by default.
190 <para revision="systemd">
191 <parameter>- -with-systemdsystemunitdir=/lib/systemd/system</parameter>:
192 This switch is used to set the correct installation directory for
193 systemd units.
194 </para>
195 -->
196
197 <para>
198 <option>--with-ldap</option>: This switch enables
199 <application>OpenLDAP</application> authentication support.
200 </para>
201
202 <para>
203 <option>--with-pgsql</option>: This switch enables
204 <application>PostgreSQL</application> database support.
205 </para>
206
207 <para>
208 <option>--with-mysql</option>: This switch enables
209 <application>MySQL</application> database support.
210 </para>
211
212 <para>
213 <option>--with-sqlite</option>: This switch enables
214 <application>SQLite</application> database support.
215 </para>
216
217 <para>
218 <option>--with-lucene</option>: This switch enables
219 <application>CLucene</application> full text search support.
220 </para>
221
222 <para>
223 <option>--with-lua</option>: This switch enables
224 <application>Lua</application> plugin support. This includes
225 a mail and push notification plugin.
226 </para>
227
228<!--
229 <para>
230 <option>- -with-krb5</option>: This switch enables
231 GSSAPI authentication support.
232 </para>
233-->
234 </sect2>
235
236 <sect2 role="configuration">
237 <title>Configuring Dovecot</title>
238
239 <sect3 id="dovecot-config">
240 <title>Config Files</title>
241
242 <para>
243 <filename>/etc/dovecot/dovecot.conf</filename>,
244 <filename>/etc/dovecot/conf.d/*</filename>, and
245 <filename>/etc/dovecot/local.conf</filename>
246 </para>
247
248 <indexterm zone="dovecot dovecot-config">
249 <primary sortas="e-etc-dovecot-dovecot.conf">/etc/dovecot/dovecot.conf</primary>
250 </indexterm>
251 <indexterm zone="dovecot dovecot-config">
252 <primary sortas="e-etc-dovecot-conf.d">/etc/dovecot/conf.d/*</primary>
253 </indexterm>
254 <indexterm zone="dovecot dovecot-config">
255 <primary sortas="e-etc-dovecot-local.conf">/etc/dovecot/local.conf</primary>
256 </indexterm>
257
258 </sect3>
259
260 <sect3>
261 <title>Configuration Information</title>
262
263 <para>
264 Copy an example configuration, which you can use as a starting point:
265 </para>
266
267<screen role="root"><userinput>cp -rv /usr/share/doc/dovecot-&dovecot-version;/example-config/* /etc/dovecot</userinput></screen>
268
269 <para>
270 The following configuration is a simple proof of concept with IMAP
271 service using local users for authentication and mailbox location.
272 Reading files from the <filename class="directory">conf.d</filename>
273 directory is commented out since the included example configuration
274 requires <application>OpenSSL</application> and
275 <application>Linux PAM</application>.
276 </para>
277
278<screen role="root"><userinput>sed -i '/^\!include / s/^/#/' /etc/dovecot/dovecot.conf &amp;&amp;
279chmod -v 1777 /var/mail &amp;&amp;
280cat &gt; /etc/dovecot/local.conf &lt;&lt; "EOF"
281<literal>protocols = imap
282ssl = no
283# The next line is only needed if you have no IPv6 network interfaces
284listen = *
285mail_location = mbox:~/Mail:INBOX=/var/mail/%u
286userdb {
287 driver = passwd
288}
289passdb {
290 driver = shadow
291}</literal>
292EOF</userinput></screen>
293
294 <para>
295 You will definitely want to read the official documentation at <ulink
296 url="http://wiki2.dovecot.org/"/> if you plan to use
297 <application>Dovecot</application> in a production environment.
298 </para>
299
300 </sect3>
301
302 <sect3 id="dovecot-init">
303 <title><phrase revision="sysv">Boot Script</phrase>
304 <phrase revision="systemd">Systemd Unit</phrase></title>
305
306 <para revision="sysv">
307 If you want the <application>Dovecot</application>
308 server to start automatically when the system is booted, install the
309 <filename>/etc/rc.d/init.d/dovecot</filename> init script included in
310 the <xref linkend="bootscripts"/> package.
311 </para>
312
313 <para revision="systemd">
314 To start the <command>dovecot</command>
315 daemon at boot, enable the previously installed systemd unit with the
316 following command:
317 </para>
318
319 <indexterm zone="dovecot dovecot-init">
320 <primary sortas="f-dovecot">dovecot</primary>
321 </indexterm>
322
323<screen role="root" revision="sysv"><userinput>make install-dovecot</userinput></screen>
324
325<screen role="root" revision="systemd"><userinput>systemctl enable dovecot</userinput></screen>
326
327 </sect3>
328
329 </sect2>
330
331 <sect2 role="content">
332 <title>Contents</title>
333
334 <segmentedlist>
335 <segtitle>Installed Programs</segtitle>
336 <segtitle>Installed Libraries</segtitle>
337 <segtitle>Installed Directories</segtitle>
338
339 <seglistitem>
340 <seg>
341 doveadm, doveconf, dovecot, dovecot-sysreport, and dsync (symbolic link)
342 </seg>
343 <seg>
344 various internal plugins in
345 <filename class="directory">/usr/lib/dovecot</filename>
346 </seg>
347 <seg>
348 /etc/dovecot,
349 /usr/{include,lib,libexec,share}/dovecot and
350 /usr/share/doc/dovecot-&dovecot-version;
351 </seg>
352 </seglistitem>
353 </segmentedlist>
354
355 <variablelist>
356 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
357 <?dbfo list-presentation="list"?>
358 <?dbhtml list-presentation="table"?>
359
360 <varlistentry id="doveadm">
361 <term><command>doveadm</command></term>
362 <listitem>
363 <para>
364 is the <application>Dovecot</application> administration tool
365 </para>
366 <indexterm zone="dovecot doveadm">
367 <primary sortas="b-doveadm">doveadm</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="doveconf">
373 <term><command>doveconf</command></term>
374 <listitem>
375 <para>
376 is <application>Dovecot</application>'s configuration dumping
377 utility
378 </para>
379 <indexterm zone="dovecot doveconf">
380 <primary sortas="b-doveconf">doveconf</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="dovecot-prog">
386 <term><command>dovecot</command></term>
387 <listitem>
388 <para>
389 is the IMAP and POP server
390 </para>
391 <indexterm zone="dovecot dovecot-prog">
392 <primary sortas="b-dovecot">dovecot</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="dovecot-sysreport">
398 <term><command>dovecot-sysreport</command></term>
399 <listitem>
400 <para>
401 prints system information that is useful to the Dovecot developers
402 when submitting bug reports upstream
403 </para>
404 <indexterm zone="dovecot dovecot-sysreport">
405 <primary sortas="b-dovecot-sysreport">dovecot-sysreport</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="dsync">
411 <term><command>dsync</command></term>
412 <listitem>
413 <para>
414 is <application>Dovecot</application>'s mailbox synchronization
415 utility
416 </para>
417 <indexterm zone="dovecot dsync">
418 <primary sortas="b-dsync">dsync</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423
424 </variablelist>
425
426 </sect2>
427
428</sect1>
Note: See TracBrowser for help on using the repository browser.