2019-12-10 06:44:43 -06:00
<!DOCTYPE html>
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< title > Upgrade iRedMail from 1.0 to 1.1< / title >
< link rel = "stylesheet" type = "text/css" href = "./css/markdown.css" / >
< / head >
< body >
< div id = "navigation" >
< a href = "https://www.iredmail.org" target = "_blank" >
< img alt = "iRedMail web site"
src="./images/logo-iredmail.png"
style="vertical-align: middle; height: 30px;"
/>
< span > iRedMail< / span >
< / a >
// < a href = "./index.html" > Document Index< / a > < / div > < h1 id = "upgrade-iredmail-from-10-to-11" > Upgrade iRedMail from 1.0 to 1.1< / h1 >
< div class = "toc" >
< ul >
< li > < a href = "#upgrade-iredmail-from-10-to-11" > Upgrade iRedMail from 1.0 to 1.1< / a > < ul >
< li > < a href = "#changelog" > ChangeLog< / a > < / li >
< li > < a href = "#general-all-backends-should-apply-these-changes" > General (All backends should apply these changes)< / a > < ul >
< li > < a href = "#update-etciredmail-release-with-new-iredmail-version-number" > Update /etc/iredmail-release with new iRedMail version number< / a > < / li >
< li > < a href = "#upgrade-iredapd-postfix-policy-server-to-the-latest-stable-release" > Upgrade iRedAPD (Postfix policy server) to the latest stable release< / a > < / li >
< li > < a href = "#upgrade-iredadmin-open-source-edition-to-the-latest-stable-release" > Upgrade iRedAdmin (open source edition) to the latest stable release< / a > < / li >
< li > < a href = "#upgrade-mlmmjadmin-to-the-latest-stable-release" > Upgrade mlmmjadmin to the latest stable release< / a > < / li >
< li > < a href = "#upgrade-roundcube-webmail-to-the-latest-stable-release" > Upgrade Roundcube webmail to the latest stable release< / a > < / li >
< li > < a href = "#upgrade-netdata-to-the-latest-stable-release" > Upgrade netdata to the latest stable release< / a > < / li >
2020-01-22 08:50:55 -06:00
< li > < a href = "#fixed-modular-rsyslog-config-file-is-improper" > Fixed: modular rsyslog config file is improper< / a > < / li >
2019-12-10 06:44:43 -06:00
< li > < a href = "#fixed-sogo-backup-script-doesnt-relies-on-python-anymore" > Fixed: SOGo backup script doesn't relies on Python anymore< / a > < / li >
< / ul >
< / li >
< li > < a href = "#for-openldap-backend" > For OpenLDAP backend< / a > < ul >
2020-01-22 08:50:55 -06:00
< li > < a href = "#fixed-backup-mx-doesnt-work" > Fixed: Backup MX doesn't work.< / a > < / li >
2020-02-02 11:46:29 -06:00
< li > < a href = "#fixed-improper-ldap-query-filter" > Fixed: improper LDAP query filter< / a > < / li >
< li > < a href = "#improvement-openldap-backup-script-doesnt-relies-on-python-anymore" > Improvement: OpenLDAP backup script doesn't relies on Python anymore< / a > < / li >
2019-12-10 06:44:43 -06:00
< / ul >
< / li >
< li > < a href = "#for-mysqlmariadb-backends" > For MySQL/MariaDB backends< / a > < ul >
2020-01-22 08:50:55 -06:00
< li > < a href = "#fixed-backup-mx-doesnt-work_1" > Fixed: Backup MX doesn't work.< / a > < / li >
2019-12-10 06:44:43 -06:00
< li > < a href = "#fixed-mysql-backup-script-doesnt-relies-on-python-anymore" > Fixed: MySQL backup script doesn't relies on Python anymore< / a > < / li >
< / ul >
< / li >
< li > < a href = "#for-postgresql-backend" > For PostgreSQL backend< / a > < ul >
2020-02-05 22:12:50 -06:00
< li > < a href = "#fixed-incorrect-index-on-sql-table-vmailsender_relayhost" > Fixed: incorrect index on SQL table vmail.sender_relayhost< / a > < / li >
2020-01-22 08:50:55 -06:00
< li > < a href = "#fixed-backup-mx-doesnt-work_2" > Fixed: Backup MX doesn't work.< / a > < / li >
2019-12-10 06:44:43 -06:00
< li > < a href = "#fixed-postgresql-backup-script-doesnt-relies-on-python-anymore" > Fixed: PostgreSQL backup script doesn't relies on Python anymore< / a > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< div class = "admonition note" >
< p class = "admonition-title" > Paid Remote Upgrade Support< / p >
< p > We offer remote upgrade support if you don't want to get your hands dirty,
check < a href = "https://www.iredmail.org/support.html" > the details< / a > and
< a href = "https://www.iredmail.org/contact.html" > contact us< / a > .< / p >
< / div >
< h2 id = "changelog" > ChangeLog< / h2 >
2020-02-10 01:44:47 -06:00
< ul >
< li > Feb 10, 2020: initial release.< / li >
< / ul >
2019-12-10 06:44:43 -06:00
< h2 id = "general-all-backends-should-apply-these-changes" > General (All backends should apply these changes)< / h2 >
< h3 id = "update-etciredmail-release-with-new-iredmail-version-number" > Update < code > /etc/iredmail-release< / code > with new iRedMail version number< / h3 >
< p > iRedMail stores the release version in < code > /etc/iredmail-release< / code > 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:< / p >
< pre > < code > 1.1
< / code > < / pre >
< h3 id = "upgrade-iredapd-postfix-policy-server-to-the-latest-stable-release" > Upgrade iRedAPD (Postfix policy server) to the latest stable release< / h3 >
< p > Please follow below tutorial to upgrade iRedAPD to the latest stable release:
< a href = "./upgrade.iredapd.html" > Upgrade iRedAPD to the latest stable release< / a > < / p >
< h3 id = "upgrade-iredadmin-open-source-edition-to-the-latest-stable-release" > Upgrade iRedAdmin (open source edition) to the latest stable release< / h3 >
< p > Please follow this tutorial to upgrade iRedAdmin open source edition to the
latest stable release:
< a href = "./migrate.or.upgrade.iredadmin.html" > Upgrade iRedAdmin to the latest stable release< / a > < / p >
< h3 id = "upgrade-mlmmjadmin-to-the-latest-stable-release" > Upgrade mlmmjadmin to the latest stable release< / h3 >
< p > Please follow below tutorial to upgrade mlmmjadmin to the latest stable release:
< a href = "./upgrade.mlmmjadmin.html" > Upgrade mlmmjadmin to the latest stable release< / a > < / p >
< h3 id = "upgrade-roundcube-webmail-to-the-latest-stable-release" > Upgrade Roundcube webmail to the latest stable release< / h3 >
< div class = "admonition warning" >
< p class = "admonition-title" > Roundcube 1.4< / p >
< p > Since Roundcube 1.3, at least < strong > PHP 5.4< / strong > 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.< / p >
< / div >
2020-02-10 01:44:47 -06:00
< p > The latest Roundcube webmail 1.4.2 offers a shiny new web UI.
2019-12-10 06:44:43 -06:00
Please follow Roundcube official tutorial to upgrade Roundcube webmail to the
2020-02-10 01:44:47 -06:00
latest stable release (1.4.2):< / p >
2019-12-10 06:44:43 -06:00
< ul >
< li > < a href = "https://github.com/roundcube/roundcubemail/wiki/Upgrade" > How to upgrade Roundcube< / a > .< / li >
< / ul >
< h3 id = "upgrade-netdata-to-the-latest-stable-release" > Upgrade netdata to the latest stable release< / h3 >
< p > If you have netdata installed, you can upgrade it by following this tutorial:
< a href = "./upgrade.netdata.html" > Upgrade netdata< / a > .< / p >
2020-01-22 08:50:55 -06:00
< h3 id = "fixed-modular-rsyslog-config-file-is-improper" > Fixed: modular rsyslog config file is improper< / h3 >
< div class = "admonition attention" >
< p class = "admonition-title" > Attention< / p >
< p > This is applicable to only CentOS 7.< / p >
< / div >
< p > On CentOS 7, the modular rsyslog config file
< code > /etc/rsyslog.d/1-iredmail-iredapd.conf< / code > doesn't correctly filter iRedAPD log,
please replace the < code > if< / code > line by below one and restart rsyslog service:< / p >
< pre > < code > if $syslogfacility-text == 'local5' and ($syslogtag startswith 'iredapd' or $msg startswith 'iredapd ') then -/var/log/iredapd/iredapd.log
< / code > < / pre >
2019-12-10 06:44:43 -06:00
< h3 id = "fixed-sogo-backup-script-doesnt-relies-on-python-anymore" > Fixed: SOGo backup script doesn't relies on Python anymore< / h3 >
< p > SOGo backup script < code > /var/vmail/backup/backup_sogo.sh< / code > 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:< / p >
< pre > < code > 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
< / code > < / pre >
< h2 id = "for-openldap-backend" > For OpenLDAP backend< / h2 >
2020-01-22 08:50:55 -06:00
< h3 id = "fixed-backup-mx-doesnt-work" > Fixed: Backup MX doesn't work.< / h3 >
< p > In iRedMail-1.0, the placeholder used by LDAP query for Backup MX domain is
incorrect, please run commands below to fix it.< / p >
< pre > < code > perl -pi -e 's#%d#%s#g' /etc/postfix/ldap/relay_domains.cf
postfix reload
< / code > < / pre >
2020-02-02 11:46:29 -06:00
< h3 id = "fixed-improper-ldap-query-filter" > Fixed: improper LDAP query filter< / h3 >
< p > The LDAP query used in file < code > /etc/postfix/ldap/virtual_group_maps.cf< / code >
(Linux/OpenBSD) or < code > /usr/local/etc/postfix/ldap/virtual_group_maps.cf< / code >
2020-02-10 01:44:47 -06:00
(FreeBSD) is not accurate, it will cause missing external members of
(not-subscribeable) mailing list with alias domain.
2020-02-02 11:46:29 -06:00
Please follow steps below to fix it.< / p >
< ul >
< li > Open file < code > /etc/postfix/ldap/virtual_group_maps.cf< / code >
(Linux/OpenBSD) or < code > /usr/local/etc/postfix/ldap/virtual_group_maps.cf< / code > , replace
the < code > query_filter =< / code > line by below one:< / li >
< / ul >
2020-02-04 21:57:54 -06:00
< pre > < code > 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)))))
2020-02-02 11:46:29 -06:00
< / code > < / pre >
< ul >
< li > Save your change and restart or reload Postfix service.< / li >
< / ul >
< h3 id = "improvement-openldap-backup-script-doesnt-relies-on-python-anymore" > Improvement: OpenLDAP backup script doesn't relies on Python anymore< / h3 >
2020-04-18 00:28:23 -05:00
< p > OpenLDAP backup scripts < code > /var/vmail/backup/backup_openldap.sh< / code > and
< code > backup_mysql.sh< / code > 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:< / p >
2019-12-10 06:44:43 -06:00
< pre > < code > cd /var/vmail/backup/
wget -O backup_openldap.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_openldap.sh
2020-06-17 05:19:04 -05:00
wget -O backup_mysql.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_mysql.sh
2020-04-18 00:28:23 -05:00
chown root backup_openldap.sh backup_mysql.sh
chmod 0500 backup_openldap.sh backup_mysql.sh
2019-12-10 06:44:43 -06:00
< / code > < / pre >
< h2 id = "for-mysqlmariadb-backends" > For MySQL/MariaDB backends< / h2 >
2020-01-22 08:50:55 -06:00
< h3 id = "fixed-backup-mx-doesnt-work_1" > Fixed: Backup MX doesn't work.< / h3 >
< p > In iRedMail-1.0, the placeholder used by SQL query for Backup MX domain is
incorrect, please run commands below to fix it.< / p >
< pre > < code > perl -pi -e 's#%d#%s#g' /etc/postfix/mysql/relay_domains.cf
postfix reload
< / code > < / pre >
2019-12-10 06:44:43 -06:00
< h3 id = "fixed-mysql-backup-script-doesnt-relies-on-python-anymore" > Fixed: MySQL backup script doesn't relies on Python anymore< / h3 >
< p > Backup script < code > /var/vmail/backup/backup_mysql.sh< / code > 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:< / p >
< pre > < code > 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
< / code > < / pre >
< h2 id = "for-postgresql-backend" > For PostgreSQL backend< / h2 >
2020-02-05 22:12:50 -06:00
< h3 id = "fixed-incorrect-index-on-sql-table-vmailsender_relayhost" > Fixed: incorrect index on SQL table < code > vmail.sender_relayhost< / code > < / h3 >
< p > Column < code > sender_relayhost.account< / code > should be unique index. Please follow steps below to fix it.< / p >
< ul >
< li > Connect to PostgreSQL server as < code > postgres< / code > user and connect to < code > vmail< / code > database:< ul >
< li > on Linux, it's < code > postgres< / code > user< / li >
< li > on FreeBSD, it's < code > pgsql< / code > user< / li >
< li > on OpenBSD, it's < code > _postgresql< / code > user< / li >
< / ul >
< / li >
< / ul >
< pre > < code > su - postgres
psql -d vmail
< / code > < / pre >
< ul >
< li > Run SQL commands below:< / li >
< / ul >
< pre > < code > DROP INDEX idx_sender_relayhost_account;
CREATE UNIQUE INDEX idx_sender_relayhost_account ON sender_relayhost (account);
< / code > < / pre >
2020-01-22 08:50:55 -06:00
< h3 id = "fixed-backup-mx-doesnt-work_2" > Fixed: Backup MX doesn't work.< / h3 >
< p > In iRedMail-1.0, the placeholder used by SQL query for Backup MX domain is
incorrect, please run commands below to fix it.< / p >
< pre > < code > perl -pi -e 's#%d#%s#g' /etc/postfix/pgsql/relay_domains.cf
postfix reload
< / code > < / pre >
2019-12-10 06:44:43 -06:00
< h3 id = "fixed-postgresql-backup-script-doesnt-relies-on-python-anymore" > Fixed: PostgreSQL backup script doesn't relies on Python anymore< / h3 >
< p > Backup script < code > /var/vmail/backup/backup_pgsql.sh< / code > 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:< / p >
< pre > < code > 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
< / code > < / pre > < div class = "footer" >
2019-12-31 00:07:48 -06:00
< p style = "text-align: center; color: grey;" > All documents are available in < a href = "https://github.com/iredmail/docs/" > GitHub repository< / a > , and published under < a href = "http://creativecommons.org/licenses/by-nd/3.0/us/" target = "_blank" > Creative Commons< / a > license. You can < a href = "https://github.com/iredmail/docs/archive/master.zip" > download the latest version< / a > for offline reading. If you found something wrong, please do < a href = "https://www.iredmail.org/contact.html" > contact us< / a > to fix it.< / p >
2019-12-10 06:44:43 -06:00
< / div >
<!-- Global site tag (gtag.js) - Google Analytics -->
< script async src = "https://www.googletagmanager.com/gtag/js?id=UA-3293801-21" > < / script >
< script >
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-3293801-21');
< / script >
< / body > < / html >