source: server/mail/dovecot.xml@ 02d08be

11.2 11.3 12.0 12.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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 02d08be was c2051dbd, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Five Security Updates:

Update to node.js-16.16.0
Update to php-8.1.8
Add security patch for Dovecot (fixes CVE-2022-30550)
Update to seamonkey-2.53.13
Update to gnupg-2.3.7
Mark git as a security update

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