source: server/mail/dovecot.xml@ 45ab6c7

11.0 qt5new trunk
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 5 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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