Upgrade iRedMail from 1.0 to 1.1

Attention

Check out the lightweight on-premises email archiving software developed by iRedMail team: Spider Email Archiver.

Paid Remote Upgrade Support

We offer remote upgrade support if you don't want to get your hands dirty, check the details and contact us.

ChangeLog

General (All backends should apply these changes)

Update /etc/iredmail-release with new iRedMail version number

iRedMail stores the release version in /etc/iredmail-release after installation, 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:

1.1

Upgrade iRedAPD (Postfix policy server) to the latest stable release

Please follow below tutorial to upgrade iRedAPD to the latest stable release: Upgrade iRedAPD to the latest stable release

Upgrade iRedAdmin (open source edition) to the latest stable release

Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: Upgrade iRedAdmin to the latest stable release

Upgrade mlmmjadmin to the latest stable release

Please follow below tutorial to upgrade mlmmjadmin to the latest stable release: Upgrade mlmmjadmin to the latest stable release

Upgrade Roundcube webmail to the latest stable release

Roundcube 1.4

Since Roundcube 1.3, at least PHP 5.4 is required. If your server is running PHP 5.3 and cannot upgrade to 5.4, please upgrade Roundcube the latest 1.2 branch instead.

The latest Roundcube webmail 1.4.2 offers a shiny new web UI. Please follow Roundcube official tutorial to upgrade Roundcube webmail to the latest stable release (1.4.2):

Upgrade netdata to the latest stable release

If you have netdata installed, you can upgrade it by following this tutorial: Upgrade netdata.

Fixed: modular rsyslog config file is improper

Attention

This is applicable to only CentOS 7.

On CentOS 7, the modular rsyslog config file /etc/rsyslog.d/1-iredmail-iredapd.conf doesn't correctly filter iRedAPD log, please replace the if line by below one and restart rsyslog service:

if $syslogfacility-text == 'local5' and ($syslogtag startswith 'iredapd' or $msg startswith 'iredapd ') then -/var/log/iredapd/iredapd.log

Fixed: SOGo backup script doesn't relies on Python anymore

SOGo backup script /var/vmail/backup/backup_sogo.sh shipped in iRedMail-1.0 and earlier releases relies on Python to calculate the date of old backup for removal, but not anymore in iRedMail-1.1. Please download the latest version and override the one on your system:

cd /var/vmail/backup/
wget -O backup_sogo.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_sogo.sh
chown root backup_sogo.sh
chmod 0500 backup_sogo.sh

For OpenLDAP backend

Fixed: Backup MX doesn't work.

In iRedMail-1.0, the placeholder used by LDAP query for Backup MX domain is incorrect, please run commands below to fix it.

perl -pi -e 's#%d#%s#g' /etc/postfix/ldap/relay_domains.cf
postfix reload

Fixed: improper LDAP query filter

The LDAP query used in file /etc/postfix/ldap/virtual_group_maps.cf (Linux/OpenBSD) or /usr/local/etc/postfix/ldap/virtual_group_maps.cf (FreeBSD) is not accurate, it will cause missing external members of (not-subscribeable) mailing list with alias domain. Please follow steps below to fix it.

query_filter    = (&(accountStatus=active)(!(domainStatus=disabled))(enabledService=mail)(enabledService=deliver)(|(&(|(memberOfGroup=%s)(shadowAddress=%s))(|(objectClass=mailUser)(objectClass=mailExternalUser)))(&(memberOfGroup=%s)(!(shadowAddress=%s))(|(objectClass=mailAlias)(&(objectClass=mailList)(!(enabledService=mlmmj)))))(&(objectClass=mailList)(enabledService=mlmmj)(|(mail=%s)(shadowAddress=%s)))))

Improvement: OpenLDAP backup script doesn't relies on Python anymore

OpenLDAP backup scripts /var/vmail/backup/backup_openldap.sh and backup_mysql.sh shipped in iRedMail-1.0 and earlier releases relies on Python to calculate the date of old backup for removal, but not anymore in iRedMail-1.1. Please download the latest version and override the one on your system:

cd /var/vmail/backup/
wget -O backup_openldap.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_openldap.sh
wget -O backup_mysql.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_mysql.sh
chown root backup_openldap.sh backup_mysql.sh
chmod 0500 backup_openldap.sh backup_mysql.sh

For MySQL/MariaDB backends

Fixed: Backup MX doesn't work.

In iRedMail-1.0, the placeholder used by SQL query for Backup MX domain is incorrect, please run commands below to fix it.

perl -pi -e 's#%d#%s#g' /etc/postfix/mysql/relay_domains.cf
postfix reload

Fixed: MySQL backup script doesn't relies on Python anymore

Backup script /var/vmail/backup/backup_mysql.sh shipped in iRedMail-1.0 and earlier releases relies on Python to calculate the date of old backup for removal, but not anymore in iRedMail-1.1. Please download the latest version and override the one on your system:

cd /var/vmail/backup/
wget -O backup_mysql.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_mysql.sh
chown root backup_mysql.sh
chmod 0500 backup_mysql.sh

For PostgreSQL backend

Fixed: incorrect index on SQL table vmail.sender_relayhost

Column sender_relayhost.account should be unique index. Please follow steps below to fix it.

su - postgres
psql -d vmail
DROP INDEX idx_sender_relayhost_account;
CREATE UNIQUE INDEX idx_sender_relayhost_account ON sender_relayhost (account);

Fixed: Backup MX doesn't work.

In iRedMail-1.0, the placeholder used by SQL query for Backup MX domain is incorrect, please run commands below to fix it.

perl -pi -e 's#%d#%s#g' /etc/postfix/pgsql/relay_domains.cf
postfix reload

Fixed: PostgreSQL backup script doesn't relies on Python anymore

Backup script /var/vmail/backup/backup_pgsql.sh shipped in iRedMail-1.0 and earlier releases relies on Python to calculate the date of old backup for removal, but not anymore in iRedMail-1.1. Please download the latest version and override the one on your system:

cd /var/vmail/backup/
wget -O backup_pgsql.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_pgsql.sh
chown root backup_pgsql.sh
chmod 0500 backup_pgsql.sh