<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.iredmail.org/wiki/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>iRedMail - User contributions [en]</title>
		<link>http://www.iredmail.org/wiki/index.php?title=Special:Contributions/ZhangHuangbin</link>
		<description>From iRedMail</description>
		<language>en</language>
		<generator>MediaWiki 1.15.5</generator>
		<lastBuildDate>Fri, 24 May 2013 23:07:10 GMT</lastBuildDate>
		<item>
			<title>IRedMail/FAQ/Enable.Greylist.Opt.In</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Greylist.Opt.In</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
NOTE: This tutorial is applicable to Policyd-1.8, not Cluebringer (a.k.a. Policyd v2). If you're running Cluebringer, please login to https://your_server/cluebringer/ instead.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Enable greylist opt in and opt out in Policyd ==&lt;br /&gt;
&lt;br /&gt;
Some people are fairly irate when it comes to mail and &lt;br /&gt;
refuse wanting to have any type of delay. this feature&lt;br /&gt;
enables each and every person the ability to not subject&lt;br /&gt;
themselves to greylisting. this feature is also VERY&lt;br /&gt;
usefull when you dont want to subject EVERY person to&lt;br /&gt;
greylisting at once but instead allows you to enable&lt;br /&gt;
it in batches/groups of users so you get a feel on the&lt;br /&gt;
type of complaints or praise from your users.&lt;br /&gt;
&lt;br /&gt;
Please update Policyd setting '''OPTINOUT''' to 1 to enable greylist opt in /  opt out:&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux, it's set in file '''/etc/policyd.conf'''.&lt;br /&gt;
* On Debian/Ubuntu, it's set in file '''/etc/postfix-policyd.conf'''.&lt;br /&gt;
* On openSUSE, it's set in file '''/etc/policyd.conf'''.&lt;br /&gt;
* On FreeBSD, it's set in file '''/usr/local/etc/postfix-policyd-sf.conf'''.&lt;br /&gt;
{{cfg|policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
OPTINOUT=1&lt;br /&gt;
OPTINOUTALL=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restarting Policyd service is required to make it work.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* iRedAdmin-Pro customers can manage greylist opt-in with one lick with the latest iRedAdmin-Pro releases, in domain profile page or user profile page, under tab '''Advanced'''.&lt;br /&gt;
* For more details about how to set greylist opt-in manually with MySQL command line or phpMyAdmin, please refer to Policyd official document: http://policyd.sourceforge.net/readme.html (Section &amp;quot;Greylist Opt-in / Opt-out&amp;quot;)&lt;/div&gt;</description>
			<pubDate>Sun, 19 May 2013 02:25:13 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Greylist.Opt.In</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* ChangeLog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-17: [ldap] Support assigning mail list/alias as member of another mailing list.&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can:&lt;br /&gt;
* use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users.&lt;br /&gt;
* Assign mail list/alias as member of another mailing list.&lt;br /&gt;
&lt;br /&gt;
Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Support assigning mail list/alias as member of another mailing list ==&lt;br /&gt;
* Open Postfix ldap lookup file '''/etc/postfix/ldap/virtual_group_maps.cf''', update the value of '''query_filter''' parameter to add addition LDAP objectclasses:&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf'''.&lt;br /&gt;
{{cfg|/etc/postfix/ldap/virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD SETTING&lt;br /&gt;
#query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# NEW SETTING&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)(objectClass=mailList)(objectClass=mailAlias)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Postfix service to use our new setting.&lt;br /&gt;
** On Linux: {{cmd|&amp;lt;pre&amp;gt;# /etc/init.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
** On FreeBSD: {{cmd|&amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
** On OpenBSD: {{cmd|&amp;lt;pre&amp;gt;# /etc/rc.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE policy RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 17 May 2013 05:17:35 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can:&lt;br /&gt;
* use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users.&lt;br /&gt;
* Assign mail list/alias as member of another mailing list.&lt;br /&gt;
&lt;br /&gt;
Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Support assigning mail list/alias as member of another mailing list ==&lt;br /&gt;
* Open Postfix ldap lookup file '''/etc/postfix/ldap/virtual_group_maps.cf''', update the value of '''query_filter''' parameter to add addition LDAP objectclasses:&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf'''.&lt;br /&gt;
{{cfg|/etc/postfix/ldap/virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD SETTING&lt;br /&gt;
#query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# NEW SETTING&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)(objectClass=mailList)(objectClass=mailAlias)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Postfix service to use our new setting.&lt;br /&gt;
** On Linux: {{cmd|&amp;lt;pre&amp;gt;# /etc/init.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
** On FreeBSD: {{cmd|&amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
** On OpenBSD: {{cmd|&amp;lt;pre&amp;gt;# /etc/rc.d/postfix restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE policy RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 17 May 2013 05:14:01 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Use the latest LDAP schema file provided by iRedMail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can:&lt;br /&gt;
* use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users.&lt;br /&gt;
* Assign mail list/alias as member of another mailing list.&lt;br /&gt;
&lt;br /&gt;
Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE policy RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 17 May 2013 05:09:14 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE policy RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Sun, 12 May 2013 13:50:59 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Fix incorrect SQL column name in Amavisd database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE policy RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Sun, 12 May 2013 13:47:42 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-05-12: [all backends] Fix incorrect Amavisd SQL column name: policy.unchecked_lovers_maps (incorrect one) -&amp;gt; policy.unchecked_lover.&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
No upgrade available yet.&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to fix incorrect column name:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE policy CHANGE unchecked_lovers_maps unchecked_lover CHAR(1) DEFAULT NULL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Fix incorrect SQL column name in Amavisd database ==&lt;br /&gt;
&lt;br /&gt;
Amavisd-new-2.7.1 fixes a SQL column name &amp;quot;policy.unchecked_lover&amp;quot;, previously incorrectly specified as &amp;quot;policy.unchecked_lovers_maps&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to fix incorrect column name:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain RENAME unchecked_lovers_maps TO unchecked_lover;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Sun, 12 May 2013 13:45:20 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Stop virus/spam scanning, keep DKIM signing/verification and Disclaimer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
In iRedMail, Amavisd provides below features:&lt;br /&gt;
&lt;br /&gt;
* content-based spam scanning (invoke SpamAssassin)&lt;br /&gt;
* Virus scanning (invoke ClamAV)&lt;br /&gt;
* DKIM singing&lt;br /&gt;
* DKIM verification (through SpamAssassin + Perl module)&lt;br /&gt;
* SPF verification (through SpamAssassin + Perl module)&lt;br /&gt;
* Disclaimer (throught AlterMIME)&lt;br /&gt;
&lt;br /&gt;
= Stop virus/spam scanning, keep DKIM signing/verification and Disclaimer =&lt;br /&gt;
&lt;br /&gt;
If you want to disable virus and spam scanning, but keep DKIM signing and disclaimer, please try this:&lt;br /&gt;
&lt;br /&gt;
* Keep &amp;quot;content_filter =&amp;quot; setting in Postfix main.cf.&lt;br /&gt;
{{cfg|main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
content_filter = smtp-amavis:[127.0.0.1]:10024&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Find below lines in /etc/amavisd/amavisd.conf:&lt;br /&gt;
&lt;br /&gt;
{{cfg|amavisd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# @bypass_virus_checks_maps = (1);  # controls running of anti-virus code&lt;br /&gt;
# @bypass_spam_checks_maps  = (1);  # controls running of anti-spam code&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Uncomment above lines (removing &amp;quot;# &amp;quot; at the beginning of each line), and restart Amavisd service.&lt;br /&gt;
&lt;br /&gt;
= Completely disable all features =&lt;br /&gt;
&lt;br /&gt;
If you want to completely disable spam and virus scanning services, steps:&lt;br /&gt;
&lt;br /&gt;
# Comment out 'content_filter = smtp-amavis:[127.0.0.1]:10024' in Postfix config file main.cf, and restart Postfix service.&lt;br /&gt;
# Disable network services: Amavisd, ClamAV.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* ClamAV and SpamAssassin will be invoked by Amavisd, so if you disable Amavisd, those two are disabled too.&lt;br /&gt;
* SpamAssassin doesn't have daemon service running in iRedMail solution, so there's no need to stop SpamAssassin service.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Sat, 11 May 2013 13:10:45 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Copy new RC script for your server. We have scripts for different Linux/BSD distributions. Please copy the proper one for your server. For example:&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.openbsd: For OpenBSD. Please copy to /etc/rc.d/.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.opensuse: For openSUSE.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
# chmod +x /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Tue, 07 May 2013 12:28:58 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* ChangeLog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-04-26: [ldap] Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot;.&lt;br /&gt;
* 2013-04-03: [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
* 2013-04-03: [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 26 Apr 2013 03:26:57 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Use the latest LDAP schema file provided by iRedMail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-04-03:&lt;br /&gt;
** [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
** [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fix incorrect ACL for attribute &amp;quot;memberOfGroup&amp;quot; ==&lt;br /&gt;
Permission for attribute '''memberOfGroup''' is not set correctly, it causes normal user can add himself to any mail list in LDAP. Default permission is writeable by self, it should be &amp;quot;read&amp;quot; by &amp;quot;self&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
* Open OpenLDAP config file '''slapd.conf''', find below lines:&lt;br /&gt;
** On RHEL/CentOS, openSUSE, Gentoo, OpenBSD, it's '''/etc/openldap/slapd.conf'''.&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/ldap/slapd.conf'''.&lt;br /&gt;
** On FreeBSD, it's '''/usr/local/etc/openldap/slapd.conf'''.&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Prepend attribute name &amp;quot;memberOfGroup&amp;quot; before &amp;quot;employeeNumber&amp;quot;. The final result looks like below:&lt;br /&gt;
{{cfg|slapd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# User attrs.&lt;br /&gt;
access to attrs=&amp;quot;memberOfGroup, employeeNumber, ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save the config file, then restart OpenLDAP service to make it use new ACL.&lt;br /&gt;
** On RHEL/CentOS 5, openSUSE, please restart it with command &amp;lt;pre&amp;gt;# /etc/init.d/ldap restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On RHEL/CentOS 6 and other Linux distribution, please restart it with command: &amp;lt;pre&amp;gt;# /etc/init.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On FreeBSD, please restart it with command: &amp;lt;pre&amp;gt;# /usr/local/etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On OpenBSD, please restart it with command: &amp;lt;pre&amp;gt;# /etc/rc.d/slapd restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 26 Apr 2013 03:25:27 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Update /etc/iredmail-release with iRedMail version number */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Update /etc/iredmail-release with iRedMail version number.&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Update /etc/iredmail-release with iRedMail version number ==&lt;br /&gt;
iRedMail stores the initial version number in /etc/iredmail-release after installation completed, it's recommended to update this file after you upgraded iRedMail, so that you can know which version of iRedMail you're running. For example:&lt;br /&gt;
{{cfg|/etc/iredmail-release|&amp;lt;pre&amp;gt;&lt;br /&gt;
0.8.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /usr/local/etc/rc.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Thu, 25 Apr 2013 14:13:11 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>Postfix SPF check</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Postfix_SPF_check</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''NOTE''':&lt;br /&gt;
* This tutorial is contributed by iRedMail user, please use it on your own.&lt;br /&gt;
* iRedMail has SPF check enabled with Amavisd-new and perl module '''perl-Mail-SPF''' after queue, so you don't need this if after-queue SPF verification is ok for you.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
Using the Python version of SPF Policy Server for Postfix it is possible to implement checking of SPF of incoming messages in Postfix, with immediate reject or pass (if desired).&lt;br /&gt;
This article will describe how to achieve this feature.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* There is also a Perl version of the software, but it is not recommended because it does not scale well and should only be used for  small scale servers.&lt;br /&gt;
* This tutorial was written for a CentOS-based system. Please adapt it to fit your distro and configuration.&lt;br /&gt;
* It is assumed that the user has good knowledge of the technologies used therein.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
* Download the latest version of pypolicyd-spf from [https://launchpad.net/pypolicyd-spf/ the project's home page].&lt;br /&gt;
* Unpack it and install it by using the instructions in the ''README'' file.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
Set-up your '''''/etc/python-policyd-spf/policyd-spf.conf''''' to fit your needs.&lt;br /&gt;
&lt;br /&gt;
At the beginning, make sure you set:&lt;br /&gt;
{{cfg|/etc/python-policyd-spf/policyd-spf.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
defaultSeedOnly = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}} so no messages are actually rejected by policyd-SPF. You will thus be able to check the effect of your config without losing important messages.&lt;br /&gt;
&lt;br /&gt;
For example, a quite good configuration for fighting spam (but not losing legitimate messages) would contain&lt;br /&gt;
{{cfg|/etc/python-policyd-spf/policyd-spf.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
HELO_reject = Fail&lt;br /&gt;
Mail_From_reject = Fail&lt;br /&gt;
PermError_reject = False&lt;br /&gt;
TempError_Defer = False&lt;br /&gt;
skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
The meaning of each parameter is explained in the ''README'' file and in the man page ('''''man 5 policyd-spf.conf''''').&lt;br /&gt;
&lt;br /&gt;
= Enable SPF check in Postfix =&lt;br /&gt;
Edit your '''''master.cf''''' file and add at the end:&lt;br /&gt;
{{cfg|/etc/postfix/master.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# SPF check&lt;br /&gt;
spfpolicy unix  -       n       n       -       -       spawn&lt;br /&gt;
    user=nobody argv=/usr/bin/python /usr/bin/policyd-spf&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Edit your '''''main.cf''''' file and add the following line in ''smtpd_recipient_restrictions'', towards the end, but before the main policyd service (usually running on port 10031):&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_recipient_restrictions =&lt;br /&gt;
   ...&lt;br /&gt;
   check_policy_service unix:private/spfpolicy,&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
* Verify the effect of your changes by checking the maillog.&lt;br /&gt;
* When you are happy with a set of config parameters for pypolicyd-spf, be sure to enable actual SPF enforcing:&lt;br /&gt;
{{cfg|/etc/python-policyd-spf/policyd-spf.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
defaultSeedOnly = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Maxie ro|Maxie ro]] 20:13, 15 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;/div&gt;</description>
			<pubDate>Tue, 23 Apr 2013 14:32:05 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Postfix_SPF_check</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/FreeBSD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/FreeBSD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail implements  sender &amp;amp; recipient throttling via policyd-1.8.x, but it's disabled by default. You can enable it by follow below steps on FreeBSD:&lt;br /&gt;
&lt;br /&gt;
We choose to run two Policyd instances/daemons:&lt;br /&gt;
* one listens on port 10031, used for greylisting, white/blacklisting and recipient throttling.&lt;br /&gt;
* another one listens on port 10032, used for sender throttling.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in ''''/usr/local/etc/postfix-policyd-sf.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/usr/local/etc/postfix-policyd-sf.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/usr/local/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/usr/local/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create another policyd rc script:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr/local/etc/rc.d/&lt;br /&gt;
# cp policyd policyd_sender_throttle&lt;br /&gt;
# perl -pi -e 's#postfix-policyd-sf#policyd_sender_throttle#g' policyd_sender_throttle&lt;br /&gt;
# perl -pi -e 's#^(command=).*#${1}/usr/local/sbin/postfix-policyd-sf#' policyd_sender_throttle&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Append below line to '''/etc/rc.conf''':&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
policyd_sender_throttle_enable='YES'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service now:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/policyd restart&lt;br /&gt;
# /usr/local/etc/rc.d/policyd_sender_throttle restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''sockstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# sockstat -4 | grep -i 1003&lt;br /&gt;
policyd  postfix-po 1193  6  tcp4   127.0.0.1:10032       *:*&lt;br /&gt;
policyd  postfix-po 911   6  tcp4   127.0.0.1:10031       *:*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/usr/local/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/usr/local/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:54:31 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/FreeBSD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on Debian:&lt;br /&gt;
&lt;br /&gt;
We choose to run two Policyd instances/daemons:&lt;br /&gt;
* one listens on port 10031, used for greylisting, white/blacklisting and recipient throttling.&lt;br /&gt;
* another one listens on port 10032, used for sender throttling.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling. Warning: This is '''NOT''' the complete file.&lt;br /&gt;
{{cfg|/etc/postfix-policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/postfix-policyd_throttle.conf'''. Warning: This is '''NOT''' the complete file.&lt;br /&gt;
{{cfg|/etc/postfix-policyd_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&lt;br /&gt;
WHITELISTING=0              # &amp;lt;-- If set to 1, throttling won't work!&lt;br /&gt;
BLACKLISTING=0&lt;br /&gt;
BLACKLIST_HELO=0&lt;br /&gt;
BLACKLISTSENDER=0&lt;br /&gt;
HELO_CHECK=0&lt;br /&gt;
SPAMTRAPPING=0&lt;br /&gt;
GREYLISTING=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save below content as file '''/etc/init.d/postfix-policyd_sender_throttle'''. This is the complete file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:          postfix-policyd_throttle&lt;br /&gt;
# Required-Start:    $remote_fs $syslog&lt;br /&gt;
# Required-Stop:     $remote_fs $syslog&lt;br /&gt;
# Default-Start:     2 3 4 5&lt;br /&gt;
# Default-Stop:      0 1 6&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
DAEMON=/usr/sbin/postfix-policyd&lt;br /&gt;
CONFIG=/etc/postfix-policyd_throttle.conf&lt;br /&gt;
PIDFILE='/var/run/policyd_throttle.pid'&lt;br /&gt;
NAME=postfix-policyd_throttle&lt;br /&gt;
DESC=&amp;quot;Postfix throttling policy daemon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test -x $DAEMON || exit 0&lt;br /&gt;
&lt;br /&gt;
# Include policyd defaults if available&lt;br /&gt;
#if [ -f /etc/default/postfix-policyd ] ; then&lt;br /&gt;
#       . /etc/default/postfix-policyd&lt;br /&gt;
#fi&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
PIDFILE=`grep &amp;quot;PIDFILE&amp;quot; $CONFIG | awk -F &amp;quot;=&amp;quot; '{print $2}' | awk '{print $1}'`&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- -c $CONFIG&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  reload|force-reload)&lt;br /&gt;
        echo -n &amp;quot;Reloading $DESC configuration: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  restart)&lt;br /&gt;
        echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        sleep 1&lt;br /&gt;
        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- -c $CONFIG&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  *)&lt;br /&gt;
        N=/etc/init.d/$NAME&lt;br /&gt;
        echo &amp;quot;Usage: $N {start|stop|restart|reload|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start policyd via '''/etc/init.d/postfix-policyd_sender_throttle''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0755 /etc/init.d/postfix-policyd_sender_throttle&lt;br /&gt;
# update-rc.d postfix-policyd_sender_throttle defaults&lt;br /&gt;
# /etc/init.d/postfix-policyd_sender_throttle restart&lt;br /&gt;
# /etc/init.d/postfix-policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now run command '''netstat''' to see if everything is working right. You should get two lines of output like below:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The most important info is port numbers: 10031, 10032.&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf'''. The following line should already be there, but commented out by default. Uncomment it. If it's not there, add it.&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart postfix to re-read new configuration.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
If it works, you'll find lines similar to the following in /var/log/mail.log.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postfix-policyd: rcpt=81, throttle=update(a), host=127.0.0.1,&lt;br /&gt;
from=robert@example.com, to=someone@spamtrap.net, size=1749/10240000,&lt;br /&gt;
quota=30611/250000000, count=9/50(9), rcpt=9/3600(9), threshold=0%|16%|0%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:54:06 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
We choose to run two Policyd instances/daemons:&lt;br /&gt;
* one listens on port 10031, used for greylisting, white/blacklisting and recipient throttling.&lt;br /&gt;
* another one listens on port 10032, used for sender throttling.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:53:45 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
We choose to run two Policyd instances/daemons:&lt;br /&gt;
* one listens on port 10031, used for greylisting, white/blacklisting and recipient throttling.&lt;br /&gt;
* another one listens on port 10032, used for sender throttling.&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:53:20 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/FreeBSD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/FreeBSD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail implements  sender &amp;amp; recipient throttling via policyd-1.8.x, but it's disabled by default. You can enable it by follow below steps on FreeBSD:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in ''''/usr/local/etc/postfix-policyd-sf.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/usr/local/etc/postfix-policyd-sf.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/usr/local/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/usr/local/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create another policyd rc script:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr/local/etc/rc.d/&lt;br /&gt;
# cp policyd policyd_sender_throttle&lt;br /&gt;
# perl -pi -e 's#postfix-policyd-sf#policyd_sender_throttle#g' policyd_sender_throttle&lt;br /&gt;
# perl -pi -e 's#^(command=).*#${1}/usr/local/sbin/postfix-policyd-sf#' policyd_sender_throttle&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Append below line to '''/etc/rc.conf''':&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
policyd_sender_throttle_enable='YES'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service now:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/policyd restart&lt;br /&gt;
# /usr/local/etc/rc.d/policyd_sender_throttle restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''sockstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# sockstat -4 | grep -i 1003&lt;br /&gt;
policyd  postfix-po 1193  6  tcp4   127.0.0.1:10032       *:*&lt;br /&gt;
policyd  postfix-po 911   6  tcp4   127.0.0.1:10031       *:*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/usr/local/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/usr/local/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:43:12 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/FreeBSD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on Debian:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling. Warning: This is '''NOT''' the complete file.&lt;br /&gt;
{{cfg|/etc/postfix-policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/postfix-policyd_throttle.conf'''. Warning: This is '''NOT''' the complete file.&lt;br /&gt;
{{cfg|/etc/postfix-policyd_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&lt;br /&gt;
WHITELISTING=0              # &amp;lt;-- If set to 1, throttling won't work!&lt;br /&gt;
BLACKLISTING=0&lt;br /&gt;
BLACKLIST_HELO=0&lt;br /&gt;
BLACKLISTSENDER=0&lt;br /&gt;
HELO_CHECK=0&lt;br /&gt;
SPAMTRAPPING=0&lt;br /&gt;
GREYLISTING=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Save below content as file '''/etc/init.d/postfix-policyd_sender_throttle'''. This is the complete file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:          postfix-policyd_throttle&lt;br /&gt;
# Required-Start:    $remote_fs $syslog&lt;br /&gt;
# Required-Stop:     $remote_fs $syslog&lt;br /&gt;
# Default-Start:     2 3 4 5&lt;br /&gt;
# Default-Stop:      0 1 6&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
DAEMON=/usr/sbin/postfix-policyd&lt;br /&gt;
CONFIG=/etc/postfix-policyd_throttle.conf&lt;br /&gt;
PIDFILE='/var/run/policyd_throttle.pid'&lt;br /&gt;
NAME=postfix-policyd_throttle&lt;br /&gt;
DESC=&amp;quot;Postfix throttling policy daemon&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test -x $DAEMON || exit 0&lt;br /&gt;
&lt;br /&gt;
# Include policyd defaults if available&lt;br /&gt;
#if [ -f /etc/default/postfix-policyd ] ; then&lt;br /&gt;
#       . /etc/default/postfix-policyd&lt;br /&gt;
#fi&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
PIDFILE=`grep &amp;quot;PIDFILE&amp;quot; $CONFIG | awk -F &amp;quot;=&amp;quot; '{print $2}' | awk '{print $1}'`&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- -c $CONFIG&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  reload|force-reload)&lt;br /&gt;
        echo -n &amp;quot;Reloading $DESC configuration: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  restart)&lt;br /&gt;
        echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br /&gt;
        sleep 1&lt;br /&gt;
        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- -c $CONFIG&lt;br /&gt;
        echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  *)&lt;br /&gt;
        N=/etc/init.d/$NAME&lt;br /&gt;
        echo &amp;quot;Usage: $N {start|stop|restart|reload|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start policyd via '''/etc/init.d/postfix-policyd_sender_throttle''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0755 /etc/init.d/postfix-policyd_sender_throttle&lt;br /&gt;
# update-rc.d postfix-policyd_sender_throttle defaults&lt;br /&gt;
# /etc/init.d/postfix-policyd_sender_throttle restart&lt;br /&gt;
# /etc/init.d/postfix-policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now run command '''netstat''' to see if everything is working right. You should get two lines of output like below:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The most important info is port numbers: 10031, 10032.&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf'''. The following line should already be there, but commented out by default. Uncomment it. If it's not there, add it.&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart postfix to re-read new configuration.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
If it works, you'll find lines similar to the following in /var/log/mail.log.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postfix-policyd: rcpt=81, throttle=update(a), host=127.0.0.1,&lt;br /&gt;
from=robert@example.com, to=someone@spamtrap.net, size=1749/10240000,&lt;br /&gt;
quota=30611/250000000, count=9/50(9), rcpt=9/3600(9), threshold=0%|16%|0%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:43:06 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/Debian.Ubuntu</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Enable recipient throttling in this instance, will be invoked in Postfix&lt;br /&gt;
# smtpd_recipient_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:43:03 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
RECIPIENTTHROTTLE=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:32:46 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
# Reference: http://comments.gmane.org/gmane.mail.postfix.policyd/826&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:31:46 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. Policyd v2 (a.k.a. Cluebringer)&lt;br /&gt;
# overcomes this and tracks the recipients for each smtpd instance. To track quotas&lt;br /&gt;
# precisely v2 can be used in smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.&lt;br /&gt;
# v2 knows about the various restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:29:39 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions. This has nothing to do&lt;br /&gt;
# with Policyd but an is Postfix limitation.&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:28:16 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iRedMail ships Policyd-1.8.x for sender &amp;amp; recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:&lt;br /&gt;
&lt;br /&gt;
* Disable sender throttling in '''/etc/postfix-policyd.conf''', but enable recipient throttling:&lt;br /&gt;
{{cfg|/etc/policyd.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=0&lt;br /&gt;
SENDER_THROTTLE_SASL=0&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in '''/etc/policyd_sender_throttle.conf''':&lt;br /&gt;
{{cfg|/etc/policyd_sender_throttle.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
SENDERTHROTTLE=1&lt;br /&gt;
SENDER_THROTTLE_SASL=1&lt;br /&gt;
SENDER_THROTTLE_HOST=0&lt;br /&gt;
&lt;br /&gt;
# Disable recipient throttling in this instance.&lt;br /&gt;
# Recipient Throttling can not work at smtpd_end_of_data_restrictions.&lt;br /&gt;
RECIPIENTTHROTTLE=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You may only enable '''SENDER_THROTTLE_SASL''' or '''SENDER_THROTTLE_HOST''' but '''NOT''' both.&lt;br /&gt;
&lt;br /&gt;
* Edit '''/etc/init.d/policyd''', set '''ENABLE_SENDER_THROTTLE='YES'''' to start another policyd instance for throttling:&lt;br /&gt;
{{cfg|/etc/init.d/policyd|&amp;lt;pre&amp;gt;&lt;br /&gt;
ENABLE_SENDER_THROTTLE=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart policyd service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/policyd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
It will listen on two ports: 10031, 10032. You can verify it via command '''netstat''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# netstat -ntlp | grep -i 1003&lt;br /&gt;
tcp        0      0 127.0.0.1:10031             0.0.0.0:*                   LISTEN      3454/policyd        &lt;br /&gt;
tcp        0      0 127.0.0.1:10032             0.0.0.0:*                   LISTEN      3459/policyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable throttling in Postfix '''/etc/postfix/main.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/main.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Restart postfix:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
Refer to Policyd official documentation to set throttling: http://policyd.sourceforge.net/readme.html&lt;br /&gt;
&lt;br /&gt;
[[Category: iRedMail]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: Policyd]]&lt;br /&gt;
[[Category: Throttling]]&lt;/div&gt;</description>
			<pubDate>Mon, 22 Apr 2013 16:26:57 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Enable.Throttling/RHEL.CentOS</comments>		</item>
		<item>
			<title>Integration/Active.Directory.iRedMail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Integration/Active.Directory.iRedMail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Enable LDAP query with AD in Postfix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': We just tested this tutorial on Windows 2000, 2003, 2008 R2 server, if you tested it on other versions and works well, please let us know. [http://iredmail.org/contact.html Contact us].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With AD + iRedMail integration, you can get below features:&lt;br /&gt;
&lt;br /&gt;
* User authentication against Windows Active Directory. You can now manage mail domains, users, mail lists with AD.&lt;br /&gt;
* Mail list support with group in AD.&lt;br /&gt;
* Global LDAP Address Book with AD in Roundcube Webmail.&lt;br /&gt;
* Account status support. Disable user in Active Directory will cause this account disabled in iRedMail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since AD uses different LDAP schema, you will lose some iRedMail special features. e.g.&lt;br /&gt;
&lt;br /&gt;
* Per-user, per-domain service control with LDAP (e.g. enable/disable POP3/IMAP/SMTP services). You should use hash file instead.&lt;br /&gt;
* [TO BE CONTINUED]&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
&lt;br /&gt;
To integrate Microsoft Active Directory with iRedMail, you should have:&lt;br /&gt;
&lt;br /&gt;
* A working Linux/BSD server with iRedMail+OpenLDAP installed.&lt;br /&gt;
* A working Microsoft Windows (2000/2003) server, with Active Directory installed and working properly, listen on port 389 (ldap://) or 636 (ldaps://), and allow LDAP connections from iRedMail server.&lt;br /&gt;
&lt;br /&gt;
= Install iRedMail =&lt;br /&gt;
&lt;br /&gt;
Please install iRedMail on Linux/BSD with OpenLDAP backend first, we will achieve this AD integration by simply modify some configure files.&lt;br /&gt;
&lt;br /&gt;
Here is [http://iredmail.org/doc.html#installation_guide iRedMail installaion guides].&lt;br /&gt;
&lt;br /&gt;
= Integrate Microsoft Active Directory =&lt;br /&gt;
&lt;br /&gt;
We assume:&lt;br /&gt;
* Hostname of your AD server is 'ad.example.com', listen on port 389.&lt;br /&gt;
** We will use this hostname below, you can replace it by IP address of this AD server if you want.&lt;br /&gt;
** If you want to force LDAP connection with LDAPS, use port 636 instead.&lt;br /&gt;
* Base dn in AD is &amp;quot;dc=example,dc=com&amp;quot;, email addresses of all users are ends with '@example.com' (Your mail domain is 'example.com').&lt;br /&gt;
* All user accounts and mail list accounts are placed under dn &amp;quot;cn=Users,dc=example,dc=com&amp;quot;. '''Note:''' dn is case-insensitive.&lt;br /&gt;
* For ldap connection, protocol version '3' is recommended. All pupular LDAP servers support LDAP protocol version 3.&lt;br /&gt;
* Store all mails on Linux/BSD servers, not on AD server.&lt;br /&gt;
** Storage directory is '''/var/vmail/vmail1''', same as default in iRedMail.&lt;br /&gt;
** Mailbox of user &amp;quot;support@example.com&amp;quot; will be '''/var/vmail/vmail1/example.com/support/Maildir/''', maildir format.&lt;br /&gt;
&lt;br /&gt;
== Create user account in AD, used for LDAP query ==&lt;br /&gt;
&lt;br /&gt;
With iRedMail + OpenLDAP, we have a low-privileged account &amp;quot;cn=vmail,dc=xxx,dc=xxx&amp;quot; for query only. So we suggest you create a same account '''vmail''' in AD, with complex password.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''':&lt;br /&gt;
* [http://www.iredmail.org/forum/post8630.html#p8630 Dovecot will treat characters as comment after a inline '#', so please just don't use '#' in password]&lt;br /&gt;
&lt;br /&gt;
=== Test AD query with ldap command line tool on iRedMail server===&lt;br /&gt;
We should make sure this newly created user is able to connect to AD server, so please verify it with below command on iRedMail server:&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ldapsearch -x -h ad.example.com -D 'vmail' -W -b 'cn=users,dc=example,dc=com'&lt;br /&gt;
Enter password: password_of_vmail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
If it prints all users stored in AD server, then it's working as expected.&lt;br /&gt;
&lt;br /&gt;
== Enable LDAP query with AD in Postfix ==&lt;br /&gt;
&lt;br /&gt;
We will execute some commands to modify Postfix settings to:&lt;br /&gt;
&lt;br /&gt;
* Disable unused iRedMail special settings.&lt;br /&gt;
* Authenticate against AD server instead of local OpenLDAP server.&lt;br /&gt;
&lt;br /&gt;
'''Note''': we will create three AD query files later:&lt;br /&gt;
* /etc/postfix/ad_virtual_mailbox_maps.cf&lt;br /&gt;
* /etc/postfix/ad_virtual_group_maps.cf&lt;br /&gt;
* /etc/postfix/ad_sender_login_maps.cf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Disable unused iRedMail special settings:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e virtual_alias_maps=''&lt;br /&gt;
# postconf -e sender_bcc_maps=''&lt;br /&gt;
# postconf -e recipient_bcc_maps=''&lt;br /&gt;
# postconf -e relay_domains=''&lt;br /&gt;
# postconf -e relay_recipient_maps=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Add your mail domain in &amp;quot;smtpd_sasl_local_domain&amp;quot; and &amp;quot;virtual_mailbox_domains&amp;quot;:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e smtpd_sasl_local_domain='example.com'&lt;br /&gt;
# postconf -e virtual_mailbox_domains='example.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Change transport maps setting:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e transport_maps='hash:/etc/postfix/transport'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable AD query. Note: We will create these 3 files later.&lt;br /&gt;
** Verify SMTP senders&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
** Used to verify local mail users&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
** Used to verify local mail lists/groups.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create/Edit file: '''/etc/postfix/transport'''.&lt;br /&gt;
{{cfg|/etc/postfix/transport|&amp;lt;pre&amp;gt;&lt;br /&gt;
example.com dovecot&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Note: '''dovecot''' here is a Postfix transport defined in /etc/postfix/master.cf, used to deliver received emails to user mailboxes.&lt;br /&gt;
&lt;br /&gt;
Run 'postmap' so that postfix can read it:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap hash:/etc/postfix/transport&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create/Edit file: '''/etc/postfix/ad_sender_login_maps.cf''':&lt;br /&gt;
{{cfg|/etc/postfix/ad_sender_login_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
server_host     = ad.example.com&lt;br /&gt;
server_port     = 389&lt;br /&gt;
version         = 3&lt;br /&gt;
bind            = yes&lt;br /&gt;
start_tls       = no&lt;br /&gt;
bind_dn         = vmail&lt;br /&gt;
bind_pw         = password_of_vmail&lt;br /&gt;
search_base     = cn=users,dc=example,dc=com&lt;br /&gt;
scope           = sub&lt;br /&gt;
query_filter    = (&amp;amp;(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))&lt;br /&gt;
result_attribute= userPrincipalName&lt;br /&gt;
debuglevel      = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create/Edit file: '''/etc/postfix/ad_virtual_mailbox_maps.cf'''&lt;br /&gt;
{{cfg|/etc/postfix/ad_virtual_mailbox_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
server_host     = ad.example.com&lt;br /&gt;
server_port     = 389&lt;br /&gt;
version         = 3&lt;br /&gt;
bind            = yes&lt;br /&gt;
start_tls       = no&lt;br /&gt;
bind_dn         = vmail&lt;br /&gt;
bind_pw         = passwd_of_vmail&lt;br /&gt;
search_base     = cn=users,dc=example,dc=com&lt;br /&gt;
scope           = sub&lt;br /&gt;
query_filter    = (&amp;amp;(objectclass=person)(userPrincipalName=%s))&lt;br /&gt;
result_attribute= userPrincipalName&lt;br /&gt;
result_format   = %d/%u/Maildir/&lt;br /&gt;
debuglevel      = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Here, we define users' mailboxes to be &amp;quot;example.com/username/Maildir/&amp;quot; in '''&amp;quot;result_format&amp;quot;''' setting.&lt;br /&gt;
&lt;br /&gt;
Maildir of the first example user created during iRedMail installation, www@example.com, is 'example.com/w/w/w/www-[TIMESTAMP]/Maildir/', and this maildir path is stored in OpenLDAP (attribute '''&amp;quot;mailMessageStore&amp;quot;'''). But we don't store maildir path in Active Directory, so we hard-code maildir path here.&lt;br /&gt;
&lt;br /&gt;
* Create/Edit file: '''/etc/postfix/ad_virtual_group_maps.cf'''&lt;br /&gt;
{{cfg|/etc/postfix/ad_virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
server_host     = ad.example.com&lt;br /&gt;
server_port     = 389&lt;br /&gt;
version         = 3&lt;br /&gt;
bind            = yes&lt;br /&gt;
start_tls       = no&lt;br /&gt;
bind_dn         = vmail&lt;br /&gt;
bind_pw         = password_of_vmail&lt;br /&gt;
search_base     = cn=users,dc=example,dc=com&lt;br /&gt;
scope           = sub&lt;br /&gt;
query_filter    = (&amp;amp;(objectClass=group)(mail=%s))&lt;br /&gt;
special_result_attribute = member&lt;br /&gt;
leaf_result_attribute = mail&lt;br /&gt;
result_attribute= userPrincipalName&lt;br /&gt;
debuglevel      = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
'''Note''':&lt;br /&gt;
* If your user have email address in both &amp;quot;mail&amp;quot; and &amp;quot;userPrincipalName&amp;quot;, you will get duplicate result. Comment 'leaf_result_attribute' can fix it.&lt;br /&gt;
* If your group account doesn't contains attribute 'mail' and 'userPrincipalName', please try 'query_filter = (&amp;amp;(objectClass=group)(sAMAccountName=%u))' instead.&lt;br /&gt;
&lt;br /&gt;
Also, we need to remove iRedAPD related settings in Postfix:&lt;br /&gt;
* Open /etc/postfix/main.cf&lt;br /&gt;
* Remove this setting: '''check_policy_service inet:127.0.0.1:7777'''.&lt;br /&gt;
&lt;br /&gt;
== Verify LDAP query with AD in Postfix ==&lt;br /&gt;
&lt;br /&gt;
We can use command line tool '''postmap'''  to verify AD query in postfix.&lt;br /&gt;
&lt;br /&gt;
* Query mail user:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap -q user@example.com ldap:/etc/postfix/ad_virtual_mailbox_maps.cf&lt;br /&gt;
example.com/user/Maildir/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* '''DEBUG''': If nothing returned by the command, it means LDAP query doesn't get expected result. Please set '''&amp;quot;debuglevel = 1&amp;quot;''' in file '''&amp;quot;ad_sender_login_maps.cf&amp;quot;''', then query again, it now will print more debug message, If you're not familiar with this kind of output message, please post the debug message in our [http://www.iredmail.org/forum/ forum] to ask help.&lt;br /&gt;
&lt;br /&gt;
* Verify sender login check:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap -q user@example.com ldap:/etc/postfix/ad_sender_login_maps.cf&lt;br /&gt;
user@example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Verify mail list/group. Steps:&lt;br /&gt;
** Create a group in AD, e.g. testgroup@example.com.&lt;br /&gt;
** Assign at least one member to this group.&lt;br /&gt;
** Execute below command on iRedMail server to verify it can get members.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap -q testgroup@example.com ldap:/etc/postfix/ad_virtual_group_maps.cf&lt;br /&gt;
member01@example.com&lt;br /&gt;
member02@example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
'''postmap''' will return nothing if 1) mail group doesn't exist; 2) group doesn't have any members.&lt;br /&gt;
&lt;br /&gt;
== Enable LDAP query with AD in Dovecot ==&lt;br /&gt;
&lt;br /&gt;
We need to modify '''/etc/dovecot-ldap.conf''' (RHEL/CentOS) or '''/etc/dovecot/dovecot-ldap.conf''' (Debian/Ubuntu), let dovecot query AD instead of local OpenLDAP server.&lt;br /&gt;
&lt;br /&gt;
{{cfg|dovecot-ldap.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts           = ad.example.com:389&lt;br /&gt;
ldap_version    = 3&lt;br /&gt;
auth_bind       = yes&lt;br /&gt;
dn              = vmail&lt;br /&gt;
dnpass          = passwd_of_vmail&lt;br /&gt;
base            = cn=users,dc=example,dc=com&lt;br /&gt;
scope           = subtree&lt;br /&gt;
deref           = never&lt;br /&gt;
user_filter     = (&amp;amp;(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))&lt;br /&gt;
pass_filter     = (&amp;amp;(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))&lt;br /&gt;
pass_attrs      = userPassword=password&lt;br /&gt;
default_pass_scheme = CRYPT&lt;br /&gt;
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now restart dovecot service to make it work immediately.&lt;br /&gt;
&lt;br /&gt;
'''Note''': we don't have per-user quota limit here, you can set a hard-coded quota for all users in '''/etc/dovecot.conf''' (RHEL/CentOS) or '''/etc/dovecot/dovecot.conf''' (Debian/Ubuntu). Example:&lt;br /&gt;
{{cfg|dovecot.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin {&lt;br /&gt;
    # --- SKIP OTHER SETTINGS HERE ---&lt;br /&gt;
    # Format: integer + M/G/T.&lt;br /&gt;
    # M -&amp;gt; MB, G -&amp;gt; GB, T -&amp;gt; TB.&lt;br /&gt;
    quota_rule = *:storage=1G&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Verify LDAP query with AD in Dovecot ==&lt;br /&gt;
We can use command '''telnet''' to verify AD query in Dovecot.&lt;br /&gt;
&lt;br /&gt;
'''Note''': Please do restart dovecot before testing.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# telnet localhost 143                         # &amp;lt;- Type this&lt;br /&gt;
* OK [...] Dovecot ready.&lt;br /&gt;
&lt;br /&gt;
. login user@example.com password_of_user        # &amp;lt;- Type this&lt;br /&gt;
. OK [...] Logged in&lt;br /&gt;
                                        # &amp;lt;- Quit telnet with &amp;quot;Ctrl+]&amp;quot;, then type 'quit'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Note: You just type '''. login user@example.com password''' (Do NOT miss the dot) in above testing, if it returns '''Logged in''', then dovecot + AD works as expected.&lt;br /&gt;
&lt;br /&gt;
== Enable Global LDAP Address Book wih AD in Roundcube webmail ==&lt;br /&gt;
&lt;br /&gt;
Edit roundcube config file: /var/www/roundcubemail/config/main.inc.php (RHEL/CentOS) or /usr/share/apache2/roundcubemail/config/main.inc.php (Debian/Ubuntu).&lt;br /&gt;
&lt;br /&gt;
You can remove exist LDAP address book which stored in OpenLDAP, and add a new one with AD.&lt;br /&gt;
&lt;br /&gt;
{{cfg|main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# &amp;quot;sql&amp;quot; is personal address book stored in roundcube database.&lt;br /&gt;
# &amp;quot;example.com&amp;quot; is new LDAP address book with AD, we will create it below.&lt;br /&gt;
#&lt;br /&gt;
$rcmail_config['autocomplete_addressbooks'] = array(&amp;quot;sql&amp;quot;, &amp;quot;example.com&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Global LDAP Address Book with AD.&lt;br /&gt;
#&lt;br /&gt;
$rcmail_config['ldap_public'][&amp;quot;example.com&amp;quot;] = array(&lt;br /&gt;
    'name'          =&amp;gt; 'Global Address Book',&lt;br /&gt;
    'hosts'         =&amp;gt; array(&amp;quot;ad.example.com&amp;quot;),     // &amp;lt;- Set AD hostname or IP address here.&lt;br /&gt;
    'port'          =&amp;gt; 389,&lt;br /&gt;
    'use_tls'       =&amp;gt; false,                 // &amp;lt;- Set to true if you want to use LDAPS. Change port to 636 on above line too.&lt;br /&gt;
&lt;br /&gt;
    // ---- Used to search accounts only in the same domain. ----&lt;br /&gt;
    'user_specific' =&amp;gt; false,&lt;br /&gt;
    'base_dn'       =&amp;gt; &amp;quot;cn=users,dc=example,dc=com&amp;quot;,   // &amp;lt;- Set base dn in AD&lt;br /&gt;
    'bind_dn'       =&amp;gt; &amp;quot;vmail&amp;quot;,                     # &amp;lt;- bind dn&lt;br /&gt;
    'bind_pass'     =&amp;gt; &amp;quot;password_of_vmail&amp;quot;,                    // &amp;lt;- bind password&lt;br /&gt;
    'writable'      =&amp;gt; false,                       # &amp;lt;- Do not allow mail user write data back to AD.&lt;br /&gt;
    'ldap_version'  =&amp;gt; &amp;quot;3&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    // ---- Search ----&lt;br /&gt;
    //'search_fields' =&amp;gt; array('displayname', 'userprincipalname', 'sn', 'givenname',),  // &amp;lt;- fields to search in&lt;br /&gt;
    'search_fields' =&amp;gt; array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn', 'givenName'),&lt;br /&gt;
    //'name_field'    =&amp;gt; 'displayname',&lt;br /&gt;
    'name_field'    =&amp;gt; 'cn',&lt;br /&gt;
    //'email_field'   =&amp;gt; 'userprincipalname',&lt;br /&gt;
    'email_field'   =&amp;gt; 'mail',&lt;br /&gt;
    'surname_field' =&amp;gt; 'sn',&lt;br /&gt;
    //'firstname_field' =&amp;gt; 'givenname',&lt;br /&gt;
    'firstname_field' =&amp;gt; 'givenName',&lt;br /&gt;
    //'sort'          =&amp;gt; 'displayname',&lt;br /&gt;
    'sort'          =&amp;gt; 'cn',&lt;br /&gt;
    'scope'         =&amp;gt; 'sub',&lt;br /&gt;
    //'filter'        =&amp;gt; &amp;quot;(&amp;amp;(objectclass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))&amp;quot;,&lt;br /&gt;
    'filter'        =&amp;gt; &amp;quot;(mail=*@*)&amp;quot;,&lt;br /&gt;
    'fuzzy_search'  =&amp;gt; true&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Additions =&lt;br /&gt;
&lt;br /&gt;
* If your mail domain name is different than Windows Active Directory domain: http://www.iredmail.org/forum/topic3165-integration-with-windows-domain.html&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2011-10-22: Use 'postconf -e' to set Postfix settings instead of edit main.cf directly.&lt;br /&gt;
* 2011-07-15: Replace 'userAccountControl=514' with 'userAccountControl:1.2.840.113556.1.4.803:=2'. This will still work if the user has additional attributes like password expired or never changes. Thanks Rick Culler &amp;lt;rculler@caresouth&amp;gt;.&lt;/div&gt;</description>
			<pubDate>Fri, 19 Apr 2013 02:26:48 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Integration/Active.Directory.iRedMail</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Use the latest LDAP schema file provided by iRedMail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Update /etc/iredmail-release with iRedMail version number.&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Update /etc/iredmail-release with iRedMail version number ==&lt;br /&gt;
iRedMail stores the initial version number in /etc/iredmail-release after installation completed, it's recommended to update this file after you upgraded iRedMail, so that you can know which version of iRedMail you're running. For example:&lt;br /&gt;
{{cfg|/etc/iredmail-release|&amp;lt;pre&amp;gt;&lt;br /&gt;
0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /usr/local/etc/rc.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Fri, 05 Apr 2013 09:09:55 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* ChangeLog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-04-03:&lt;br /&gt;
** [ldap] Use the latest iRedMail LDAP schema file.&lt;br /&gt;
** [MySQL/PostgreSQL] Add one new column used for store preferred language for newly created mail users&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 16:01:35 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
&lt;br /&gt;
We now storage short language code (e.g. de_DE, en_US) for newly created mail users, it requires a new SQL column '''defaultlanguage''' for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 16:00:42 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Use the latest LDAP schema file provided by iRedMail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
With the latest LDAP schema file, we can use attribute '''preferredLanguage''' for mail domain object, it's used to storage short language code (e.g. de_DE, en_US) for newly created mail users. Steps to use the latest LDAP schema file are:&lt;br /&gt;
&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 15:57:51 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.4-0.8.5</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.4-0.8.5</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;Created page with '__TOC__  = ChangeLog = = General (All backends should apply these steps) = = OpenLDAP backend special = == Use the latest LDAP schema file provided by iRedMail == = MySQL backend…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Use the latest LDAP schema file provided by iRedMail ==&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add one new column used for store preferred language for newly created mail users ==&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 15:55:35 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.4-0.8.5</comments>		</item>
		<item>
			<title>Install/iRedMail/FreeBSD.Jail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Install/iRedMail/FreeBSD.Jail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
* This tutorial describes how to create a FreeBSD Jail with ezjail, and install the latest iRedMail in Jail.&lt;br /&gt;
* We use hostname '''mx.example.com''' and IP address '''172.16.122.244''' for our Jail server.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* This tutorial was tested with FreeBSD 9 and the latest ports tree, but it should work on FreeBSD 8 and 10 too.&lt;br /&gt;
* All backends available in iRedMail (OpenLDAP, MySQL, PostgreSQL) were tested, work like a charm. :)&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
&lt;br /&gt;
* The latest stable release of iRedMail. You can download it here: http://www.iredmail.org/download.html&lt;br /&gt;
* Port '''sysutils/ezjail''' for FreeBSD.&lt;br /&gt;
&lt;br /&gt;
= Preparation =&lt;br /&gt;
&lt;br /&gt;
== Set a proper hostname and IP address for Jail server ==&lt;br /&gt;
We use hostname '''mx.example.com''' and internal IP address '''172.16.122.244'''  for example. We created an alias IP address on network interface '''em0''', so we have below setting in '''/etc/rc.conf''' for this IP address:&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig_em0_alias0=&amp;quot;inet 172.16.122.244 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Settings for our Jail: mx.example.com.&lt;br /&gt;
jail_mx_example_com_hostname=&amp;quot;mx.example.com&amp;quot;&lt;br /&gt;
jail_mx_example_com_ip=&amp;quot;172.16.122.244&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Install sysutils/ezjail and add required settings ==&lt;br /&gt;
* Install ezjail with ports tree:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr/ports/sysutils/ezjail/&lt;br /&gt;
# make install clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable Jail by adding below setting in '''/etc/rc.conf''':&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start ezjail while system start up&lt;br /&gt;
ezjail_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Required by PostgreSQL, otherwise initializing database will fail.&lt;br /&gt;
jail_sysvipc_allow=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* [OPTIONAL] Allow to use '''ping''' command inside Jail by adding below line in '''/etc/sysctl.conf''':&lt;br /&gt;
{{cfg|/etc/sysctl.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
security.jail.allow_raw_sockets=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Rebooting system is required after changing '''/etc/rc.conf'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;# reboot&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Create Jail =&lt;br /&gt;
&lt;br /&gt;
* After system start up, create the base jail that all jails we created later will use:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin install -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* create Jail for domain name '''mx.example.com''', bound to internal IP address 172.16.122.244. All files are placed under '''/jails/mx.example.com''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin create -r /jails/mx.example.com mx.example.com 172.16.122.244&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Set hostname of Jail in '''/jails/mx.example.com/etc/rc.conf''':&lt;br /&gt;
{{cfg|/jails/mx.example.com/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
hostname=&amp;quot;mx.example.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* [OPTIONAL] Share /usr/ports/distfiles/ with Jail by adding below line in '''/etc/fstab.mx_example_com''':&lt;br /&gt;
** NOTE: Jail will set ports tree to '''/var/ports''' instead of '''/usr/ports''' in /jails/mx.example.com/etc/make.conf, you can either use it or change it to '''/usr/ports'''.&lt;br /&gt;
{{cfg|/etc/fstab.mx_example.com|&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/ports/distfiles /jails/mx.example.com/basejail/usr/ports/distfiles nullfs rw 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Start Jail.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/ezjail restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* List all Jails:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin list&lt;br /&gt;
STA JID  IP               Hostname                          Root Directory&lt;br /&gt;
--- ---- ---------------- --------------------------------- ------------------------&lt;br /&gt;
DS  1    172.16.122.244   mx.example.com                    /jails/mx.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Install iRedMail =&lt;br /&gt;
&lt;br /&gt;
We can now enter this Jail:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin console mx.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, update '''/etc/resolv.conf''' with valid DNS server address(es). For example:&lt;br /&gt;
{{cfg|Jail: /etc/resolv.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 172.16.122.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, install binary package '''bash'''. Required by iRedMail.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
Jail # pkg_add -r bash-static&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, Start iRedMail installer with your Jail ip address:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
Jail # bash&lt;br /&gt;
bash # cd /root/iRedMail/&lt;br /&gt;
bash # LOCAL_ADDRESS='172.16.122.244' bash iRedMail.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 15:04:19 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Install/iRedMail/FreeBSD.Jail</comments>		</item>
		<item>
			<title>Install/iRedMail/FreeBSD.Jail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Install/iRedMail/FreeBSD.Jail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
This tutorial describes how to create a FreeBSD Jail with ezjail, and install the latest iRedMail in Jail.&lt;br /&gt;
&lt;br /&gt;
We use hostname '''mx.example.com''' and IP address '''172.16.122.244''' for our Jail server.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* This tutorial was tested with FreeBSD 9 and the latest ports tree, but it should work on FreeBSD 8 and 10 too.&lt;br /&gt;
* All backends available in iRedMail (OpenLDAP, MySQL, PostgreSQL) were tested, work like a charm. :)&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
&lt;br /&gt;
* The latest stable release of iRedMail. You can download it here: http://www.iredmail.org/download.html&lt;br /&gt;
* Port '''sysutils/ezjail''' for FreeBSD.&lt;br /&gt;
&lt;br /&gt;
= Preparation =&lt;br /&gt;
&lt;br /&gt;
== Set a proper hostname and IP address for Jail server ==&lt;br /&gt;
We use hostname '''mx.example.com''' and internal IP address '''172.16.122.244'''  for example. We created an alias IP address on network interface '''em0''', so we have below setting in '''/etc/rc.conf''' for this IP address:&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig_em0_alias0=&amp;quot;inet 172.16.122.244 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Settings for our Jail: mx.example.com.&lt;br /&gt;
jail_mx_example_com_hostname=&amp;quot;mx.example.com&amp;quot;&lt;br /&gt;
jail_mx_example_com_ip=&amp;quot;172.16.122.244&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Install sysutils/ezjail and add required settings ==&lt;br /&gt;
* Install ezjail with ports tree:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /usr/ports/sysutils/ezjail/&lt;br /&gt;
# make install clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable Jail by adding below setting in '''/etc/rc.conf''':&lt;br /&gt;
{{cfg|/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start ezjail while system start up&lt;br /&gt;
ezjail_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Required by PostgreSQL, otherwise initializing database will fail.&lt;br /&gt;
jail_sysvipc_allow=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* [OPTIONAL] Allow to use '''ping''' command inside Jail by adding below line in '''/etc/sysctl.conf''':&lt;br /&gt;
{{cfg|/etc/sysctl.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
security.jail.allow_raw_sockets=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Rebooting system is required after changing '''/etc/rc.conf'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;# reboot&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Create Jail =&lt;br /&gt;
&lt;br /&gt;
* After system start up, create the base jail that all jails we created later will use:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin install -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* create Jail for domain name '''mx.example.com''', bound to internal IP address 172.16.122.244. All files are placed under '''/jails/mx.example.com''':&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin create -r /jails/mx.example.com mx.example.com 172.16.122.244&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Set hostname of Jail in '''/jails/mx.example.com/etc/rc.conf''':&lt;br /&gt;
{{cfg|/jails/mx.example.com/etc/rc.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
hostname=&amp;quot;mx.example.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* [OPTIONAL] Share /usr/ports/distfiles/ with Jail by adding below line in '''/etc/fstab.mx_example_com''':&lt;br /&gt;
** NOTE: Jail will set ports tree to '''/var/ports''' instead of '''/usr/ports''' in /jails/mx.example.com/etc/make.conf, you can either use it or change it to '''/usr/ports'''.&lt;br /&gt;
{{cfg|/etc/fstab.mx_example.com|&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/ports/distfiles /jails/mx.example.com/basejail/usr/ports/distfiles nullfs rw 0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Start Jail.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/local/etc/rc.d/ezjail restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* List all Jails:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin list&lt;br /&gt;
STA JID  IP               Hostname                          Root Directory&lt;br /&gt;
--- ---- ---------------- --------------------------------- ------------------------&lt;br /&gt;
DS  1    172.16.122.244   mx.example.com                    /jails/mx.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Install iRedMail =&lt;br /&gt;
&lt;br /&gt;
We can now enter this Jail:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ezjail-admin console mx.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, update '''/etc/resolv.conf''' with valid DNS server address(es). For example:&lt;br /&gt;
{{cfg|Jail: /etc/resolv.conf|&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 172.16.122.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, install binary package '''bash'''. Required by iRedMail.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
Jail # pkg_add -r bash-static&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* In Jail, Start iRedMail installer with your Jail ip address:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
Jail # bash&lt;br /&gt;
bash # cd /root/iRedMail/&lt;br /&gt;
bash # LOCAL_ADDRESS='172.16.122.244' bash iRedMail.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;/div&gt;</description>
			<pubDate>Wed, 03 Apr 2013 14:38:38 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Install/iRedMail/FreeBSD.Jail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* After sync settings, please copy new RC script for your server. We have scripts for different Linux/BSD distributions. Please copy the proper one for your server. For example:&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.openbsd: For OpenBSD. Please copy to /etc/rc.d/.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.opensuse: For openSUSE.&lt;br /&gt;
** /opt/iredapd/rc_scripts/iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
# chmod +x /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Mon, 01 Apr 2013 14:24:13 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* After sync settings, please copy new RC script for your server. We have scripts for different Linux/BSD distributions. Please copy the proper one for your server. For example:&lt;br /&gt;
** iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** iredapd.openbsd: For OpenBSD. Please copy to /etc/rc.d/.&lt;br /&gt;
** iredapd.opensuse: For openSUSE.&lt;br /&gt;
** iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
# chmod +x /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Mon, 01 Apr 2013 14:23:45 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Create addition SQL index for Amavisd database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Update /etc/iredmail-release with iRedMail version number.&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Update /etc/iredmail-release with iRedMail version number ==&lt;br /&gt;
iRedMail stores the initial version number in /etc/iredmail-release after installation completed, it's recommended to update this file after you upgraded iRedMail, so that you can know which version of iRedMail you're running. For example:&lt;br /&gt;
{{cfg|/etc/iredmail-release|&amp;lt;pre&amp;gt;&lt;br /&gt;
0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d amavisd&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 16:07:53 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* ChangeLog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Update /etc/iredmail-release with iRedMail version number.&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Update /etc/iredmail-release with iRedMail version number ==&lt;br /&gt;
iRedMail stores the initial version number in /etc/iredmail-release after installation completed, it's recommended to update this file after you upgraded iRedMail, so that you can know which version of iRedMail you're running. For example:&lt;br /&gt;
{{cfg|/etc/iredmail-release|&amp;lt;pre&amp;gt;&lt;br /&gt;
0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:56:19 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* General (All backends should apply these steps) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Update /etc/iredmail-release with iRedMail version number ==&lt;br /&gt;
iRedMail stores the initial version number in /etc/iredmail-release after installation completed, it's recommended to update this file after you upgraded iRedMail, so that you can know which version of iRedMail you're running. For example:&lt;br /&gt;
{{cfg|/etc/iredmail-release|&amp;lt;pre&amp;gt;&lt;br /&gt;
0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:56:00 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>Main Page</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Main_Page</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Upgrade Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= iRedMail =&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4646-news-announcements-bug-fixes-iredmail084-has-been-released.html 0.8.4], 2013-03-26&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4016-news-announcements-bug-fixes-iredmail083-has-been-released.html 0.8.3], 2012-10-13&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3913-news-announcements-bug-fixes-iredmail082-has-been-released.html 0.8.2], 2012-09-19&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3499-news-announcements-bug-fixes-iredmail081-has-been-released.html 0.8.1], 2012-06-08&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3345.html 0.8.0], 2012-05-10&lt;br /&gt;
* [http://www.iredmail.org/forum/topic2816-iredmail074-has-been-released.html 0.7.4], 2012-01-09&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.3|0.7.3]], 2011-08-17&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.2|0.7.2]], 2011-06-10&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.1|0.7.1]], 2011-05-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.0|0.7.0]], 2011-04-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.1|0.6.1]]&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.0|0.6.0]]&lt;br /&gt;
&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
* Install iRedMail on:&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]. Works on both version 5.x and 6.x.&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_debian.html Debian]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_ubuntu.html Ubuntu, Mint]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_opensuse.html openSuSE]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_gentoo.html Gentoo]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_freebsd.html FreeBSD (without Jail)], or [[Install/iRedMail/FreeBSD.Jail |inside Jail]].&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_openbsd.html OpenBSD].&lt;br /&gt;
&lt;br /&gt;
* [https://bitbucket.org/zhb/iredapd/src/default/README.md?at=default Install iRedAPD], a postfix policy daemon:&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.3-0.8.4|0.8.3 -&amp;gt; 0.8.4]]. 2013-03-26. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.2-0.8.3|0.8.2 -&amp;gt; 0.8.3]]. 2012-09-13.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.1-0.8.2|0.8.1 -&amp;gt; 0.8.2]]. 2012-09-19. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.0-0.8.1|0.8.0 -&amp;gt; 0.8.1]]. 2012-06-08. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-0.8.0|0.7.4 -&amp;gt; 0.8.0]]. 2012-05-10. New LDAP attribute/value, SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.3-0.7.4|0.7.3 -&amp;gt; 0.7.4]]. 2012-01-09. SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-rc3-0.7.4|0.7.4-rc3 -&amp;gt; 0.7.4]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.2-0.7.3|0.7.2 -&amp;gt; 0.7.3]]. 2011-08-17.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.1-0.7.2|0.7.1 -&amp;gt; 0.7.2]]. 2011-06-10.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.0-0.7.1|0.7.0 -&amp;gt; 0.7.1]]. 2011-05-01.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.1-0.7.0|0.6.1 -&amp;gt; 0.7.0]]. 2011-03-31.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.0-0.6.1|0.6.0 -&amp;gt; 0.6.1]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.5.1-0.6.0|0.5.1 -&amp;gt; 0.6.0]]&lt;br /&gt;
* [http://www.iredmail.org/upgrade_050_051.html 0.5.0 -&amp;gt; 0.5.1]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_040_050 0.4.0 -&amp;gt; 0.5.0]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_032_040 0.3.2 -&amp;gt; 0.4.0]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedMail/FAQ|iRedMail FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Integrations ==&lt;br /&gt;
&lt;br /&gt;
* [[Integration/Active.Directory.iRedMail|Microsoft Active Directory + iRedMail]]&lt;br /&gt;
* [[Integration/PureFTPd.iRedMail.with.OpenLDAP |PureFTPd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/Ejabberd.iRedMail.with.OpenLDAP |Ejabberd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/OpenVPN.iRedMail.with.OpenLDAP |OpenVPN + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/SOGo.iRedMail.with.OpenLDAP |SOGo + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/DBMail.iRedMail.with.MySQL.backend |Integrate DBMail in iRedMail (MySQL backend)]], stores mail messages in MySQL.&lt;br /&gt;
* [http://www.howtoforge.com/installing-iredmail-and-mailman-on-debian-squeeze Installing iRedMail And Mailman On Debian Squeeze]&lt;br /&gt;
&lt;br /&gt;
= iRedAdmin-Pro =&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
&lt;br /&gt;
You can install iRedAdmin from scratch with below installation guides, they work for both iRedAdmin-Pro and iRedAdmin open source edition.&lt;br /&gt;
&lt;br /&gt;
Note: If you already have iRedAdmin open source edition installed, you can [[Migrate/iRedAdmin-Pro/OSE-Pro |migrate from iRedAdmin open source edition to iRedAdmin-Pro]] easily.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''OpenLDAP''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''MySQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''PostgreSQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_debian.html Debian, Ubuntu, Mint]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_opensuse.html openSuSE]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/openSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_gentoo.html Gentoo]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_freebsd.html FreeBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_openbsd.html OpenBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4647-news-announcements-bug-fixes-iredadminproldap190-has-been-released.html 1.9.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4649-news-announcements-bug-fixes-iredadminpromysql160-has-been-released.html 1.6.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4650-news-announcements-bug-fixes-iredadminpropgsql120-has-been-released.html 1.2.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3919-news-announcements-bug-fixes-iredadminproldap180-has-been-released.html 1.8.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3920-news-announcements-bug-fixes-iredadminpromysql150-has-been-released.html 1.5.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3921-news-announcements-bug-fixes-iredadminpropgsql11-has-been-released.html 1.1], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3369-news-announcements-bug-fixes-iredadminproldap172-has-been-released.html 1.7.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3370-news-announcements-bug-fixes-iredadminpromysql140-has-been-released.html 1.4.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/PGSQL/1.0|1.0]], initial release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.3|1.6.3]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.1|1.3.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.2|1.6.2]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.0|1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.1|1.6.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.1|1.2.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.0|1.6.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.0|1.2.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.5.0|1.5.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.1.0|1.1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.1|1.4.1]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-03-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.0|1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.0|1.4.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.3.0|1.3.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-10-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.2.0|1.2.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-06-18&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
Notes:&lt;br /&gt;
* iRedAdmin-Pro-LDAP:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.4.0 or later versions to 1.9.0 directly by following upgrade tutorial for v1.5.0 or later versions.&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.6.2 directly with tutorial: [[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0 |Upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.4.0]]&lt;br /&gt;
* iRedAdmin-Pro-MySQL:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-MySQL-1.1.0 or later versions to 1.6.0 directly by following upgrade tutorial for v1.2.0 or later versions.&lt;br /&gt;
* iRedAdmin-Pro-PGSQL:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-PGSQL-1.0 or later releases to 1.2.0 directly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.8-1.9.0|1.8.x -&amp;gt; 1.9.0]]. Security fix.&amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.5-1.6.0|1.5.x -&amp;gt; 1.6.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.1-1.2.0|1.1.x -&amp;gt; 1.2.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.7.2-1.8.0|1.7.2 -&amp;gt; 1.8.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.4.0-1.5.0|1.4.0 -&amp;gt; 1.5.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.0-1.1|1.0 -&amp;gt; 1.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.3-1.7.0|1.6.3 -&amp;gt; 1.7.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.1-1.4.0|1.3.1 -&amp;gt; 1.4.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.2-1.6.3|1.6.2 -&amp;gt; 1.6.3]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.0-1.3.1|1.3.0 -&amp;gt; 1.3.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.1-1.6.2|1.6.1 -&amp;gt; 1.6.2]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.1-1.3.0|1.2.1 -&amp;gt; 1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.0-1.6.1|1.6.0 -&amp;gt; 1.6.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.0-1.2.1|1.2.0 -&amp;gt; 1.2.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.5.0-1.6.0|1.5.0 -&amp;gt; 1.6.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.1.0-1.2.0|1.1.0 -&amp;gt; 1.2.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.1-1.5.0|1.4.1 -&amp;gt; 1.5.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.0-1.1.0|1.0 -&amp;gt; 1.1.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.0-1.4.1|1.4.0 -&amp;gt; 1.4.1]]. bugfix release.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0|1.3.0 -&amp;gt; 1.4.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.2.0-1.3.0|1.2.0 -&amp;gt; 1.3.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.1.x-1.2.0|1.1.x -&amp;gt; 1.2.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic615-how-to-upgrade-iredadminpro10x-to-v110.html 1.0.x -&amp;gt; 1.1.0]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedAdmin-Pro/FAQ |iRedAdmin-Pro FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Additions Articles/Tutorials =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
* [[IRedMail/FAQ/Backup |How to backup MySQL database and LDAP data]]&lt;br /&gt;
* [[Addition/Setup.Bind.As.Cache.DNS.Server |Setup Bind as cache DNS server on iRedMail to speed up DNS lookup.]] Contributed by Hoho.&lt;br /&gt;
* [[Addition/Always_accept_messages_for_special_aliases |Always accept messages for special aliases (postmaster@, abuse@, ...).]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Configure_dk-filter_to_sign_emails_with_Domainkeys |Configure dk-filter to sign emails with Domainkeys.]] Contributed by Derchris.&lt;br /&gt;
* [[iRedMail/FAQ/Share.IMAP.Folder |Share IMAP folder with Dovecot 1.2 and Roundcube webmail 0.5]]&lt;br /&gt;
* [[Addition/Secure.Your.Exist.iRedAdmin |Secure your exist iRedAdmin]]&lt;br /&gt;
* [[Addition/Protect.Configure.Files|Protect configure files which contain username/password]]&lt;br /&gt;
* [[iRedMail/FAQ/Integrate.MySQL.in.Amavisd |Integrate MySQL in Amavisd]]&lt;br /&gt;
* [[IRedMail/FAQ/Quarantining.SPAM |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.7.0 and later versions.&lt;br /&gt;
* [[iRedMail/FAQ/Quarantining.Messages |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.6.1 and earlier versions.&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Throttling |Enable sender &amp;amp; recipient throttling with Policyd]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.Realtime.Quota.In.MySQL |Store Real-time Quota in MySQL with Dovecot 1.2]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.Dovecot.1.1.to.1.2 |Upgrade Dovecot 1.1.x to 1.2.x]]&lt;br /&gt;
* [[Postfix SPF check |Immediate SPF check in Postfix using pypolicyd-spf]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Migrate.to.New.iRedMail.Server |Migrate to new iRedMail server]]&lt;br /&gt;
* [[Addition/Install.PostfixAdmin.For.MySQL.Backend |Install PostfixAdmin for MySQL backend]]&lt;br /&gt;
* [[Addition/Hardening.your.iRedMail.Server |Hardening your iRedMail Server]]&lt;br /&gt;
* [[Addition/Force.Users.to.Change.Password.in.90.Days |Force users to change password in 90 days]]&lt;br /&gt;
* [[Addition/Shared_folders_with_dovecot_1.2 |Shared folders with dovecot 1.2]] - '''WORK IN PROGRESS''' - Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Harden.iRedMail.with.Fail2ban |Harden iRedMail with Fail2ban]]&lt;br /&gt;
* [[Addition/NTP |Keep your computer-time in sync]]&lt;br /&gt;
* [[Addition/Good.Practise |Good Practise]]&lt;br /&gt;
* [[Addition/Bad.Practise |Bad Practise - what NOT to do]]&lt;br /&gt;
* [[IRedMail/FAQ/Delete.Sent.Received.Mail.Log.Manually |How to delete log of Sent/Received mails manually]]&lt;br /&gt;
* [[iRedMail/FAQ/Delete.Quarantined.Mails.Manually |How to delete quarantined mails manually]]&lt;br /&gt;
* [[IRedMail/FAQ/Recalculate.Mailbox.Quota |How to force Dovecot to recalculate mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/Archive.Mails.with.Postfix.Bcc |How to archive mails with Postfix BCC]]&lt;br /&gt;
* [[IRedMail/FAQ/Enable.Disable.Greylisting |How to enable or disable greylisting with Policyd-1.8]]&lt;br /&gt;
* [[IRedMail/FAQ/Backup.iRedMail.Server |How to backup and restore iRedMail server]] - '''WORK IN PROGRESS'''&lt;br /&gt;
* [[iRedMail/FAQ/Ignore.Trash.Folder.in.Quota |How to ignore Trash folder in mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/EndUser/Howto.Configure.Thunderbird.for.iRedMail#Use_OpenLDAP_as_Global_LDAP_Address_Book |How to configure Thunderbird for iRedMail]], with global LDAP address book support.&lt;br /&gt;
* [[IRedMail/FAQ/Generate.New.SSL.Cert.Key |How to generate new SSL cert and key]]&lt;br /&gt;
* [[IRedMail/FAQ/Disable.Spam.Virus.Scanning.for.Outgoing.Mails |Disable spam and virus scanning for outgoing mails]]&lt;br /&gt;
* [[IRedMail/FAQ/Pipe.Incoming.Email.For.Certain.User.To.External.Script |Pipe incoming email for certain user to external script]]&lt;br /&gt;
* [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |How to upgrade Roundcube webmail]]&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Greylist.Opt.In |How to enable greylist opt in with Policyd (v1.8x)]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.SpamAssassin.Bayes.In.SQL |How to configure iRedMail to store SpamAssassin Bayes data in SQL server]]&lt;br /&gt;
* [[iRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin |How to completely disable spam and virus scanning (Amavisd, ClamAV, SpamAssassin)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD (Postfix policy server)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition)]]&lt;br /&gt;
* [[iRedMail/FAQ/Dovecot.Master.User |How to enable Dovecot Master User]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP backend only ==&lt;br /&gt;
* [[Addition/OpenLDAP/Catch-all|Setup Catch-all Email Accounts in iRedMail-0.5.1 and earlier versions]]&lt;br /&gt;
* [[Addition/OpenLDAP/Personal_LDAP_Address_Book|Setup per-user personal LDAP address book]]&lt;br /&gt;
&lt;br /&gt;
== Clustering and storage ==&lt;br /&gt;
* [[Master-master_high-availability_failover_iRedMail_system_using_GlusterFS |How to setup master/master iRedMail replication using GlusterFS]]&lt;br /&gt;
* [[Cluster/General.Resource |General cluster related resource]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:52:54 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Main_Page</comments>		</item>
		<item>
			<title>Main Page</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Main_Page</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Release Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= iRedMail =&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4646-news-announcements-bug-fixes-iredmail084-has-been-released.html 0.8.4], 2013-03-26&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4016-news-announcements-bug-fixes-iredmail083-has-been-released.html 0.8.3], 2012-10-13&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3913-news-announcements-bug-fixes-iredmail082-has-been-released.html 0.8.2], 2012-09-19&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3499-news-announcements-bug-fixes-iredmail081-has-been-released.html 0.8.1], 2012-06-08&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3345.html 0.8.0], 2012-05-10&lt;br /&gt;
