Quick Configuration =================== If you just want to get Dovecot running with typical configuration in a typical environment, here's what you'll have to do: Contents 1. Quick Configuration 1. TLDR; Just want it running 2. Configuration file 1. Installing from sources 2. Split configuration files 3. Hints about writing configuration files 3. Authentication 4. Mail Location 5. Mbox 6. Maildir 7. Client Workarounds 8. SSL and Plaintext Authentication 9. NFS 10. Running TLDR; Just want it running -------------------------- Here is a very simple basic configuration with single vmail user to be placed as dovecot.conf. Please note that some distros split configuration under /etc/dovecot/conf.d, which, while it can be useful, is not required. You need to create group vmail and user vmail. ---%<------------------------------------------------------------------------- mail_home=/srv/mail/%Lu mail_location=sdbox:~/Mail ## this is sometimes needed #first_valid_uid = uid-of-vmail-user # if you want to use system users passdb { driver = pam } userdb { driver = passwd args = blocking=no override_fields = uid=vmail gid=vmail } ssl=yes ssl_cert= dovecot.conf ---%<------------------------------------------------------------------------- Hints about writing configuration files --------------------------------------- * Usually it does not matter in which file you write the setting, however, later settings replace earlier ones. If you use the same section multiple times, the settings are merged together. * Before v2.3, boolean settings in the 'plugin' section interpret /any/ value as *true*, even '0', 'no' and 'false'. * To read the content of a file, for instance for the SSL certificate option, prefix the filename with a '<', e.g.: ---%<------------------------------------------------------------------------- ssl_cert = [PasswordDatabase.PAM.txt] authentication. See the [PasswordDatabase.PAM.txt] page for how to configure it. A typical configuration with Linux would be to create '/etc/pam.d/dovecot' which contains: ---%<------------------------------------------------------------------------- auth required pam_unix.so account required pam_unix.so ---%<------------------------------------------------------------------------- If you're using something else, see [PasswordDatabase.txt] and [UserDatabase.txt]. Mail Location ------------- You can let Dovecot do its automatic mail location detection, but if that doesn't work, you can set the location manually in 'mail_location' setting. See for more information. Mbox ---- Make sure that all software accessing the mboxes are using the same locking methods in the same order. The order is important to prevent deadlocking. From Dovecot's side you can change these from 'mbox_read_locks' and 'mbox_write_locks' settings. See for more information. If you're using '/var/mail/' directory for INBOXes, you may need to set 'mail_privileged_group = mail' so Dovecot can create dotlocks there. For better performance you may want to set 'mbox_very_dirty_syncs = yes' option. Maildir ------- For better performance you may want to set 'maildir_very_dirty_syncs = yes' option. Client Workarounds ------------------ Check 'imap_client_workarounds' and 'pop3_client_workarounds' and see if you want to enable more of them than the defaults. SSL and Plaintext Authentication -------------------------------- If you intend to use SSL, set 'ssl_cert' and 'ssl_key' settings. Otherwise set 'ssl = no'. Easiest way to get SSL certificates built is to use Dovecot's 'doc/mkcert.sh' script. See . By default 'disable_plaintext_auth = yes', which means that Dovecot will fail the authentication if the client doesn't use SSL (or use [Authentication.Mechanisms.txt]). This is recommended in most situations, since it prevents leaking passwords. However, if you don't offer SSL for some reason, you'll probably want to set 'disable_plaintext_auth = no'. Since v2.3.3 you only need ssl_key and ssl_cert, leaving ssl_dh unset (and removing ssl-parameters.dat if left over from 2.2) will prevent using non-EC DH algorithms. NFS --- If you're using NFS or some other remote filesystem that's shared between multiple computers, you should read . Running ------- See and . (This file was created from the wiki on 2019-06-19 12:42)