source: server/mail/dovecot-systemd.xml@ d7342ba

systemd-11177
Last change on this file since d7342ba was d7342ba, checked in by Krejzi <krejzi@…>, 10 years ago

Package checks, tweaks and updates.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@14044 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.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 "http://www.dovecot.org/releases/&dovecot-major;.&dovecot-minor;/dovecot-&dovecot-version;.tar.gz">
9 <!ENTITY dovecot-download-ftp " ">
10 <!ENTITY dovecot-md5sum "a3eb1c0b1822c4f2b0fe9247776baa71">
11 <!ENTITY dovecot-size "4.4 MB">
12 <!ENTITY dovecot-buildsize "203 MB">
13 <!ENTITY dovecot-time "1.6 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 &lfs76_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">Optional</bridgehead>
80 <para role="optional">
81 <xref linkend="openssl"/>,
82 <xref linkend="linux-pam"/>,
83 <xref linkend="openldap"/>,
84 <xref linkend="postgresql"/>,
85 <xref linkend="mariadb"/>,
86 <xref linkend="sqlite"/>, and
87 <xref linkend="clucene"/>
88 </para>
89
90 <para condition="html" role="usernotes">User Notes:
91 <ulink url="&blfs-wiki;/dovecot"/>
92 </para>
93 </sect2>
94
95 <sect2 role="installation">
96 <title>Installation of Dovecot</title>
97
98 <para>
99 There should be dedicated users and groups for unprivileged Dovecot
100 processes and for processing users' logins. Issue the following commands
101 as the <systemitem class="username">root</systemitem> user:
102 </para>
103
104<screen role="root"><userinput>groupadd -g 42 dovecot &amp;&amp;
105useradd -c "Dovecot unprivileged user" -d /dev/null -u 42 \
106 -g dovecot -s /bin/false dovecot &amp;&amp;
107groupadd -g 43 dovenull &amp;&amp;
108useradd -c "Dovecot login user" -d /dev/null -u 43 \
109 -g dovenull -s /bin/false dovenull</userinput></screen>
110
111 <para>
112 Install <application>Dovecot</application> by running the following
113 commands:
114 </para>
115
116<screen><userinput>./configure --prefix=/usr \
117 --sysconfdir=/etc \
118 --localstatedir=/var \
119 --docdir=/usr/share/doc/dovecot-&dovecot-version; \
120 --disable-static \
121 --with-systemdsystemunitdir=/lib/systemd/system &amp;&amp;
122make</userinput></screen>
123
124 <para>To test the results, issue <command>make check</command>.</para>
125
126 <para>
127 Now, as the <systemitem class="username">root</systemitem> user:
128 </para>
129
130<screen role="root"><userinput>make install</userinput></screen>
131
132 </sect2>
133
134 <sect2 role="commands">
135 <title>Command Explanations</title>
136
137 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
138 href="../../xincludes/static-libraries.xml"/>
139
140 <para>
141 <parameter>--with-systemdsystemunitdir=/lib/systemd/system</parameter>:
142 This switch is used to set the correct installation directory for
143 systemd units.
144 </para>
145
146 <para>
147 <option>--with-ldap</option>: This switch enables
148 <application>OpenLDAP</application> authentication support.
149 </para>
150
151 <para>
152 <option>--with-pgsql</option>: This switch enables
153 <application>PostgreSQL</application> authentication support.
154 </para>
155
156 <para>
157 <option>--with-mysql</option>: This switch enables
158 <application>MySQL</application> authentication support.
159 </para>
160
161 <para>
162 <option>--with-sqlite</option>: This switch enables
163 <application>SQLite</application> authentication support.
164 </para>
165
166 <para>
167 <option>--with-lucene</option>: This switch enables
168 <application>CLucene</application> full text search support.
169 </para>
170
171 </sect2>
172
173 <sect2 role="configuration">
174 <title>Configuring Dovecot</title>
175
176 <sect3 id="dovecot-config">
177 <title>Config Files</title>
178
179 <para>
180 <filename>/etc/dovecot/dovecot.conf</filename>,
181 <filename>/etc/dovecot/conf.d/*</filename>, and
182 <filename>/etc/dovecot/local.conf</filename>
183 </para>
184
185 <indexterm zone="dovecot dovecot-config">
186 <primary sortas="e-etc-dovecot-dovecot.conf">/etc/dovecot/dovecot.conf</primary>
187 </indexterm>
188 <indexterm zone="dovecot dovecot-config">
189 <primary sortas="e-etc-dovecot-conf.d">/etc/dovecot/conf.d/*</primary>
190 </indexterm>
191 <indexterm zone="dovecot dovecot-config">
192 <primary sortas="e-etc-dovecot-local.conf">/etc/dovecot/local.conf</primary>
193 </indexterm>
194
195 </sect3>
196
197 <sect3>
198 <title>Configuration Information</title>
199
200 <para>
201 Copy an example configuration, which you can use as a starting point:
202 </para>
203
204<screen role="root"><userinput>cp -rv /usr/share/doc/dovecot-&dovecot-version;/example-config/* /etc/dovecot</userinput></screen>
205
206 <para>
207 The following configuration is a simple proof of concept with IMAP
208 service using local users for authentication and mailbox location.
209 Reading files from the <filename class="directory">conf.d</filename>
210 directory is commented out since the included example configuration
211 requires <application>OpenSSL</application> and
212 <application>Linux PAM</application>.
213 </para>
214
215<screen role="root"><userinput>sed -i '/^\!include / s/^/#/' /etc/dovecot/dovecot.conf &amp;&amp;
216chmod -v 1777 /var/mail &amp;&amp;
217cat &gt; /etc/dovecot/local.conf &lt;&lt; "EOF"
218<literal>protocols = imap
219ssl = no
220# The next line is only needed if you have no IPv6 network interfaces
221listen = *
222mail_location = mbox:~/Mail:INBOX=/var/mail/%u
223userdb {
224 driver = passwd
225}
226passdb {
227 driver = shadow
228}</literal>
229EOF</userinput></screen>
230
231 <para>
232 You will definitely want to read the official documentation at <ulink
233 url="http://wiki2.dovecot.org/"/> if you plan to use
234 <application>Dovecot</application> in production environment.
235 </para>
236
237 </sect3>
238
239 <sect3 id="dovecot-init">
240 <title>Systemd Units</title>
241
242 <para>
243 To start the <command>dovecot</command> daemon at boot,
244 install the systemd unit from the <xref linkend="bootscripts"/>
245 package by running the following command as the
246 <systemitem class="username">root</systemitem> user:
247 </para>
248
249 <indexterm zone="dovecot dovecot-init">
250 <primary sortas="f-dovecot">dovecot</primary>
251 </indexterm>
252
253<screen role="root"><userinput>systemctl enable dovecot</userinput></screen>
254
255 </sect3>
256
257 </sect2>
258
259 <sect2 role="content">
260 <title>Contents</title>
261
262 <segmentedlist>
263 <segtitle>Installed Programs</segtitle>
264 <segtitle>Installed Libraries</segtitle>
265 <segtitle>Installed Directories</segtitle>
266
267 <seglistitem>
268 <seg>
269 doveadm, doveconf, dovecot, dsync, and various internal programs
270 </seg>
271 <seg>
272 various internal plugins
273 </seg>
274 <seg>
275 /etc/dovecot,
276 /usr/include/dovecot,
277 /usr/lib/dovecot,
278 /usr/libexec/dovecot, and
279 /usr/share/doc/dovecot-&dovecot-version;
280 </seg>
281 </seglistitem>
282 </segmentedlist>
283
284 <variablelist>
285 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
286 <?dbfo list-presentation="list"?>
287 <?dbhtml list-presentation="table"?>
288
289 <varlistentry id="doveadm">
290 <term><command>doveadm</command></term>
291 <listitem>
292 <para>
293 is the <application>Dovecot</application> administration tool.
294 </para>
295 <indexterm zone="dovecot doveadm">
296 <primary sortas="b-doveadm">doveadm</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="doveconf">
302 <term><command>doveconf</command></term>
303 <listitem>
304 <para>
305 is <application>Dovecot</application>'s configuration dumping
306 utility.
307 </para>
308 <indexterm zone="dovecot doveconf">
309 <primary sortas="b-doveconf">doveconf</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 <varlistentry id="dovecot-prog">
315 <term><command>dovecot</command></term>
316 <listitem>
317 <para>
318 is the IMAP and POP server.
319 </para>
320 <indexterm zone="dovecot dovecot-prog">
321 <primary sortas="b-dovecot">dovecot</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="dsync">
327 <term><command>dsync</command></term>
328 <listitem>
329 <para>
330 is <application>Dovecot</application>'s mailbox synchronization
331 utility.
332 </para>
333 <indexterm zone="dovecot dsync">
334 <primary sortas="b-dsync">dsync</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339
340 </variablelist>
341
342 </sect2>
343
344</sect1>
Note: See TracBrowser for help on using the repository browser.