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

178 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

# 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
```