iredmail-doc/en_US/upgrade/0-upgrade.iredmail.0.9.7-0....

174 lines
5.9 KiB
Markdown
Raw Normal View History

# Upgrade iRedMail from 0.9.7 to 0.9.8
[TOC]
!!! warning "DO NOT APPLY THIS UPGRADE TUTORIAL"
This document is still a __DRAFT__, do NOT apply it.
!!! note "Paid Remote Upgrade Support"
We offer remote upgrade support if you don't want to get your hands dirty,
2017-11-16 21:48:44 -06:00
check [the details](https://www.iredmail.org/support.html) and
[contact us](https://www.iredmail.org/contact.html).
## ChangeLog
* TODO [LDAP backends] Update LDAP schema and slapd.conf
* slapd.conf:
- add new index for `member` and `uniqueMember`
* TODO [SQL backends] Update SQL structure:
* New column: `domain.maillists`
* New column: `forwardings.is_maillist`
* New table: `vmail.maillists`
* New doc: how to add a standalone (mlmmj) mailing list account
* New doc: how to deploy mlmmj + mlmmj-admin
2017-10-18 09:23:43 -05:00
* Oct 6, 2017: Fixed: SOGo backup script contains 3 issues
2017-10-05 19:05:42 -05:00
* Oct 6, 2017: [OPTIONAL] Fix improper expected DNSBL filter for site `b.barracudacentral.org`
* Oct 6, 2017: [OPTIONAL] Log mail subject, sender, size in mail deliver log.
## General (All backends should apply these steps)
### 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:
```
0.9.7
```
### Upgrade iRedAPD (Postfix policy server) to the latest stable release (2.2)
Please follow below tutorial to upgrade iRedAPD to the latest stable release:
[Upgrade iRedAPD to the latest stable release](./upgrade.iredapd.html)
2017-10-18 09:23:43 -05:00
### Fixed: SOGo backup script contains 3 issues
2017-10-05 19:05:42 -05:00
SOGo backup script `/var/vmail/backup/backup_sogo.sh` shipped in iRedMail-0.9.7
2017-10-18 09:23:43 -05:00
and earlier releases contains 3 issues:
2017-10-18 21:44:14 -05:00
2017-10-05 19:05:42 -05:00
- it cannot remove old backup files
- it doesn't set correct owner and permission on backup files
2017-10-18 21:44:14 -05:00
- it cannot find command `sogo-tool` on FreeBSD. This issue causes our script
didn't backup any sogo data at all.
2017-10-05 19:05:42 -05:00
To fix them, please download the latest version and override the one on your
system:
!!! attention
Script `backup_sogo.sh` uses `/var/vmail/backup` to store backup files by
default, if you use a different directory, please edit this file and modify
parameter `BACKUP_ROOTDIR=` to use the correct one.
2017-10-05 19:05:42 -05:00
```
cd /var/vmail/backup/
wget https://bitbucket.org/zhb/iredmail/raw/default/iRedMail/tools/backup_sogo.sh
chown root backup_sogo.sh
chmod 0400 backup_sogo.sh
```
### [OPTIONAL] Fix improper expected DNSBL filter for site `b.barracudacentral.org`
Postfix config file generated by iRedMail enables DNSBL service for postscreen
service like below:
```
postscreen_dnsbl_sites =
zen.spamhaus.org=127.0.0.[2..11]*3
b.barracudacentral.org=127.0.0.[2..11]*2
```
but site `b.barracudacentral.org` returns only domain `127.0.0.2` (instead of
a range from `127.0.0.2` to `127.0.0.11`), so we should change the
`b.barracudacentral.org=127.0.0.[2..11]*2` line to:
```
postscreen_dnsbl_sites =
zen.spamhaus.org=127.0.0.[2..11]*3
b.barracudacentral.org=127.0.0.2*2
```
Reloading or restarting Postfix is required.
### [OPTIONAL] Log mail subject, sender, size in mail deliver log
If you may need to get more info of (locally) delivered mail messages,
Dovecot setting `deliver_log_format` can log extra mail subject, sender, and
message size in mail deliver log. Please append this setting in Dovecot config
file `dovecot.conf`, then restart or reload Dovecot service.
* On Linux/OpenBSD, it's `/etc/dovecot/dovecot.conf`
* On FreeBSD, it's `/usr/local/etc/dovecot/dovecot.conf`
```
deliver_log_format = from=%{from}, envelope_sender=%{from_envelope}, subject=%{subject}, msgid=%m, size=%{size}, %$
```
## MySQL/MariaDB backends
### Fixed: User under disabled domain is able to send email with smtp protocol
Dovecot is IMAP/POP3/Managesieve server, also a SASL auth server for Postfix.
If mail domain is disabled, users under this domain are not able to use
IMAP/POP3/Managesieve services, but there's a bug in Dovecot SQL query, it
doesn't check domain status while performing smtp sasl auth.
Please follow steps below to fix it.
* Open file `/etc/dovecot/dovecot-mysql.conf` (Linux/OpenBSD) or
`/usr/local/etc/dovecot/dovecot-mysql.conf` (FreeBSD), find the
`password_query` line like below:
```
password_query = SELECT password, allow_nets FROM mailbox WHERE username='%u' AND enable%Ls%Lc=1 AND active=1
```
* Replace it by lines below:
```
password_query = SELECT mailbox.password, mailbox.allow_nets \
FROM mailbox,domain \
WHERE mailbox.username='%u' \
AND mailbox.`enable%Ls%Lc`=1 \
AND mailbox.active=1 \
AND mailbox.domain=domain.domain \
AND domain.backupmx=0 \
AND domain.active=1
```
* Save your change and restart Dovecot service.
## PostgreSQL backend
### Fixed: User under disabled domain is able to send email with smtp protocol
Dovecot is IMAP/POP3/Managesieve server, also a SASL auth server for Postfix.
If mail domain is disabled, users under this domain are not able to use
IMAP/POP3/Managesieve services, but there's a bug in Dovecot SQL query, it
doesn't check domain status while performing smtp sasl auth.
Please follow steps below to fix it.
* Open file `/etc/dovecot/dovecot-pgsql.conf` (Linux/OpenBSD) or
`/usr/local/etc/dovecot/dovecot-pgsql.conf` (FreeBSD), find the
`password_query` line like below:
```
password_query = SELECT password, allow_nets FROM mailbox WHERE username='%u' AND enable%Ls%Lc=1 AND active=1
```
* Replace it by lines below:
```
password_query = SELECT mailbox.password, mailbox.allow_nets \
FROM mailbox,domain \
WHERE mailbox.username='%u' \
AND mailbox."enable%Ls%Lc"=1 \
AND mailbox.active=1 \
AND mailbox.domain=domain.domain \
AND domain.backupmx=0 \
AND domain.active=1
```
* Save your change and restart Dovecot service.