iredmail-doc/en_US/upgrade/0-upgrade.iredmail.1.4.1-1....

4.6 KiB

Upgrade iRedMail from 1.4.1 to 1.4.2

[TOC]

!!! note "Paid Remote Upgrade Support"

We offer remote upgrade support if you don't want to get your hands dirty,
check [the details](https://www.iredmail.org/support.html) and
[contact us](https://www.iredmail.org/contact.html).

ChangeLog

  • Sep 13, 2021: Initial release.

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.4.2

For OpenLDAP backend

Remove unused LDAP attributes

Few LDAP attributes in iredmail.schema file are not used since day one, it's time to remove them:

  • lastLoginDate
  • lastLoginIP
  • lastLoginProtocol

Download the latest iRedMail LDAP schema file

  • On RHEL/CentOS:
wget -O /tmp/iredmail.schema https://github.com/iredmail/iRedMail/raw/1.4.2/samples/iredmail/iredmail.schema
mv /etc/openldap/schema/iredmail.schema{,.bak}
cp -f /tmp/iredmail.schema /etc/openldap/schema/
service slapd restart
  • On Debian/Ubuntu:
wget -O /tmp/iredmail.schema https://github.com/iredmail/iRedMail/raw/1.4.2/samples/iredmail/iredmail.schema
mv /etc/ldap/schema/iredmail.schema{,.bak}
cp -f /tmp/iredmail.schema /etc/ldap/schema/
service slapd restart
  • On FreeBSD:
wget -O /tmp/iredmail.schema https://github.com/iredmail/iRedMail/raw/1.4.2/samples/iredmail/iredmail.schema
mv /usr/local/etc/openldap/schema/iredmail.schema{,.bak}
cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/
service slapd restart
  • On OpenBSD:

    Note: if you're running ldapd as LDAP server, the schema directory is /etc/ldap, and service name is ldapd.

cd /tmp
ftp https://github.com/iredmail/iRedMail/raw/1.4.2/samples/iredmail/iredmail.schema
mv /etc/openldap/schema/iredmail.schema{,.bak}
cp -f /tmp/iredmail.schema /etc/openldap/schema/
rcctl restart slapd

For MySQL and MariaDB backends

Fix incorrect SQL column types and remove unused columns in vmail.mailbox tables

iRedMail-1.4.1 introduced 3 new columns used to enable or disable per-user SOGo webmail, calendar and activesync services, but they were set to improper column CHAR(1) because SOGo doesn't support it, we will change them to VARCHAR(1):

  • enablesogowebmail
  • enablesogocalendar
  • enablesogoactivesync

3 columns are not used at all:

  • lastlogindate
  • lastloginipv4
  • lastloginprotocol

Please download plain SQL file used to update SQL table, then import it as MySQL root user (Please run commands below as root user):

wget -O /tmp/iredmail.mysql https://github.com/iredmail/iRedMail/raw/1.4.2/update/1.4.2/iredmail.mysql
mysql vmail < /tmp/iredmail.mysql
rm -f /tmp/iredmail.mysql

For PostgreSQL backend

Fix incorrect SQL column types and remove unused columns in vmail.mailbox tables

iRedMail-1.4.1 introduced 3 new columns used to enable or disable per-user SOGo webmail, calendar and activesync services, but they were set to improper column CHAR(1) because SOGo doesn't support it, we will change them to VARCHAR(1):

  • enablesogowebmail
  • enablesogocalendar
  • enablesogoactivesync

3 columns are not used at all:

  • lastlogindate
  • lastloginipv4
  • lastloginprotocol

Download plain SQL file used to update SQL table:

wget -O /tmp/iredmail.pgsql https://github.com/iredmail/iRedMail/raw/1.4.2/update/1.4.2/iredmail.pgsql
chmod +r /tmp/iredmail.pgsql
  • Connect to PostgreSQL server as postgres user and import the SQL file:
    • on Linux, it's postgres user
    • on FreeBSD, it's pgsql user
    • on OpenBSD, it's _postgresql user
su - postgres
psql -d vmail < /tmp/iredmail.pgsql
  • Remove downloaded file:
rm -f /tmp/iredmail.pgsql

SOGo: Re-create SQL VIEW and update config file

Download plain SQL file used to update SQL table:

wget -O /tmp/sogo.pgsql https://github.com/iredmail/iRedMail/raw/1.4.2/update/1.4.2/sogo.pgsql
chmod +r /tmp/sogo.pgsql

Please open file /tmp/sogo.pgsql, replace string VMAIL_DB_BIND_PASSWD by the real password of SQL user vmail. You can find the password in any file under /etc/postfix/pgsql/.

After updated /tmp/sogo.pgsql, please connect to PostgreSQL server as postgres user and import the SQL file:

  • on Linux, it's postgres user
  • on FreeBSD, it's pgsql user
  • on OpenBSD, it's _postgresql user
su - postgres
psql -d sogo < /tmp/sogo.pgsql
  • Remove downloaded file:
rm -f /tmp/sogo.pgsql