Addition/Shared folders with dovecot 1.2
From iRedMail
(Difference between revisions)
| Line 86: | Line 86: | ||
`dummy` char(1) default NULL, | `dummy` char(1) default NULL, | ||
PRIMARY KEY (`from_user`,`to_user`) | PRIMARY KEY (`from_user`,`to_user`) | ||
| - | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | + | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
</pre>}} | </pre>}} | ||
Revision as of 08:40, 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
}
}
|
- Step 6.
Create table user_shares in vmail database:
| Terminal: |
CREATE TABLE `user_shares` ( `from_user` varchar(100) NOT NULL, `to_user` varchar(100) NOT NULL, `dummy` char(1) default NULL, PRIMARY KEY (`from_user`,`to_user`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
