Zimbra Upgrade on Ubuntu LTS

This guide is divided into two parts

  • Single server upgrade
  • Multi-server upgrade

Zimbra Postscreen is enabled by default on Zimbra 8.7 and above. The only thing you need to do is to change its attributes default values to your liking according to your environment.

In each part, you will find the upgrade procedure covering problems you may face during the upgrade. This guide will be useful for upgrading from every version of Zimbra as long as there isn’t any specific error for upgrading from a specific version to some versions. In general, the best practice would be upgrading from a version to the last possible version in the same release then upgrade to the next release (from 7.0 to 7.10 then to 8.8.15), it does not mean that you cannot upgrade directly to the next release, it will upgrade seemingly without any problem but in the core, some files might be missing.

Upgrade Procedure*

* This guide shows you how to upgrade (major.minor changes) and update (patches) Zimbra on Ubuntu from an older version (prior to 8.8.15) to the latest one. The below process works for every Zimbra release up to 8.8.8. After that version, the update only requires an apt update for zimbra-patch package.

Single Server

The upgrade procedure is very similar to installation. We should download the Zimbra version we are upgrading to, by wget something like the command wget https://files.zimbra.com/downloads/zimbraVersion/zimbraFileName. but with a Zimbra version compatible with your server machine. To find out the address of the file you should substitute with the address above you should go to Zimbra download page and copy the address of 64bitx86 download link and put it in front of wget command. For example,

If you run one of the Ubuntu 14.04 LTS operating systems you should use this command

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU14_64.20190918004220.tgz

If you run one of the Ubuntu 16.04 LTS operating systems you should use this command

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU16_64.20190918004220.tgz

If you run one of the Ubuntu 18.04 LTS operating systems you should use this command

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz

Then we extract it by

tar zxvf zimbraFileName.tgz

Note that you should put only the file name and .tgz not the download link. The file name starts with zcs. like zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz

And go to the extracted folder by

cd zimbraFileName

Note that you should put only the file name not the .tgz which is the name of the extracted folder. Something like cd zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.

Now install Zimbra by running the install.sh file.

./install.sh

Here it checks if you have proxy and memcached installed if not it gives you an error and you should install them separately before proceeding.

Accept the license agreement by entering y. Say also yes to “Use Zimbra’s packaging server”. Then it asks if you want to upgrade, say yes. It will show you the packages that are not installed previously, you can install them now if you want. Then it asks if it’s OK to modify the system, say yes. To complete the configuration press Enter.

Go to the Zimbra server as root by

su - zimbra

Fix the default globalconfig values by

zmprov modifyConfig zimbraMtaCommandDirectory /opt/zimbra/common/sbin
zmprov modifyConfig zimbraMtaDaemonDirectory /opt/zimbra/common/libexec
zmprov modifyConfig zimbraMtaMailqPath /opt/zimbra/common/sbin/mailq
zmprov modifyConfig zimbraMtaManpageDirectory /opt/zimbra/common/share/man
zmprov modifyConfig zimbraMtaNewaliasesPath /opt/zimbra/common/sbin/newaliases
zmprov modifyConfig zimbraMtaSendmailPath /opt/zimbra/common/sbin/sendmail

Disable DSPAM by

zmprov modifyServer `zmhostname` zimbraAmavisDSPAMEnabled FALSE
zmlocalconfig -e amavis_dspam_enabled=false
zmamavisdctl restart

Multi-Server

The upgrade procedure is very similar to multi-server installation, you should upgrade each server in this order, LDAP master, LDAP replicas, MTA servers, Proxy servers, and Mailbox servers.

For each server use the single server installation procedure. You have to wait for each update to end before proceeding to the next server upgrade.

As we explained in the single server upgrade before, you should fix the default values after the installation, however, note that if you have multiple MTA servers, after fixing the default global config values on the first MTA server, the others stop working. The reason is the modifyConfig command affects the old servers too. In order to solve this problem, you should first, fix the path at the server level using modifyServer when updating each server, then after upgrading all the servers modify the global config and reset the server values using modifyConfig. Therefore, first fix the path at the server level using modifyServer as opposed to modifyConfig as follows

zmprov modifyServer `zmhostname` zimbraMtaCommandDirectory /opt/zimbra/common/sbin
zmprov modifyServer `zmhostname` zimbraMtaDaemonDirectory /opt/zimbra/common/libexec
zmprov modifyServer `zmhostname` zimbraMtaMailqPath /opt/zimbra/common/sbin/mailq
zmprov modifyServer `zmhostname` zimbraMtaManpageDirectory /opt/zimbra/common/share/man
zmprov modifyServer `zmhostname` zimbraMtaNewaliasesPath /opt/zimbra/common/sbin/newaliases
zmprov modifyServer `zmhostname` zimbraMtaSendmailPath /opt/zimbra/common/sbin/sendmail

and then you finished the upgrade on all servers, you can modify the global config using modifyConfig as before.

Product marketing and technical writer at Zextras, an open-source and technology enthusiast who creates instructional and technical articles about Zextras and Zimbra.

Post your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Postscreen Attributes Explained
What is Zimbra log4j?