diff -r 20141b967c0b -r be0906181a10 doc/web/source/installation/dovecot_configuration.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/web/source/installation/dovecot_configuration.rst Sun Jul 29 14:46:52 2012 +0000 @@ -0,0 +1,340 @@ +===================== +Dovecot configuration +===================== +This page describes in short how to configure Dovecot. + +If you are upgrading your Dovecot installation from v1.\ **1**.x to +v1.\ **2**.x or v\ **1**.x to v\ **2**.x, you should also read Upgrading_ +in the `Dovecot wiki`_. + +Dovecot v1.x +------------ +This setup uses two configuration files. +:file:`dovecot.conf`, the MainConfig_ of the Dovecot server and +:file:`dovecot-sql.conf`, containing the settings for passdb_ and userdb_ +lookups. +For more details see also `AuthDatabase/SQL`_ in the Dovecot wiki. + +dovecot.conf +^^^^^^^^^^^^ +The following configuration example can be used as complete configuration +file. You can also adjust your existing settings. +Use :command:`dovecot -n | head -n 1` to locate your :file:`dovecot.conf`. + +.. note:: Please modify the `postmaster_address` to meet your specific needs. + +.. code-block:: text + + # all your other settings + #disable_plaintext_auth = no + mail_location = maildir:~/Maildir + first_valid_uid = 70000 + first_valid_gid = 70000 + protocol lda { + postmaster_address = postmaster@YOUR-DOMAIN.TLD + # uncomment this to use server side filtering (Dovecot v1.0.x/v1.1.x) + #mail_plugins = cmusieve + # uncomment this to use server side filtering (Dovecot v1.2.x) + #mail_plugins = sieve + } + protocol pop3 { + pop3_uidl_format = %08Xu%08Xv + } + # uncomment this to use the ManageSieve protocol, if supported by your installation + #protocol managesieve { + # # only valid with Dovecot v1.0.x/v1.1.x. + # # see also: http://wiki.dovecot.org/ManageSieve/Configuration#v1.0.2BAC8-v1.1 + # sieve = ~/.dovecot.sieve + # sieve_storage = ~/sieve + #} + auth default { + mechanisms = cram-md5 login plain + passdb sql { + args = /etc/dovecot/dovecot-sql.conf + } + userdb sql { + args = /etc/dovecot/dovecot-sql.conf + } + user = doveauth + socket listen { + master { + path = /var/run/dovecot/auth-master + mode = 0600 + } + client { + path = /var/spool/postfix/private/dovecot-auth + mode = 0660 + user = postfix + group = postfix + } + } + } + # uncomment this if you use the ManageSieve protocol with Dovecot v1.2.x + #plugin { + # # Sieve and ManageSieve settings + # # see also: http://wiki.dovecot.org/ManageSieve/Configuration#v1.2 + # sieve = ~/.dovecot.sieve + # sieve_dir = ~/sieve + #} + + +.. _dovecot-sql-conf: + +dovecot-sql.conf +^^^^^^^^^^^^^^^^ +This lines contains all information that are required by Dovecot to access +the database and to do the lookups in passdb and userdb. + +.. code-block:: text + + driver = pgsql + connect = host=localhost dbname=mailsys user=dovecot password=$Dovecot_PASS + default_pass_scheme = CRAM-MD5 + password_query = SELECT userid AS "user", password FROM dovecotpassword('%Ln', '%Ld') WHERE %Ls + user_query = SELECT SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') + +Dovecot v2.x +------------ +Beginning with Dovecot version 2.0 the configuration was split into multiple +files. +It isn't required to use multiple configuration files. +:file:`dovecot.conf` is still the most important configuration file. +Use the command :command:`doveconf -n | head -n 1` to locate your +:file:`dovecot.conf`. +You could put all settings in your :file:`dovecot.conf`. +You can also include multiple files into your :file:`dovecot.conf`. + +I personally prefer it to comment out most of the :file:`dovecot.conf` +and include only my :file:`local.conf`, which contains all the necessary +settings. +You can download my :download:`local.conf <../_static/local.conf>` and use +it in your setup. + +If you want to use multiple configuration files, you have to apply the +following settings to the configuration files mentioned down below. +Everything that isn't mentioned, was commented out. + +.. _dovecot2.conf: + +dovecot.conf +^^^^^^^^^^^^ +.. code-block:: text + + protocols = imap lmtp + # uncomment if your users should be able to manage their sieve scripts + #protocols = imap lmtp sieve + + # uncomment if you want to use the quota plugin + #dict { + # quota = pgsql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext + #} + +See also :ref:`dovecot-dict-sql-conf-ext` below. + +.. warning:: Adjust the paths of the :file:`dovecot-dict-sql.conf.ext` + (above) and :file:`dovecot-sql.conf.ext` (below) files to suit your needs. + + +.. _conf-d-10-auth-conf: + +conf.d/10-auth.conf +^^^^^^^^^^^^^^^^^^^ +.. code-block:: text + + auth_mechanisms = plain login cram-md5 + passdb { + driver = sql + args = /usr/local/etc/dovecot/dovecot-sql.conf.ext + } + userdb { + driver = sql + args = /usr/local/etc/dovecot/dovecot-sql.conf.ext + } + #!include auth-system.conf.ext + +See also :ref:`dovecot-sql-conf-ext` below. + + +conf.d/10-mail.conf +^^^^^^^^^^^^^^^^^^^ +.. code-block:: text + + first_valid_gid = 70000 + first_valid_uid = 70000 + mail_access_groups = dovemail + mail_location = maildir:~/Maildir + + # uncomment if you want to use the quota plugin + #mail_plugins = quota + +conf.d/10-master.conf +^^^^^^^^^^^^^^^^^^^^^ +.. code-block:: text + + # if you don't want to use secure imap, you have to disable the imaps listener + ##service imap-login { + ## inet_listener imaps { + ## port = 0 + ## } + ##} + + service lmtp { + unix_listener /var/spool/postfix/private/dovecot-lmtp { + user = postfix + group = postfix + mode = 0600 + } + } + + service auth { + user = doveauth + unix_listener auth-userdb { + } + unix_listener /var/spool/postfix/private/dovecot-auth { + user = postfix + group = postfix + mode = 0600 + } + } + + service auth-worker { + unix_listener auth-worker { + user = doveauth + group = $default_internal_user + mode = 0660 + } + user = doveauth + } + + service dict { + unix_listener dict { + group = dovemail + mode = 0660 + } + } + +conf.d/10-ssl.conf +^^^^^^^^^^^^^^^^^^ +.. code-block:: text + + # SSL/TLS support: yes, no, required. + #ssl = yes + + ssl_cert =