* [http://www.iredmail.org/forum/topic2816-iredmail074-has-been-released.html 0.7.4], 2012-01-09&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.3|0.7.3]], 2011-08-17&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.2|0.7.2]], 2011-06-10&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.1|0.7.1]], 2011-05-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.0|0.7.0]], 2011-04-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.1|0.6.1]]&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.0|0.6.0]]&lt;br /&gt;
&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
* Install iRedMail on:&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]. Works on both version 5.x and 6.x.&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_debian.html Debian]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_ubuntu.html Ubuntu, Mint]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_opensuse.html openSuSE]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_gentoo.html Gentoo]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_freebsd.html FreeBSD (without Jail)], or [[Install/iRedMail/FreeBSD.Jail |inside Jail]].&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_openbsd.html OpenBSD].&lt;br /&gt;
&lt;br /&gt;
* [https://bitbucket.org/zhb/iredapd/src/default/README.md?at=default Install iRedAPD], a postfix policy daemon:&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.3-0.8.4|0.8.3 -&amp;gt; 0.8.4]]. 2013-03-26. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.2-0.8.3|0.8.2 -&amp;gt; 0.8.3]]. 2012-09-13.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.1-0.8.2|0.8.1 -&amp;gt; 0.8.2]]. 2012-09-19. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.0-0.8.1|0.8.0 -&amp;gt; 0.8.1]]. 2012-06-08. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-0.8.0|0.7.4 -&amp;gt; 0.8.0]]. 2012-05-10. New LDAP attribute/value, SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.3-0.7.4|0.7.3 -&amp;gt; 0.7.4]]. 2012-01-09. SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-rc3-0.7.4|0.7.4-rc3 -&amp;gt; 0.7.4]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.2-0.7.3|0.7.2 -&amp;gt; 0.7.3]]. 2011-08-17.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.1-0.7.2|0.7.1 -&amp;gt; 0.7.2]]. 2011-06-10.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.0-0.7.1|0.7.0 -&amp;gt; 0.7.1]]. 2011-05-01.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.1-0.7.0|0.6.1 -&amp;gt; 0.7.0]]. 2011-03-31.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.0-0.6.1|0.6.0 -&amp;gt; 0.6.1]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.5.1-0.6.0|0.5.1 -&amp;gt; 0.6.0]]&lt;br /&gt;
* [http://www.iredmail.org/upgrade_050_051.html 0.5.0 -&amp;gt; 0.5.1]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_040_050 0.4.0 -&amp;gt; 0.5.0]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_032_040 0.3.2 -&amp;gt; 0.4.0]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedMail/FAQ|iRedMail FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Integrations ==&lt;br /&gt;
&lt;br /&gt;
* [[Integration/Active.Directory.iRedMail|Microsoft Active Directory + iRedMail]]&lt;br /&gt;
* [[Integration/PureFTPd.iRedMail.with.OpenLDAP |PureFTPd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/Ejabberd.iRedMail.with.OpenLDAP |Ejabberd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/OpenVPN.iRedMail.with.OpenLDAP |OpenVPN + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/SOGo.iRedMail.with.OpenLDAP |SOGo + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/DBMail.iRedMail.with.MySQL.backend |Integrate DBMail in iRedMail (MySQL backend)]], stores mail messages in MySQL.&lt;br /&gt;
* [http://www.howtoforge.com/installing-iredmail-and-mailman-on-debian-squeeze Installing iRedMail And Mailman On Debian Squeeze]&lt;br /&gt;
&lt;br /&gt;
= iRedAdmin-Pro =&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
&lt;br /&gt;
You can install iRedAdmin from scratch with below installation guides, they work for both iRedAdmin-Pro and iRedAdmin open source edition.&lt;br /&gt;
&lt;br /&gt;
Note: If you already have iRedAdmin open source edition installed, you can [[Migrate/iRedAdmin-Pro/OSE-Pro |migrate from iRedAdmin open source edition to iRedAdmin-Pro]] easily.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''OpenLDAP''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''MySQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''PostgreSQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_debian.html Debian, Ubuntu, Mint]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_opensuse.html openSuSE]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/openSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_gentoo.html Gentoo]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_freebsd.html FreeBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_openbsd.html OpenBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4647-news-announcements-bug-fixes-iredadminproldap190-has-been-released.html 1.9.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4649-news-announcements-bug-fixes-iredadminpromysql160-has-been-released.html 1.6.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic4650-news-announcements-bug-fixes-iredadminpropgsql120-has-been-released.html 1.2.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3919-news-announcements-bug-fixes-iredadminproldap180-has-been-released.html 1.8.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3920-news-announcements-bug-fixes-iredadminpromysql150-has-been-released.html 1.5.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3921-news-announcements-bug-fixes-iredadminpropgsql11-has-been-released.html 1.1], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3369-news-announcements-bug-fixes-iredadminproldap172-has-been-released.html 1.7.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3370-news-announcements-bug-fixes-iredadminpromysql140-has-been-released.html 1.4.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/PGSQL/1.0|1.0]], initial release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.3|1.6.3]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.1|1.3.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.2|1.6.2]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.0|1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.1|1.6.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.1|1.2.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.0|1.6.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.0|1.2.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.5.0|1.5.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.1.0|1.1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.1|1.4.1]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-03-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.0|1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.0|1.4.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.3.0|1.3.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-10-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.2.0|1.2.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-06-18&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
Notes:&lt;br /&gt;
* iRedAdmin-Pro-LDAP:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.4.0 or later versions to 1.9.0 directly by following upgrade tutorial for v1.5.0 or later versions.&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.6.2 directly with tutorial: [[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0 |Upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.4.0]]&lt;br /&gt;
* iRedAdmin-Pro-MySQL:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-MySQL-1.1.0 or later versions to 1.5.1 directly by following upgrade tutorial for v1.2.0 or later versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.8-1.9.0|1.8.x -&amp;gt; 1.9.0]]. Security fix.&amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.5-1.6.0|1.5.x -&amp;gt; 1.6.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.1-1.2.0|1.1.x -&amp;gt; 1.2.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.7.2-1.8.0|1.7.2 -&amp;gt; 1.8.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.4.0-1.5.0|1.4.0 -&amp;gt; 1.5.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.0-1.1|1.0 -&amp;gt; 1.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.3-1.7.0|1.6.3 -&amp;gt; 1.7.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.1-1.4.0|1.3.1 -&amp;gt; 1.4.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.2-1.6.3|1.6.2 -&amp;gt; 1.6.3]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.0-1.3.1|1.3.0 -&amp;gt; 1.3.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.1-1.6.2|1.6.1 -&amp;gt; 1.6.2]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.1-1.3.0|1.2.1 -&amp;gt; 1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.0-1.6.1|1.6.0 -&amp;gt; 1.6.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.0-1.2.1|1.2.0 -&amp;gt; 1.2.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.5.0-1.6.0|1.5.0 -&amp;gt; 1.6.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.1.0-1.2.0|1.1.0 -&amp;gt; 1.2.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.1-1.5.0|1.4.1 -&amp;gt; 1.5.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.0-1.1.0|1.0 -&amp;gt; 1.1.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.0-1.4.1|1.4.0 -&amp;gt; 1.4.1]]. bugfix release.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0|1.3.0 -&amp;gt; 1.4.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.2.0-1.3.0|1.2.0 -&amp;gt; 1.3.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.1.x-1.2.0|1.1.x -&amp;gt; 1.2.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic615-how-to-upgrade-iredadminpro10x-to-v110.html 1.0.x -&amp;gt; 1.1.0]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedAdmin-Pro/FAQ |iRedAdmin-Pro FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Additions Articles/Tutorials =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
* [[IRedMail/FAQ/Backup |How to backup MySQL database and LDAP data]]&lt;br /&gt;
* [[Addition/Setup.Bind.As.Cache.DNS.Server |Setup Bind as cache DNS server on iRedMail to speed up DNS lookup.]] Contributed by Hoho.&lt;br /&gt;
* [[Addition/Always_accept_messages_for_special_aliases |Always accept messages for special aliases (postmaster@, abuse@, ...).]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Configure_dk-filter_to_sign_emails_with_Domainkeys |Configure dk-filter to sign emails with Domainkeys.]] Contributed by Derchris.&lt;br /&gt;
* [[iRedMail/FAQ/Share.IMAP.Folder |Share IMAP folder with Dovecot 1.2 and Roundcube webmail 0.5]]&lt;br /&gt;
* [[Addition/Secure.Your.Exist.iRedAdmin |Secure your exist iRedAdmin]]&lt;br /&gt;
* [[Addition/Protect.Configure.Files|Protect configure files which contain username/password]]&lt;br /&gt;
* [[iRedMail/FAQ/Integrate.MySQL.in.Amavisd |Integrate MySQL in Amavisd]]&lt;br /&gt;
* [[IRedMail/FAQ/Quarantining.SPAM |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.7.0 and later versions.&lt;br /&gt;
* [[iRedMail/FAQ/Quarantining.Messages |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.6.1 and earlier versions.&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Throttling |Enable sender &amp;amp; recipient throttling with Policyd]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.Realtime.Quota.In.MySQL |Store Real-time Quota in MySQL with Dovecot 1.2]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.Dovecot.1.1.to.1.2 |Upgrade Dovecot 1.1.x to 1.2.x]]&lt;br /&gt;
* [[Postfix SPF check |Immediate SPF check in Postfix using pypolicyd-spf]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Migrate.to.New.iRedMail.Server |Migrate to new iRedMail server]]&lt;br /&gt;
* [[Addition/Install.PostfixAdmin.For.MySQL.Backend |Install PostfixAdmin for MySQL backend]]&lt;br /&gt;
* [[Addition/Hardening.your.iRedMail.Server |Hardening your iRedMail Server]]&lt;br /&gt;
* [[Addition/Force.Users.to.Change.Password.in.90.Days |Force users to change password in 90 days]]&lt;br /&gt;
* [[Addition/Shared_folders_with_dovecot_1.2 |Shared folders with dovecot 1.2]] - '''WORK IN PROGRESS''' - Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Harden.iRedMail.with.Fail2ban |Harden iRedMail with Fail2ban]]&lt;br /&gt;
* [[Addition/NTP |Keep your computer-time in sync]]&lt;br /&gt;
* [[Addition/Good.Practise |Good Practise]]&lt;br /&gt;
* [[Addition/Bad.Practise |Bad Practise - what NOT to do]]&lt;br /&gt;
* [[IRedMail/FAQ/Delete.Sent.Received.Mail.Log.Manually |How to delete log of Sent/Received mails manually]]&lt;br /&gt;
* [[iRedMail/FAQ/Delete.Quarantined.Mails.Manually |How to delete quarantined mails manually]]&lt;br /&gt;
* [[IRedMail/FAQ/Recalculate.Mailbox.Quota |How to force Dovecot to recalculate mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/Archive.Mails.with.Postfix.Bcc |How to archive mails with Postfix BCC]]&lt;br /&gt;
* [[IRedMail/FAQ/Enable.Disable.Greylisting |How to enable or disable greylisting with Policyd-1.8]]&lt;br /&gt;
* [[IRedMail/FAQ/Backup.iRedMail.Server |How to backup and restore iRedMail server]] - '''WORK IN PROGRESS'''&lt;br /&gt;
* [[iRedMail/FAQ/Ignore.Trash.Folder.in.Quota |How to ignore Trash folder in mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/EndUser/Howto.Configure.Thunderbird.for.iRedMail#Use_OpenLDAP_as_Global_LDAP_Address_Book |How to configure Thunderbird for iRedMail]], with global LDAP address book support.&lt;br /&gt;
* [[IRedMail/FAQ/Generate.New.SSL.Cert.Key |How to generate new SSL cert and key]]&lt;br /&gt;
* [[IRedMail/FAQ/Disable.Spam.Virus.Scanning.for.Outgoing.Mails |Disable spam and virus scanning for outgoing mails]]&lt;br /&gt;
* [[IRedMail/FAQ/Pipe.Incoming.Email.For.Certain.User.To.External.Script |Pipe incoming email for certain user to external script]]&lt;br /&gt;
* [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |How to upgrade Roundcube webmail]]&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Greylist.Opt.In |How to enable greylist opt in with Policyd (v1.8x)]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.SpamAssassin.Bayes.In.SQL |How to configure iRedMail to store SpamAssassin Bayes data in SQL server]]&lt;br /&gt;
* [[iRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin |How to completely disable spam and virus scanning (Amavisd, ClamAV, SpamAssassin)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD (Postfix policy server)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition)]]&lt;br /&gt;
* [[iRedMail/FAQ/Dovecot.Master.User |How to enable Dovecot Master User]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP backend only ==&lt;br /&gt;
* [[Addition/OpenLDAP/Catch-all|Setup Catch-all Email Accounts in iRedMail-0.5.1 and earlier versions]]&lt;br /&gt;
* [[Addition/OpenLDAP/Personal_LDAP_Address_Book|Setup per-user personal LDAP address book]]&lt;br /&gt;
&lt;br /&gt;
== Clustering and storage ==&lt;br /&gt;
* [[Master-master_high-availability_failover_iRedMail_system_using_GlusterFS |How to setup master/master iRedMail replication using GlusterFS]]&lt;br /&gt;
* [[Cluster/General.Resource |General cluster related resource]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:52:00 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Main_Page</comments>		</item>
		<item>
			<title>Main Page</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Main_Page</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Release Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= iRedMail =&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4646-news-announcements-bug-fixes-iredmail084-has-been-released.html 0.8.4], 2013-03-26&lt;br /&gt;
* [http://www.iredmail.org/forum/topic4016-news-announcements-bug-fixes-iredmail083-has-been-released.html 0.8.3], 2012-10-13&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3913-news-announcements-bug-fixes-iredmail082-has-been-released.html 0.8.2], 2012-09-19&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3499-news-announcements-bug-fixes-iredmail081-has-been-released.html 0.8.1], 2012-06-08&lt;br /&gt;
* [http://www.iredmail.org/forum/topic3345.html 0.8.0], 2012-05-10&lt;br /&gt;
* [http://www.iredmail.org/forum/topic2816-iredmail074-has-been-released.html 0.7.4], 2012-01-09&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.3|0.7.3]], 2011-08-17&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.2|0.7.2]], 2011-06-10&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.1|0.7.1]], 2011-05-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.7.0|0.7.0]], 2011-04-01&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.1|0.6.1]]&lt;br /&gt;
* [[Release.Notes/iRedMail/0.6.0|0.6.0]]&lt;br /&gt;
&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
* Install iRedMail on:&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]. Works on both version 5.x and 6.x.&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_debian.html Debian]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_ubuntu.html Ubuntu, Mint]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_opensuse.html openSuSE]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_gentoo.html Gentoo]&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_freebsd.html FreeBSD (without Jail)], or [[Install/iRedMail/FreeBSD.Jail |inside Jail]].&lt;br /&gt;
** [http://www.iredmail.org/install_iredmail_on_openbsd.html OpenBSD].&lt;br /&gt;
&lt;br /&gt;
* [https://bitbucket.org/zhb/iredapd/src/default/README.md?at=default Install iRedAPD], a postfix policy daemon:&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.3-0.8.4|0.8.3 -&amp;gt; 0.8.4]]. 2013-03-26. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.2-0.8.3|0.8.2 -&amp;gt; 0.8.3]]. 2012-09-13.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.1-0.8.2|0.8.1 -&amp;gt; 0.8.2]]. 2012-09-19. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.8.0-0.8.1|0.8.0 -&amp;gt; 0.8.1]]. 2012-06-08. LDAP schema update, SQL (MySQL/PostgreSQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-0.8.0|0.7.4 -&amp;gt; 0.8.0]]. 2012-05-10. New LDAP attribute/value, SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.3-0.7.4|0.7.3 -&amp;gt; 0.7.4]]. 2012-01-09. SQL (MySQL) structure update.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.4-rc3-0.7.4|0.7.4-rc3 -&amp;gt; 0.7.4]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.2-0.7.3|0.7.2 -&amp;gt; 0.7.3]]. 2011-08-17.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.1-0.7.2|0.7.1 -&amp;gt; 0.7.2]]. 2011-06-10.&lt;br /&gt;
* [[Upgrade/iRedMail/0.7.0-0.7.1|0.7.0 -&amp;gt; 0.7.1]]. 2011-05-01.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.1-0.7.0|0.6.1 -&amp;gt; 0.7.0]]. 2011-03-31.&lt;br /&gt;
* [[Upgrade/iRedMail/0.6.0-0.6.1|0.6.0 -&amp;gt; 0.6.1]]&lt;br /&gt;
* [[Upgrade/iRedMail/0.5.1-0.6.0|0.5.1 -&amp;gt; 0.6.0]]&lt;br /&gt;
* [http://www.iredmail.org/upgrade_050_051.html 0.5.0 -&amp;gt; 0.5.1]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_040_050 0.4.0 -&amp;gt; 0.5.0]&lt;br /&gt;
* [http://code.google.com/p/iredmail/wiki/Upgrade_032_040 0.3.2 -&amp;gt; 0.4.0]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedMail/FAQ|iRedMail FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Integrations ==&lt;br /&gt;
&lt;br /&gt;
* [[Integration/Active.Directory.iRedMail|Microsoft Active Directory + iRedMail]]&lt;br /&gt;
* [[Integration/PureFTPd.iRedMail.with.OpenLDAP |PureFTPd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/Ejabberd.iRedMail.with.OpenLDAP |Ejabberd + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/OpenVPN.iRedMail.with.OpenLDAP |OpenVPN + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/SOGo.iRedMail.with.OpenLDAP |SOGo + iRedMail (OpenLDAP)]]&lt;br /&gt;
* [[Integration/DBMail.iRedMail.with.MySQL.backend |Integrate DBMail in iRedMail (MySQL backend)]], stores mail messages in MySQL.&lt;br /&gt;
* [http://www.howtoforge.com/installing-iredmail-and-mailman-on-debian-squeeze Installing iRedMail And Mailman On Debian Squeeze]&lt;br /&gt;
&lt;br /&gt;
= iRedAdmin-Pro =&lt;br /&gt;
== Installation Guide ==&lt;br /&gt;
&lt;br /&gt;
You can install iRedAdmin from scratch with below installation guides, they work for both iRedAdmin-Pro and iRedAdmin open source edition.&lt;br /&gt;
&lt;br /&gt;
Note: If you already have iRedAdmin open source edition installed, you can [[Migrate/iRedAdmin-Pro/OSE-Pro |migrate from iRedAdmin open source edition to iRedAdmin-Pro]] easily.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''OpenLDAP''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''MySQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Install iRedAdmin-Pro for '''PostgreSQL''' backend&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_rhel.html Red Hat Enterprise Linux, CentOS, Scientific Linux]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/RHEL |Red Hat Enterprise Linux, CentOS, Scientific Linux]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_debian.html Debian, Ubuntu, Mint]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Debian |Debian, Ubuntu, Mint]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_opensuse.html openSuSE]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/openSuSE |openSUSE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_gentoo.html Gentoo]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/Gentoo |Gentoo]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_freebsd.html FreeBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/FreeBSD |FreeBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/admin_installation_openbsd.html OpenBSD]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/MySQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Install/iRedAdmin-Pro/PGSQL/OpenBSD |OpenBSD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3919-news-announcements-bug-fixes-iredadminproldap180-has-been-released.html 1.8.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3920-news-announcements-bug-fixes-iredadminpromysql150-has-been-released.html 1.5.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3921-news-announcements-bug-fixes-iredadminpropgsql11-has-been-released.html 1.1], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-19&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3369-news-announcements-bug-fixes-iredadminproldap172-has-been-released.html 1.7.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic3370-news-announcements-bug-fixes-iredadminpromysql140-has-been-released.html 1.4.0], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/PGSQL/1.0|1.0]], initial release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.3|1.6.3]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.1|1.3.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.2|1.6.2]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.3.0|1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-xx&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.1|1.6.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.1|1.2.1]], bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.6.0|1.6.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.2.0|1.2.0]], security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.5.0|1.5.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.1.0|1.1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.1|1.4.1]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-03-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/MySQL/1.0|1.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.4.0|1.4.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-02-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.3.0|1.3.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-10-01&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Release.Notes/iRedAdmin-Pro/LDAP/1.2.0|1.2.0]], &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2010-06-18&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrade Tutorials ==&lt;br /&gt;
Notes:&lt;br /&gt;
* iRedAdmin-Pro-LDAP:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.4.0 or later versions to 1.9.0 directly by following upgrade tutorial for v1.5.0 or later versions.&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.6.2 directly with tutorial: [[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0 |Upgrade iRedAdmin-Pro-LDAP-1.3.0 to 1.4.0]]&lt;br /&gt;
* iRedAdmin-Pro-MySQL:&lt;br /&gt;
** You can upgrade iRedAdmin-Pro-MySQL-1.1.0 or later versions to 1.5.1 directly by following upgrade tutorial for v1.2.0 or later versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-LDAP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-MySQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;iRedAdmin-Pro-PGSQL&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.8-1.9.0|1.8.x -&amp;gt; 1.9.0]]. Security fix.&amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.5-1.6.0|1.5.x -&amp;gt; 1.6.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.1-1.2.0|1.1.x -&amp;gt; 1.2.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2013-03-xx.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.7.2-1.8.0|1.7.2 -&amp;gt; 1.8.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.4.0-1.5.0|1.4.0 -&amp;gt; 1.5.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/PGSQL/1.0-1.1|1.0 -&amp;gt; 1.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-09-15.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.3-1.7.0|1.6.3 -&amp;gt; 1.7.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.1-1.4.0|1.3.1 -&amp;gt; 1.4.0]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-05-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.2-1.6.3|1.6.2 -&amp;gt; 1.6.3]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.3.0-1.3.1|1.3.0 -&amp;gt; 1.3.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2012-01-10.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.1-1.6.2|1.6.1 -&amp;gt; 1.6.2]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.1-1.3.0|1.2.1 -&amp;gt; 1.3.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-08-17.&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.6.0-1.6.1|1.6.0 -&amp;gt; 1.6.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.2.0-1.2.1|1.2.0 -&amp;gt; 1.2.1]]. Bugfix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-26&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.5.0-1.6.0|1.5.0 -&amp;gt; 1.6.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.1.0-1.2.0|1.1.0 -&amp;gt; 1.2.0]]. Security fix release. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-06-10&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.1-1.5.0|1.4.1 -&amp;gt; 1.5.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/MySQL/1.0-1.1.0|1.0 -&amp;gt; 1.1.0]]. &amp;lt;font color=&amp;quot;lightgrey&amp;quot;&amp;gt;2011-05-03&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.4.0-1.4.1|1.4.0 -&amp;gt; 1.4.1]]. bugfix release.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.3.0-1.4.0|1.3.0 -&amp;gt; 1.4.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.2.0-1.3.0|1.2.0 -&amp;gt; 1.3.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Upgrade/iRedAdmin-Pro/LDAP/1.1.x-1.2.0|1.1.x -&amp;gt; 1.2.0]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[http://www.iredmail.org/forum/topic615-how-to-upgrade-iredadminpro10x-to-v110.html 1.0.x -&amp;gt; 1.1.0]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* [[iRedAdmin-Pro/FAQ |iRedAdmin-Pro FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Additions Articles/Tutorials =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
* [[IRedMail/FAQ/Backup |How to backup MySQL database and LDAP data]]&lt;br /&gt;
* [[Addition/Setup.Bind.As.Cache.DNS.Server |Setup Bind as cache DNS server on iRedMail to speed up DNS lookup.]] Contributed by Hoho.&lt;br /&gt;
* [[Addition/Always_accept_messages_for_special_aliases |Always accept messages for special aliases (postmaster@, abuse@, ...).]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Configure_dk-filter_to_sign_emails_with_Domainkeys |Configure dk-filter to sign emails with Domainkeys.]] Contributed by Derchris.&lt;br /&gt;
* [[iRedMail/FAQ/Share.IMAP.Folder |Share IMAP folder with Dovecot 1.2 and Roundcube webmail 0.5]]&lt;br /&gt;
* [[Addition/Secure.Your.Exist.iRedAdmin |Secure your exist iRedAdmin]]&lt;br /&gt;
* [[Addition/Protect.Configure.Files|Protect configure files which contain username/password]]&lt;br /&gt;
* [[iRedMail/FAQ/Integrate.MySQL.in.Amavisd |Integrate MySQL in Amavisd]]&lt;br /&gt;
* [[IRedMail/FAQ/Quarantining.SPAM |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.7.0 and later versions.&lt;br /&gt;
* [[iRedMail/FAQ/Quarantining.Messages |Quarantining VIRUS and SPAM into MySQL with Amavisd]]. For iRedMail-0.6.1 and earlier versions.&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Throttling |Enable sender &amp;amp; recipient throttling with Policyd]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.Realtime.Quota.In.MySQL |Store Real-time Quota in MySQL with Dovecot 1.2]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.Dovecot.1.1.to.1.2 |Upgrade Dovecot 1.1.x to 1.2.x]]&lt;br /&gt;
* [[Postfix SPF check |Immediate SPF check in Postfix using pypolicyd-spf]] Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Migrate.to.New.iRedMail.Server |Migrate to new iRedMail server]]&lt;br /&gt;
* [[Addition/Install.PostfixAdmin.For.MySQL.Backend |Install PostfixAdmin for MySQL backend]]&lt;br /&gt;
* [[Addition/Hardening.your.iRedMail.Server |Hardening your iRedMail Server]]&lt;br /&gt;
* [[Addition/Force.Users.to.Change.Password.in.90.Days |Force users to change password in 90 days]]&lt;br /&gt;
* [[Addition/Shared_folders_with_dovecot_1.2 |Shared folders with dovecot 1.2]] - '''WORK IN PROGRESS''' - Contributed by Maxie_ro.&lt;br /&gt;
* [[Addition/Harden.iRedMail.with.Fail2ban |Harden iRedMail with Fail2ban]]&lt;br /&gt;
* [[Addition/NTP |Keep your computer-time in sync]]&lt;br /&gt;
* [[Addition/Good.Practise |Good Practise]]&lt;br /&gt;
* [[Addition/Bad.Practise |Bad Practise - what NOT to do]]&lt;br /&gt;
* [[IRedMail/FAQ/Delete.Sent.Received.Mail.Log.Manually |How to delete log of Sent/Received mails manually]]&lt;br /&gt;
* [[iRedMail/FAQ/Delete.Quarantined.Mails.Manually |How to delete quarantined mails manually]]&lt;br /&gt;
* [[IRedMail/FAQ/Recalculate.Mailbox.Quota |How to force Dovecot to recalculate mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/Archive.Mails.with.Postfix.Bcc |How to archive mails with Postfix BCC]]&lt;br /&gt;
* [[IRedMail/FAQ/Enable.Disable.Greylisting |How to enable or disable greylisting with Policyd-1.8]]&lt;br /&gt;
* [[IRedMail/FAQ/Backup.iRedMail.Server |How to backup and restore iRedMail server]] - '''WORK IN PROGRESS'''&lt;br /&gt;
* [[iRedMail/FAQ/Ignore.Trash.Folder.in.Quota |How to ignore Trash folder in mailbox quota]]&lt;br /&gt;
* [[IRedMail/FAQ/EndUser/Howto.Configure.Thunderbird.for.iRedMail#Use_OpenLDAP_as_Global_LDAP_Address_Book |How to configure Thunderbird for iRedMail]], with global LDAP address book support.&lt;br /&gt;
* [[IRedMail/FAQ/Generate.New.SSL.Cert.Key |How to generate new SSL cert and key]]&lt;br /&gt;
* [[IRedMail/FAQ/Disable.Spam.Virus.Scanning.for.Outgoing.Mails |Disable spam and virus scanning for outgoing mails]]&lt;br /&gt;
* [[IRedMail/FAQ/Pipe.Incoming.Email.For.Certain.User.To.External.Script |Pipe incoming email for certain user to external script]]&lt;br /&gt;
* [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |How to upgrade Roundcube webmail]]&lt;br /&gt;
* [[iRedMail/FAQ/Enable.Greylist.Opt.In |How to enable greylist opt in with Policyd (v1.8x)]]&lt;br /&gt;
* [[iRedMail/FAQ/Store.SpamAssassin.Bayes.In.SQL |How to configure iRedMail to store SpamAssassin Bayes data in SQL server]]&lt;br /&gt;
* [[iRedMail/FAQ/Completely.Disable.Amavisd.ClamAV.SpamAssassin |How to completely disable spam and virus scanning (Amavisd, ClamAV, SpamAssassin)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD (Postfix policy server)]]&lt;br /&gt;
* [[iRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition)]]&lt;br /&gt;
* [[iRedMail/FAQ/Dovecot.Master.User |How to enable Dovecot Master User]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP backend only ==&lt;br /&gt;
* [[Addition/OpenLDAP/Catch-all|Setup Catch-all Email Accounts in iRedMail-0.5.1 and earlier versions]]&lt;br /&gt;
* [[Addition/OpenLDAP/Personal_LDAP_Address_Book|Setup per-user personal LDAP address book]]&lt;br /&gt;
&lt;br /&gt;
== Clustering and storage ==&lt;br /&gt;
* [[Master-master_high-availability_failover_iRedMail_system_using_GlusterFS |How to setup master/master iRedMail replication using GlusterFS]]&lt;br /&gt;
* [[Cluster/General.Resource |General cluster related resource]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:45:50 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Main_Page</comments>		</item>
		<item>
			<title>Upgrade/iRedMail/0.8.3-0.8.4</title>
			<link>http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.8.3-0.8.4</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;/* Supports alias domains in Postfix per-user bcc lookup files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= ChangeLog =&lt;br /&gt;
* 2013-03-28: Upgrade Roundcube webmail to the latest 0.8.6.&lt;br /&gt;
* 2013-03-25: [ldap] Fix incorrect LDAP query filter in Postfix.&lt;br /&gt;
* 2013-01-08: [sql] Add 4 new columns in table '''vmail.mailbox''' for MySQL/PostgreSQL backends.&lt;br /&gt;
* 2012-10-24: [ldap] Supports alias domains in Postfix per-user bcc lookup files.&lt;br /&gt;
&lt;br /&gt;
= General (All backends should apply these steps) =&lt;br /&gt;
&lt;br /&gt;
== Add new alias 'virusalert' in Postfix for Amavisd ==&lt;br /&gt;
Amavisd will send an email notification to address &amp;quot;virusalert@[YOUR_HOSTNAME]&amp;quot; by default, but we don't have this user in Postfix alias file (/etc/postfix/aliases on Linux/OpenBSD, or /usr/local/etc/postfix/aliases on FreeBSD) or SQL/LDAP database, so emails are not delivered. Below steps add a alias in Postfix alias file, and it will be forwarded to root user by default.&lt;br /&gt;
&lt;br /&gt;
Add new alias (Note, use '/usr/local/etc/postfix/aliases' on FreeBSD instead), and update the database:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo 'virusalert: root' &amp;gt;&amp;gt; /etc/postfix/aliases&lt;br /&gt;
# postalias /etc/postfix/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade Roundcube webmail to the latest 0.8.6 ==&lt;br /&gt;
There's zero day vulnerability in Roundcubemail-0.8.5 and older releases, please follow this tutorial to upgrade Roundcube webmail to the latest 0.8.6 immediately: [[IRedMail/FAQ/Upgrade.Roundcube.Webmail |Upgrade Roundcube webmail]]&lt;br /&gt;
&lt;br /&gt;
About the zero day vulnerability, please refer to this thread: http://lists.roundcube.net/pipermail/dev/2013-March/022328.html&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAPD (Postfix policy server) to the latest 1.4.0 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAPD to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAPD |How to upgrade iRedAPD]]&lt;br /&gt;
&lt;br /&gt;
== Upgrade iRedAdmin (open source edition) to the latest 0.2.1 ==&lt;br /&gt;
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: [[IRedMail/FAQ/Upgrade.iRedAdmin.Open.Source.Edition |How to upgrade iRedAdmin (open source edition) to the latest stable release]]&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP backend special =&lt;br /&gt;
== Fix incorrect LDAP query filter in Postfix ==&lt;br /&gt;
If you add external email addresses as mail list members, iRedAdmin-Pro will store them in attribute '''memberOfGroup''', this will cause exported LDIF data cannot be restored. Below are steps to fix this issue.&lt;br /&gt;
=== Use the latest LDAP schema file provided by iRedMail ===&lt;br /&gt;
To fix this issue, we need the latest LDAP schema file provided by iRedMail. Steps are:&lt;br /&gt;
* Download the newest iRedMail ldap schema file&lt;br /&gt;
* Copy old ldap schema file as a backup copy&lt;br /&gt;
* Replace the old one&lt;br /&gt;
* Restart OpenLDAP service.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
* On RHEL/CentOS/Scientific Linux (both release 5.x and 6.x), openSUSE, Gentoo, OpenBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/openldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart       # &amp;lt;-- Or: /etc/init.d/ldap restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On Debian/Ubuntu:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /etc/ldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* On FreeBSD:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /tmp&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/samples/iredmail.schema&lt;br /&gt;
&lt;br /&gt;
# cd /usr/local/etc/ldap/schema/&lt;br /&gt;
# cp iredmail.schema iredmail.schema.bak&lt;br /&gt;
&lt;br /&gt;
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/&lt;br /&gt;
# /etc/init.d/slapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Update existing accounts ===&lt;br /&gt;
* Download python script used to adding missing values.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /root/&lt;br /&gt;
# wget https://bitbucket.org/zhb/iredmail/raw/default/extra/update/updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Open updateLDAPValues_083_to_084.py, config LDAP server related settings in file head. e.g.&lt;br /&gt;
File: updateLDAPValues_083_to_084.py&lt;br /&gt;
{{cfg|updateLDAPValues_083_to_084.py|&amp;lt;pre&amp;gt;&lt;br /&gt;
uri = 'ldap://127.0.0.1:389'&lt;br /&gt;
basedn = 'o=domains,dc=example,dc=com'&lt;br /&gt;
bind_dn = 'cn=vmailadmin,dc=example,dc=com'&lt;br /&gt;
bind_pw = 'passwd'&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Tip:&lt;br /&gt;
* You can find them in iRedAdmin config file or iRedMail.tips file under your iRedMail installation directory.&lt;br /&gt;
* Use 'cn=Manager' instead of 'cn=vmailadmin' here is ok too.&lt;br /&gt;
&lt;br /&gt;
Execute this script, it will fix incorrect values and add correct ones:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# python updateLDAPValues_083_to_084.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Fix incorrect LDAP query filter in Postfix ===&lt;br /&gt;
* On Linux/OpenBSD, please update '''/etc/postfix/ldap/virtual_group_maps.cf'''. On FreeBSD, update '''/usr/local/etc/postfix/ldap/virtual_group_maps.cf''' instead.&lt;br /&gt;
{{cfg|virtual_group_maps.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
# OLD setting&lt;br /&gt;
#query_filter    = (&amp;amp;(memberOfGroup=%s)(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&lt;br /&gt;
# New setting&lt;br /&gt;
query_filter    = (&amp;amp;(accountStatus=active)(enabledService=mail)(enabledService=deliver)(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Supports alias domains in Postfix per-user bcc lookup files ==&lt;br /&gt;
* In /etc/postfix/ldap/sender_bcc_maps_user.cf, replace &amp;quot;(mail=%s)&amp;quot; by &amp;quot;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))&amp;quot; in parameter &amp;quot;query_filter =&amp;quot;. The final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/sender_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=senderbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Perform the same modification in file /etc/postfix/ldap/recipient_bcc_maps_user.cf, the final LDAP filter looks like below:&lt;br /&gt;
{{cfg|ldap/recipient_bcc_maps_user.cf|&amp;lt;pre&amp;gt;&lt;br /&gt;
query_filter    = (&amp;amp;(|(mail=%s)(&amp;amp;(enabledService=shadowaddress)(shadowAddress=%s)))(objectClass=mailUser)(accountStatus=active)(enabledService=mail)(enabledService=recipientbcc))&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restarting Postfix service is required.&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= MySQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE vmail;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
mysql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE amavisd;&lt;br /&gt;
mysql&amp;gt; ALTER TABLE msgs ADD INDEX (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= PostgreSQL backend special =&lt;br /&gt;
== Add 4 new columns used for per-user restriction ==&lt;br /&gt;
New version of iRedAPD (Postfix policy daemon) requires 4 new columns in table '''vmail.mailbox''': allowedsenders, rejectedsenders, allowedrecipients, rejectedrecipients. They're used for per-user restriction. For example, you can now define who can send email to your local user, or your user can send email to which external domains or users.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedsenders TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN allowedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
sql&amp;gt; ALTER TABLE mailbox ADD COLUMN rejectedrecipients TEXT NOT NULL DEFAULT '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Supported formats of sender/recipients are:&lt;br /&gt;
* user@example.com: single user&lt;br /&gt;
* @example.com: single domain&lt;br /&gt;
* @'''.'''example.com: domain and its sub domain&lt;br /&gt;
* '''@.''': any users.&lt;br /&gt;
&lt;br /&gt;
Multiple senders/recipients must be separated by comma, for example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
sql&amp;gt; INSERT INTO mailbox SET allowedsenders='@gmail.com,user@example.com';&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Create addition SQL index for Amavisd database ==&lt;br /&gt;
We need one more SQL index for Amavisd database, it's used to speed up performance of viewing quarantined mails.&lt;br /&gt;
* Important Note: It will take a long time if you have many records in table '''msgs'''.&lt;br /&gt;
&lt;br /&gt;
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:&lt;br /&gt;
* On Linux, PostgreSQL daemon user is postgres.&lt;br /&gt;
* On FreeBSD, PostgreSQL daemon user is pgsql.&lt;br /&gt;
* On OpenBSD, PostgreSQL daemon user is &amp;quot;&amp;quot;&amp;quot;_postgresql&amp;quot;.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d vmail&lt;br /&gt;
sql&amp;gt; CREATE INDEX idx_msgs_quar_type ON msgs (quar_type);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:43:15 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:Upgrade/iRedMail/0.8.3-0.8.4</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* After sync settings, please copy new RC script for your server. We have scripts for different Please copy the proper one for your server. For example:&lt;br /&gt;
** iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** iredapd.openbsd: For OpenBSD. Please copy to /etc/rc.d/.&lt;br /&gt;
** iredapd.opensuse: For openSUSE.&lt;br /&gt;
** iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
# chmod +x /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:38:24 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* After sync settings, please copy new RC script for your server. We have scripts for different Please copy the proper one for your server. For example:&lt;br /&gt;
** iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** iredapd.openbsd: For OpenBSD.&lt;br /&gt;
** iredapd.opensuse: For openSUSE.&lt;br /&gt;
** iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
# chmod +x /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:36:44 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.iRedAPD</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.iRedAPD</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
This tutorial describes how to upgrade iRedAPD to the latest stable release, iRedAPD-1.4.0. It's applicable on all Linux/BSD distributions supported by iRedMail.&lt;br /&gt;
&lt;br /&gt;
Important notes:&lt;br /&gt;
* Since iRedAPD-1.4.0, we use Python source file as config file, not '.ini' format anymore.&lt;br /&gt;
* We don't need second instance, '''iredapd-rr''', anymore.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the latest stable release here: http://iredmail.org/yum/misc/ For example, iRedAPD-1.4.0.tar.bz2.&lt;br /&gt;
* Upload it to your iRedMail server. Assume it's '''/root/iRedAPD-1.4.0.tar.bz2''' on the server.&lt;br /&gt;
* Extract downloaded package and move to /opt/.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjf /root/iRedAPD-1.4.0.tar.bz2 -C /opt/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
You get a new directory: /opt/iRedAPD-1.4.0/.&lt;br /&gt;
&lt;br /&gt;
* Set correct owner and permission:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chown -R iredapd:iredapd /opt/iRedAPD-1.4.0&lt;br /&gt;
# chmod -R 0700 /opt/iRedAPD-1.4.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Generate new config file from sample file, and set correct file owner and permission.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/iRedAPD-1.4.0/&lt;br /&gt;
# cp settings.py.sample settings.py&lt;br /&gt;
# chown -R iredapd:iredapd settings.py&lt;br /&gt;
# chmod -R 0600 settings.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
WARNING: Config file '''/opt/iredapd/settings.py''' contains sensitive infomation (username, password), please don't make it world-readable. Permission 0600 is the best.&lt;br /&gt;
&lt;br /&gt;
* Please open '''/opt/iredapd/settings.py''', and sync settings with old iRedAPD config file '''/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[ldap]&amp;quot; section are now new parameters start with '''ldap_'''.&lt;br /&gt;
** In old version of iRedAPD, all parameters under &amp;quot;[sql]&amp;quot; (or &amp;quot;[mysql]&amp;quot;) section are now new parameters start with '''sql_'''.&lt;br /&gt;
&lt;br /&gt;
* After sync settings, please copy new RC script for your server. We have scripts for different Please copy the proper one for your server. For example:&lt;br /&gt;
** iredapd.debian: For Debian and Ubuntu.&lt;br /&gt;
** iredapd.freebsd: For FreeBSD. Please copy to /usr/local/etc/rc.d/.&lt;br /&gt;
** iredapd.gentoo: For Gentoo Linux.&lt;br /&gt;
** iredapd.openbsd: For OpenBSD.&lt;br /&gt;
** iredapd.opensuse: For openSUSE.&lt;br /&gt;
** iredapd.rhel: For Red Hat, CentOS, Scientific Linux.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
* Remove symbol link of old release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -i /opt/iredapd               # &amp;lt;- Don't not end with '/'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Create symbol link to the latest release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /opt/&lt;br /&gt;
# ln -s iRedAPD-1.4.0 iredapd&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart iRedAPD service:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- On Linux ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/init.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /usr/local/etc/rc.d/iredapd restart&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- On OpenBSD ----&lt;br /&gt;
#&lt;br /&gt;
# /etc/rc.d/iredapd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* If you don't have file '''/etc/init.d/iredapd-rr''' on Linux, or '''/etc/rc.d/iredapd-rr''' on OpenBSD, or '''/usr/local/etc/rc.d/iredapd-rr''' on FreeBSD, it's safe to ignore below steps. But if you have it, please stop service '''iredapd-rr''', then move all enabled plugin names listed in '''/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini''' to our new config file '''/opt/iredapd/settings.py''', in parameter '''plugins = '''.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/init.d/iredapd-rr stop&lt;br /&gt;
# rm /etc/init.d/iredapd-rr&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Check whether you have '''check_policy_service inet:127.0.0.1:7778''' in Postfix config file '''/etc/postfix/main.cf''' (Linux/OpenBSD) or '''/usr/local/etc/postfix/main.cf''', if you have it, please remove '''check_policy_service inet:127.0.0.1:7778''', then restart Postfix service.&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 15:32:35 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.iRedAPD</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
= Backup current Roundcube webmail database =&lt;br /&gt;
&lt;br /&gt;
We must backup current Roundcube database before we go further.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
= Upgrade Roundcube webmail =&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Sync settings in config files '''roundcubemail-0.8.6/config/db.inc.php''' and '''roundcubemail-0.8.6/config/main.inc.php''' from old release.&lt;br /&gt;
** New version of Roundcube may add new config options, so it's not recommended to simply copy old config files.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file. NOTE: It upgrades SQL structure from Roundcubemail-0.1, so it will report many error messages. but it's OK to ignore them all.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d roundcubemail&lt;br /&gt;
sql&amp;gt; \i /var/www/roundcubemail-0.8.6/SQL/postgres.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync plugin settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
* Sync settings in roundcubemail-0.8.6/.htaccess with old version. Some php settings could become required.&lt;br /&gt;
* If you're using build-in addressbook, run indexing script roundcubemail-0.8.6/bin/indexcontacts.sh:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd roundcubemail-0.8.6/&lt;br /&gt;
# chmod +x bin/indexcontacts.sh&lt;br /&gt;
# ./bin/indexcontacts.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is required.&lt;br /&gt;
&lt;br /&gt;
Note: Please track Roundcube log file to see whether there's missing PHP modules, you should install missed ones manually.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
* Roundcube official guide about upgrading: http://trac.roundcube.net/wiki/Howto_Upgrade&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:45:02 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
* Backup current Roundcube database first.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Sync settings in config files '''roundcubemail-0.8.6/config/db.inc.php''' and '''roundcubemail-0.8.6/config/main.inc.php''' from old release.&lt;br /&gt;
** New version of Roundcube may add new config options, so it's not recommended to simply copy old config files.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file. NOTE: It upgrades SQL structure from Roundcubemail-0.1, so it will report many error messages. but it's OK to ignore them all.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d roundcubemail&lt;br /&gt;
sql&amp;gt; \i /var/www/roundcubemail-0.8.6/SQL/postgres.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync plugin settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
* Sync settings in roundcubemail-0.8.6/.htaccess with old version. Some php settings could become required.&lt;br /&gt;
* If you're using build-in addressbook, run indexing script roundcubemail-0.8.6/bin/indexcontacts.sh:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd roundcubemail-0.8.6/&lt;br /&gt;
# chmod +x bin/indexcontacts.sh&lt;br /&gt;
# ./bin/indexcontacts.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is required.&lt;br /&gt;
&lt;br /&gt;
Note: Please track Roundcube log file to see whether there's missing PHP modules, you should install missed ones manually.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:42:50 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
* Backup current Roundcube database first.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Sync settings in config files '''roundcubemail-0.8.6/config/db.inc.php''' and '''roundcubemail-0.8.6/config/main.inc.php''' from old release.&lt;br /&gt;
** New version of Roundcube may add new config options, so it's not recommended to simply copy old config files.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Apache web server if you have new required packages or PHP modules installed.&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file. NOTE: It upgrades SQL structure from Roundcubemail-0.1, so it will report many error messages. but it's OK to ignore them all.&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql -d roundcubemail&lt;br /&gt;
sql&amp;gt; \i /var/www/roundcubemail-0.8.6/SQL/postgres.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Roundcube installer also gives the way to download main.inc.php and db.inc.php files, please download them and replace your old config files. Because old config files might miss some parameters. Don't forget to fix file permission after replaced:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- On RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Debian/Ubuntu ----&lt;br /&gt;
# chown www-data:www-data roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Gentoo Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On openSUSE ----&lt;br /&gt;
# chown wwwrun:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
# chown www:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* After Roundcube installer finished upgrading process, disable installer in config file 'roundcubemail-0.8.6/config/main.inc.php' by updating below parameter:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = false;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync plugin settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
* Sync settings in roundcubemail-0.8.6/.htaccess with old version. Some php settings could become required.&lt;br /&gt;
* If you're using build-in addressbook, run indexing script roundcubemail-0.8.6/bin/indexcontacts.sh:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd roundcubemail-0.8.6/&lt;br /&gt;
# chmod +x bin/indexcontacts.sh&lt;br /&gt;
# ./bin/indexcontacts.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is required.&lt;br /&gt;
&lt;br /&gt;
Note: Please track Roundcube log file to see whether there's missing PHP modules, you should install missed ones manually.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:39:03 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
* Backup current Roundcube database first.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Sync settings in config files '''roundcubemail-0.8.6/config/db.inc.php''' and '''roundcubemail-0.8.6/config/main.inc.php''' from old release.&lt;br /&gt;
** New version of Roundcube may add new config options, so it's not recommended to simply copy old config files.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Apache web server if you have new required packages or PHP modules installed.&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Roundcube installer also gives the way to download main.inc.php and db.inc.php files, please download them and replace your old config files. Because old config files might miss some parameters. Don't forget to fix file permission after replaced:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- On RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Debian/Ubuntu ----&lt;br /&gt;
# chown www-data:www-data roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Gentoo Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On openSUSE ----&lt;br /&gt;
# chown wwwrun:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
# chown www:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* After Roundcube installer finished upgrading process, disable installer in config file 'roundcubemail-0.8.6/config/main.inc.php' by updating below parameter:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = false;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is required.&lt;br /&gt;
&lt;br /&gt;
Note: Please track Roundcube log file to see whether there's missing PHP modules, you should install missed ones manually.&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:25:11 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
* Backup current Roundcube database first.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown -R www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Copy config files '''db.inc.php''' and '''main.inc.php''' from old release to new release. For example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp -p roundcubemail-0.5.2/config/{db.inc.php,main.inc.php} roundcubemail-0.8.6/config/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable Roundcube installer by update below setting in roundcubemail-0.8.6/config/main.inc.php:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Access Roundcube installer with this URL: httpS://your_server/mail/installer , it will validate required packages, PHP modules and database structure. If the installer reports your server misses some required packages or PHP modules, please install them manually to fix them.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Apache web server if you have new required packages or PHP modules installed.&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Roundcube installer also gives the way to download main.inc.php and db.inc.php files, please download them and replace your old config files. Because old config files might miss some parameters. Don't forget to fix file permission after replaced:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- On RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Debian/Ubuntu ----&lt;br /&gt;
# chown www-data:www-data roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Gentoo Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On openSUSE ----&lt;br /&gt;
# chown wwwrun:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
# chown www:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* After Roundcube installer finished upgrading process, disable installer in config file 'roundcubemail-0.8.6/config/main.inc.php' by updating below parameter:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = false;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:19:30 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
		<item>
			<title>IRedMail/FAQ/Upgrade.Roundcube.Webmail</title>
			<link>http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Upgrade.Roundcube.Webmail</link>
			<description>&lt;p&gt;ZhangHuangbin:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
WARNING: There's a zero day vulnerability found in Roundcubemail-0.8.5 and older releases, please upgrade your running Roundcube webmail to the latest roundcubemail-0.8.6 immediately.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This tutorial is used to upgrade Roundcube from old release to the latest release. Ideally, you can upgrade whichever old release to the latest Roundcube release with this tutorial. Post issues in our online support forum: http://www.iredmail.org/forum/&lt;br /&gt;
&lt;br /&gt;
* Backup current Roundcube database first.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# ---- For MySQL backend&lt;br /&gt;
#&lt;br /&gt;
# mysqldump -u root -p roundcubemail &amp;gt; /root/mysql-db-roundcubemail.sql&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ---- For PostgreSQL backend&lt;br /&gt;
#&lt;br /&gt;
# su - postgres&lt;br /&gt;
# pg_dump roundcubemail &amp;gt; ~/db-roundcubemail.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Download the latest Roundcube webmail here: http://roundcube.net/. Here we take 0.8.6 for example: /root/roundcubemail-0.8.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract it in the right place.&lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- For RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Debian/Ubuntu ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/share/apache2/&lt;br /&gt;
# cd /usr/share/apache2/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown www-data:www-data roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For Gentoo Linux ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /var/www/&lt;br /&gt;
# cd /var/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For openSUSE ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /srv/www/&lt;br /&gt;
# cd /srv/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown wwwrun:www roundcubemail-0.8.6&lt;br /&gt;
&lt;br /&gt;
# ---- For FreeBSD ----&lt;br /&gt;
# tar xzf /root/roundcubemail-0.8.6.tar.gz -C /usr/local/www/&lt;br /&gt;
# cd /usr/local/www/&lt;br /&gt;
# mkdir roundcubemail-0.8.6/{temp,logs}&lt;br /&gt;
# chown www:www roundcubemail-0.8.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Copy config files '''db.inc.php''' and '''main.inc.php''' from old release to new release. For example:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp -p roundcubemail-0.5.2/config/{db.inc.php,main.inc.php} roundcubemail-0.8.6/config/&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Remove symbol link and create a new one, link to new release:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm roundcubemail&lt;br /&gt;
# ln -s roundcubemail-0.8.6 roundcubemail&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Enable Roundcube installer by update below setting in roundcubemail-0.8.6/config/main.inc.php:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Access Roundcube installer with this URL: httpS://your_server/mail/installer , it will validate required packages, PHP modules and database structure. If the installer reports your server misses some required packages or PHP modules, please install them manually to fix them.&lt;br /&gt;
&lt;br /&gt;
* Set correct time zone in your PHP config file '''php.ini'''. For example:&lt;br /&gt;
** On RHEL/CentOS/Scientific Linux, it's '''/etc/php.ini'''&lt;br /&gt;
** On Debian/Ubuntu, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** On Gentoo Linux, it's '''/etc/php/apache2-php5.3/php.ini'''&lt;br /&gt;
** On openSUSE, it's '''/etc/php5/apache2/php.ini'''&lt;br /&gt;
** on FreeBSD, it's '''/usr/local/etc/php.ini'''&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
date.timezone = &amp;quot;Europe/Paris&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restart Apache web server if you have new required packages or PHP modules installed.&lt;br /&gt;
&lt;br /&gt;
* Upgrade Roundcube database structure by importing shipped SQL file:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysql -uroot -p&lt;br /&gt;
mysql&amp;gt; USE roundcubemail;&lt;br /&gt;
mysql&amp;gt; SOURCE roundcubemail-0.8.6/SQL/mysql.update.sql;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Roundcube installer also gives the way to download main.inc.php and db.inc.php files, please download them and replace your old config files. Because old config files might miss some parameters. Don't forget to fix file permission after replaced:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# ---- On RHEL/CentOS/Scientific Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Debian/Ubuntu ----&lt;br /&gt;
# chown www-data:www-data roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On Gentoo Linux ----&lt;br /&gt;
# chown apache:apache roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On openSUSE ----&lt;br /&gt;
# chown wwwrun:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&lt;br /&gt;
# ---- On FreeBSD ----&lt;br /&gt;
# chown www:www roundcubemail-0.8.6/config/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* After Roundcube installer finished upgrading process, disable installer in config file 'roundcubemail-0.8.6/config/main.inc.php' by updating below parameter:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['enable_installer'] = false;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Restrict accessing to sensitive files:&lt;br /&gt;
{{cmd|&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 0000 roundcubemail-0.8.6/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer,SQL}&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Now you need to sync config files for Roundcube plugins. iRedMail enables two plugins by default, you can check file '''roundcubemail-[OLD_VERSION]/config/main.inc.php''' to see whether you have addition plugins enabled. For example:&lt;br /&gt;
** roundcubemail-0.8.6/plugins/password/: Used to allow mail users to change their own passwords. Config file is roundcubemail-0.8.6/plugins/password/config.inc.php.&lt;br /&gt;
** roundcubemail-0.8.6/plugins/managesieve/: Used to allow mail users to manage their own mail filter rules. Config file is roundcubemail-0.8.6/plugins/managesieve/config.inc.php.&lt;br /&gt;
{{cfg|roundcubemail-[OLD_VERSION]/config/main.inc.php|&amp;lt;pre&amp;gt;&lt;br /&gt;
$rcmail_config['plugins'] = array(&amp;quot;password&amp;quot;, &amp;quot;managesieve&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Please sync settings between new Rondcubewebmail release and old one.&lt;br /&gt;
&lt;br /&gt;
That's all, restarting Apache service is recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;br /&gt;
[[Category: iRedMail/FAQ]]&lt;/div&gt;</description>
			<pubDate>Thu, 28 Mar 2013 14:18:30 GMT</pubDate>			<dc:creator>ZhangHuangbin</dc:creator>			<comments>http://www.iredmail.org/wiki/index.php?title=Talk:IRedMail/FAQ/Upgrade.Roundcube.Webmail</comments>		</item>
	</channel>
</rss>