Upgrade/iRedMail/0.8.0-0.8.1

From iRedMail

(Difference between revisions)
Jump to: navigation, search
(PostgreSQL backend special)
(Deliver emails to mail list members without enabledService=smtp)
Line 33: Line 33:
* Restarting Postfix service is required.
* Restarting Postfix service is required.
 +
 +
 +
== Add new attribute/value required by IMAP share folder in Dovecot-2: enabledService=lib-storage ==
 +
 +
Dovecot-2.x requires '''enabledService=lib-storage''' for IMAP folder sharing. Below steps are used to add it for all mail users.
 +
 +
Steps:
 +
* Download python script used to adding missing values.
 +
{{cmd|<pre>
 +
# cd /root/
 +
# wget https://bitbucket.org/zhb/iredmail/raw/cb7d2492563d/extra/update/updateLDAPValues_080_to_081.py
 +
</pre>}}
 +
 +
* Open '''updateLDAPValues_080_to_081.py''', config LDAP server related settings in file head. e.g.
 +
{{cfg|updateLDAPValues_080_to_081.py|<pre>
 +
uri = 'ldap://127.0.0.1:389'
 +
basedn = 'o=domains,dc=iredmail,dc=org'
 +
bind_dn = 'cn=vmailadmin,dc=iredmail,dc=org'
 +
bind_pw = 'passwd'
 +
</pre>}}
 +
 +
Tip:
 +
** You can find them in iRedAdmin config file or '''iRedMail.tips''' file under your iRedMail installation directory.
 +
** Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.
 +
 +
* Execute this script, it will add missing values for mail accounts:
 +
{{cmd|<pre>
 +
# python updateLDAPValues_080_to_081.py
 +
</pre>}}
= MySQL backend special =
= MySQL backend special =

Revision as of 01:56, 18 May 2012

Contents


THIS IS STILL A DRAFT, DO NOT APPLY BELOW STEPS.

OpenLDAP backend special

Deliver emails to mail list members without enabledService=smtp

With default Postfix settings in iRedMail-0.7.4 and earlier versions, if a mail user is not allowed to use SMTP service to send out email (without enabledService=smtp), he/she cannot receive emails which delivered to the mail lists which he/she is belong to. Below steps fix this issue.

  • Edit Postfix config file, main.cf, update virtual_alias_maps to replace sender_login_maps.cf by virtual_group_members_maps.cf:
    • On Linux and OpenBSD, it's /etc/postfix/main.cf.
    • On FreeBSD, it's /usr/local/etc/postfix/main.cf. And you should use /usr/local/etc/postfix/ldap/virtual_group_members_maps.cf in Postfix setting described below.
File: main.cf
# OLD SETTING
#virtual_alias_maps = ..., proxy:ldap:/etc/postfix/ldap/sender_login_maps.cf, ...

# NEW SETTING
virtual_alias_maps = ..., proxy:ldap:/etc/postfix/ldap/virtual_group_members_maps.cf, ...
  • Create new file virtual_group_members_maps.cf:
    • Copy sender_login_maps.cf to virtual_group_members_maps.cf.
    • Edit virtual_group_members_maps.cf, remove (enabledService=smtp) (with brackets, yes) and save it.
    • Fix file permission:
Terminal:
# ---- On Linux and FreeBSD ----
# chown root:postfix virtual_group_members_maps.cf
# chmod 0640 virtual_group_members_maps.cf

# ---- On OpenBSD ----
# chown root:_postfix virtual_group_members_maps.cf
# chmod 0640 virtual_group_members_maps.cf
  • Restarting Postfix service is required.


Add new attribute/value required by IMAP share folder in Dovecot-2: enabledService=lib-storage

Dovecot-2.x requires enabledService=lib-storage for IMAP folder sharing. Below steps are used to add it for all mail users.

Steps:

  • Download python script used to adding missing values.
Terminal:
# cd /root/
# wget https://bitbucket.org/zhb/iredmail/raw/cb7d2492563d/extra/update/updateLDAPValues_080_to_081.py
  • Open updateLDAPValues_080_to_081.py, config LDAP server related settings in file head. e.g.
File: updateLDAPValues_080_to_081.py
uri = 'ldap://127.0.0.1:389'
basedn = 'o=domains,dc=iredmail,dc=org'
bind_dn = 'cn=vmailadmin,dc=iredmail,dc=org'
bind_pw = 'passwd'

Tip:

    • You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.
    • Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.
  • Execute this script, it will add missing values for mail accounts:
Terminal:
# python updateLDAPValues_080_to_081.py

MySQL backend special

Fix incorrect maildir path with 'virtual' transport

iRedMail uses Dovecot LDA as transport by default, but if you use transport virtual, the Postfix built-in transport, it will use different maildir path from Dovecot LDA. Below step is used to fix it.

  • Edit /etc/postfix/mysql/virtual_mailbox_maps.cf, update query =:
File: mysql/virtual_mailbox_maps.cf
# OLD SETTING
#query       = SELECT CONCAT(mailbox.storagenode, '/', mailbox.maildir) FROM ...

# NEW SETTING
query       = SELECT CONCAT(mailbox.storagenode, '/', mailbox.maildir, '/Maildir/') FROM ...
  • Restart Postfix service to make it use new setting.

PostgreSQL backend special

Fix incorrect maildir path with 'virtual' transport

iRedMail uses Dovecot LDA as transport by default, but if you use transport virtual, the Postfix built-in transport, it will use different maildir path from Dovecot LDA. Below step is used to fix it.

  • Edit /etc/postfix/mysql/virtual_mailbox_maps.cf, update query =:
File: mysql/virtual_mailbox_maps.cf
# OLD SETTING
#query       = SELECT (mailbox.storagenode || '/' || mailbox.maildir) FROM ...

# NEW SETTING
query       = SELECT CONCAT(mailbox.storagenode, '/', mailbox.maildir, '/Maildir/') FROM ...
  • Restart Postfix service to make it use new setting.
Personal tools