source: server/mail/dovecot.xml@ 4ef48c0c

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 4ef48c0c was 101d6ddc, checked in by Douglas R. Reno <renodr@…>, 16 months ago

Tag Dovecot!

Off to GNOME, and maybe vsftpd if it's not tagged when I'm done

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