source: server/mail/dovecot.xml@ eb7de89

10.0 10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since eb7de89 was eb7de89, checked in by Douglas R. Reno <renodr@…>, 16 months ago

Update to lua-5.4.0
VIM: Adapt Lua interface to Lua-5.4
Apache/httpd: Adapt Lua module to Lua-5.4
Brotli: Remove invalid dependency on lua, there is a separate package that provides one, and it's not bundled with our download of Brotli
Dovecot: Add a command explanation describing how to build Lua support
Lua-5.2: Minor adjustment to installed files
Hexchat: Promote libcanberra to recommended

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

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