doc/web/source/installation/postfix_configuration.rst
author Pascal Volk <user@localhost.localdomain.org>
Sat, 01 Feb 2014 17:12:15 +0000
changeset 705 9149e0249c25
parent 697 61aaa7a98ec0
permissions -rw-r--r--
update_config: Updated to work with version 0.6.1.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
579
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     1
=====================
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     2
Postfix configuration
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     3
=====================
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     4
This page mentions all Postfix configuration parameters, which have to be
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     5
modified and/or added in/to the Postfix :file:`main.cf`.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     6
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     7
main.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     8
-------
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
     9
Add or replace the following configuration parameters in the global Postfix
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    10
configuration file.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    11
The Postfix PostgreSQL client configuration files (:file:`pgsql-{*}.cf`)
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    12
mentioned below will be created when vmm will be installed.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    13
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    14
.. code-block:: text
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    15
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    16
 sql      = pgsql:${config_directory}/
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    17
 proxysql = proxy:${sql}
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    18
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    19
 # relocated users from the database
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    20
 #relocated_maps = ${proxysql}pgsql-relocated_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    21
 
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    22
 # transport settings from our database
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    23
 transport_maps = ${proxysql}pgsql-transport_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    24
 
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    25
 # virtual domains, mailboxes and aliases
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    26
 virtual_mailbox_domains = ${proxysql}pgsql-virtual_mailbox_domains.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    27
 virtual_alias_maps = ${proxysql}pgsql-virtual_alias_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    28
 virtual_minimum_uid = 70000
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    29
 virtual_uid_maps = ${sql}pgsql-virtual_uid_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    30
 virtual_gid_maps = ${sql}pgsql-virtual_gid_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    31
 virtual_mailbox_base = /
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    32
 virtual_mailbox_maps = ${proxysql}pgsql-virtual_mailbox_maps.cf
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    33
 
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    34
 # dovecot LDA (only recommended with Dovecot v1.x)
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    35
 #dovecot_destination_recipient_limit = 1
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    36
 #virtual_transport = dovecot:
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    37
 
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    38
 # dovecot lmtp (requires Dovecot ≧ v2.0.0)
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    39
 virtual_transport = lmtp:unix:private/dovecot-lmtp
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    40
 
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    41
 # dovecot SASL
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    42
 smtpd_sasl_type = dovecot
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    43
 smtpd_sasl_path = private/dovecot-auth
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    44
 smtpd_sasl_auth_enable = yes
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    45
 # Keep smtpd_sasl_local_domain identical to Dovecot's auth_default_realm:
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    46
 # empty. Both are empty by default. Let it commented out.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    47
 # Read more at: http://wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    48
 #smtpd_sasl_local_domain =
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    49
 smtpd_sasl_security_options = noplaintext, noanonymous
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    50
 #broken_sasl_auth_clients = yes
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    51
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    52
 smtpd_recipient_restrictions =
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    53
  permit_mynetworks
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    54
  permit_sasl_authenticated
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    55
  reject_unauth_destination
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    56
634
6f1aba75b693 doc/web: Fixed a typo.
Pascal Volk <user@localhost.localdomain.org>
parents: 579
diff changeset
    57
master.cf
6f1aba75b693 doc/web: Fixed a typo.
Pascal Volk <user@localhost.localdomain.org>
parents: 579
diff changeset
    58
---------
579
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    59
.. note:: This step is only necessary if you are still using Dovecot v\ **1**.x
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    60
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    61
Add the service `dovecot` to Postfix's master process configuration file.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    62
Append this lines:
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    63
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    64
.. code-block:: text
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    65
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    66
 dovecot   unix  -       n       n       -       -       pipe
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    67
  flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver -f ${sender}
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    68
  -d ${user}@${nexthop} -n -m ${extension}
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    69
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    70
The command of the `argv` attribute points to the
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    71
:ref:`root SETUID copy of deliver <root-setuid-copy-of-deliver>`.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    72
For more details about the `flags` used above see: `pipe(8)`_.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    73
All other arguments are explained in the Dovecot LDA_ documentation.
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    74
697
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    75
Using Dovecot's LMTP
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    76
--------------------
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    77
In order to use Dovecot's LMTP_ as `virtual_transport` with Postfix make sure
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    78
you have have:
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    79
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    80
`lmtp` in your `protocols` setting (:ref:`dovecot2.conf`)
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    81
 ‣ configured a `lmtp` listener: `service lmtp {}`
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    82
   (:ref:`conf-d-10-master.conf`)
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    83
 ‣ set `lmtp:unix:private/dovecot-lmtp` as the `domain.transport` in your
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    84
   :file:`vmm.cfg`.
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    85
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    86
If you want to switch the transport of existing domains and/or accounts, you
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    87
can use the subcommands :ref:`domaintransport` and :ref:`usertransport`.
61aaa7a98ec0 doc/web: Added a note about using Dovecot's LMTP with Postfix.
Pascal Volk <user@localhost.localdomain.org>
parents: 634
diff changeset
    88
579
be0906181a10 doc: Added source of http://vmm.localdomain.org/.
Pascal Volk <user@localhost.localdomain.org>
parents:
diff changeset
    89
.. include:: ../ext_references.rst