diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2010-08-08 17:51:29 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2010-08-08 17:51:29 -0300 |
commit | 681787bc89c90be80806c70f7d6cbb2c15fbc82d (patch) | |
tree | 7c875a36c579cbd474d5a3abd0096aa491d6300e /manifests | |
parent | 4dab103414b87ef8daf6df195bcd9feba41205ea (diff) | |
download | puppet-mail-681787bc89c90be80806c70f7d6cbb2c15fbc82d.tar.gz puppet-mail-681787bc89c90be80806c70f7d6cbb2c15fbc82d.tar.bz2 |
Using dovecot as LDA
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/dovecot.pp | 2 | ||||
-rw-r--r-- | manifests/system.pp | 51 |
2 files changed, 37 insertions, 16 deletions
diff --git a/manifests/dovecot.pp b/manifests/dovecot.pp index 4eca941..0ced8e1 100644 --- a/manifests/dovecot.pp +++ b/manifests/dovecot.pp @@ -8,7 +8,7 @@ class mail::dovecot { file { "/etc/dovecot/dovecot.conf": ensure => present, owner => root, - group => root, + group => vmail, mode => 0644, source => "puppet://$server/modules/mail/dovecot/dovecot.conf", notify => Service['dovecot'], diff --git a/manifests/system.pp b/manifests/system.pp index 29bac39..4f8f20c 100644 --- a/manifests/system.pp +++ b/manifests/system.pp @@ -1,7 +1,8 @@ class mail::system { - $postfix_smtp_listen = "all" - $postfix_use_amavisd = "yes" - $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost' + $postfix_smtp_listen = "all" + $postfix_use_amavisd = "yes" + $postfix_use_dovecot_lda = "yes" + $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost' case $postfix_mynetworks { '': { $postfix_mynetworks = "127.0.0.0/8" } @@ -46,14 +47,19 @@ class mail::system { # Postfix configuration postfix::config { - "mydomain": value => "$domain"; - "myhostname": value => "$fqdn"; - "mydestination": value => "$postfix_mydestination"; - "mynetworks": value => "$postfix_mynetworks"; - "relay_domains": value => "$domain"; - "transport_maps": value => "hash:/etc/postfix/transport"; - "mailbox_command": value => '/usr/bin/maildrop -d ${USER}'; - "virtual_mailbox_base": value => '/var/mail/virtual'; + "mydomain": value => "$domain"; + "myhostname": value => "$fqdn"; + "mydestination": value => "$postfix_mydestination"; + "mynetworks": value => "$postfix_mynetworks"; + "relay_domains": value => "$domain"; + "transport_maps": value => "hash:/etc/postfix/transport"; + "mailbox_command": value => '/usr/bin/maildrop -d ${USER}'; + "virtual_mailbox_base": value => '/var/mail/virtual'; + "virtual_uid_maps": value => 'static:5000'; + "virtual_gid_maps": value => 'static:5000'; + "virtual_transport": value => 'dovecot'; + "dovecot_destination_recipient_limit": value => '1'; + "recipient_delimiter": value => '+'; } postfix::hash { "/etc/postfix/virtual": @@ -70,9 +76,24 @@ class mail::system { # Virtual mailboxes file { '/var/mail/virtual': - ensure => directory, - owner => root, - group => mail, - mode => 0770, + ensure => directory, + owner => vmail, + group => vmail, + mode => 0750, + require => User['vmail'], + } + + group { "vmail": + ensure => present, + gid => 5000, + } + + user { "vmail": + ensure => present, + uid => 5000, + gid => "vmail", + password => "*", + home => '/var/mail/virtual', + require => Group['vmail'], } } |