Addition/Shared folders with dovecot 1.2

From iRedMail

(Difference between revisions)
Jump to: navigation, search
Line 53: Line 53:
* Step 4.
* Step 4.
 +
Add plugin section for ACLs in '''dovecot.conf''':
 +
{{cfg||<pre>
 +
plugin {
 +
  acl = vfile
 +
  acl_shared_dict = proxy::acl
 +
}
 +
</pre>}}
 +
 +
* Step 5.
Create the file '''/etc/dovecot-acl-shared-dict.conf''':
Create the file '''/etc/dovecot-acl-shared-dict.conf''':
{{cfg||<pre>
{{cfg||<pre>

Revision as of 08:25, 2 June 2010

Contents

Mission

Enable shared folders under iRedMail with dovecot 1.2.

Requirements

  • A properly working iRedMail system;
  • A properly working dovecot 1.2 instead of the default 1.1;

Notes

  • This article was written with a CentOS-based system in mind. Adapt it for your system.

Step-by-step configuration

  • Step 1.

Add proper namespaces to dovecot.conf:

File:
# Namespaces
namespace private {
	subscriptions = yes
	separator = /
	prefix = 
	inbox = yes
}

namespace shared {
	subscriptions = no
	separator = /
	prefix = Shared/%%u/
	location = maildir:%%Lh/Maildir:INDEX=%Lh/Maildir/Shared/%%Lu
	list = children
	hidden = no
	inbox = no
}

The private namespace is the default namespace, if it's already in the config do not add it a second time. shared is the one we need here.

  • Step 2.

Add proper ACL dictionary to dict section of dovecot.conf:

File:
dict {
    acl = mysql:/etc/dovecot-acl-shared-dict.conf
}
  • Step 3.

Add ACLs to protocol imap in dovecot.conf:

File:
protocol imap {
    [...]
    mail_plugins = quota imap_quota expire [...] acl imap_acl
    [...]
}
  • Step 4.

Add plugin section for ACLs in dovecot.conf:

File:
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
}
  • Step 5.

Create the file /etc/dovecot-acl-shared-dict.conf:

File:
connect = host=localhost dbname=vmail user=vmailadmin password=PASSWORD_HERE

map {
  pattern = shared/shared-boxes/user/$to/$from
  table = user_shares
  value_field = dummy

  fields {
    from_user = $from
    to_user = $to
  }
}
Personal tools