Zimbra is an easy to use piece of unified collaboration software. Being one of the best free, open source collaboration software available, Zimbra includes email, calendaring, file sharing, activity streams, social communities and much more! Zimbra comes in two different forms: a free open source edition and a paid version.
Zimbra runs on several different distributions of Linux. This makes it stable, scalable and secure. In this article, we’ll be using CentOS, specifically version 6.5 64-bit. The minimum system requirements for Zimbra are pretty high and will require a large droplet to be created. The system requirements are:
· A CPU of 1.5GHz.
· A minimum of 3GB or RAM (recommended 4GB RAM).
· 5GB free space for software and logs.
· Additional disk space for mail storage.
During testing, we couldn’t get Zimbra to install on a $5 or $10 VPS, most likely to due to the memory limitation. We started to get lucky on the $20 VPS; the system worked well, however, 2GB is below the minimum requirements. Therefore a $40 Droplet (4GB) is recommended when deploying Zimbra in a production environment.
When giving your Droplet a hostname, you’ll need to include a full FQDN, including the domain and tld. For example, I could call the droplet mail.example.com, if my main domain name was example.com (Obviously, you don’t have to call it mail if you don’t want to)!
Once you’ve created your Droplet, login via SSH with PuTTY.
First, we need to ensure that CentOS is up to date. Therefore, we’ll run the following command:
yum update –y
Next, we need to install some pre-requisites. Since there are 12 different applications required to install Zimbra, we can handle the installation in one single command:
yum install -y gmp libidn wget nano make nc sudo sysstat libtool-ltdl glibc perl ntp
Next, we’ll need to install check if postfix is running – if it is, disable it. Since we cannot have two different mail transfer agents running, postfix must go.
service postfix status
If postfix is running, we’ll need to disable it:
service postfix stop && chkconfig postfix off
Because Zimbra is a collaboration server, it includes a fully functional mail server. This means that we must configure the DNS for our domain name for use in Zimbra. There’s a few different ways of achieving this.
The firstly and easiest method is to use the DigitalOcean DNS tab in the control panel. What this requires is three name servers to be set in your domain panel. To setup DigitalOcean DNS for your domain, head over to the DNS tab in the DO control panel. Once there, add your domain.
Once you’ve added your domain, add the following records to your DNS settings. In this example, the IP address
18.104.22.168 is used for my DigitalOcean Droplet. However, yours will be different, so set this value to your Droplet IP. The second value should point to mail.example.com (your Droplet FQDN) with a high priority (lowest number).
You should now make a note of the DigitalOcean name servers for your domain. They can be seen by the yellow NS markings in your domain DNS. Keep this information handy, as you’ll need to configure it in your CentOS installation shortly. Please remember that your changes may take up to 48 hours to propagate.
If you’re using your own DNS panel, the same method still applies, however you’ll have a different layout of control panel and different name servers. You should still make a note of the name servers, as you’ll need to configure them in your CentOS installation as above.
Next, we’ll need to visit the following URL to get a download link for the latest version of Zimbra. The version being used in this article is the 8.0.7 GA release. To find the latest version of the software, simply head over to the Zimbra website.
Once there, you’ll need to copy the link for the Red Hat and CentOS install file by right clicking and copying the link. Keep the link handy, you’ll need it next.
Now, we’ll need to download the file from the Zimbra website and store it on our Droplet. But first, we’ll need to create a folder to store it in.
Next, enter that directory:
And then fetch the file from the Zimbra website. You can use wget to achieve this. Obviously, you’ll need to place the URL you copied earlier into this command rather than using the link here.
This will download the file from the Zimbra website, saving it into the zcsinstall folder we created.
Now we’ll need to edit the hosts file in CentOS to contain the IP address of the Droplet, the FQDN, and name of the server. We can do this by typing:
Once opened, the hosts file should look similar to the following:
You’ll need to edit the file to contain another row with your Droplet’s IP address, FQDN and name. The line should look like the following:
22.214.171.124 mail.example.com mail
You’ll need to ensure that you replace the above with the actual data values for your Droplet. You should also make sure that you use a tabbed space between each value. This means that you’ll have a host file looking something similar to:
Once done, press
CTRL+O and then
Enter to save. Then press
CTRL+X to return.
The next stage is to unpack the tgz file we downloaded earlier. To do this, we can execute the following command:
tar zxvf zcs-*.tgz
Next, change directory into the folder that the files were extracted into:
Finally, we can run the installer.
Once the installer starts, you’ll need to accept the license agreements by pressing
Y at each license prompt. When you reach the ‘select packages to install’ section, simply press enter at each of the options which will select the default value.
You may get the following error during installation:
This error is presented by Zimbra because it’s looking for an MX record for the domain ‘subdomain.example.com’. Instead, we want it to search for an MX record for ‘example.com’. This means that we should press `Y``, and change the domain name to just ‘example.com’.
If you get a port conflict error, you may need to exit the installer and resolve the issue before continuing.
You’ll soon reach the configuration page, similar to that below. First we should choose option 3 to allow us to enter the zimbra-store section.
Address unconfigured (**) items (? – help) 3
Next, choose 3 again. This will allow us to configure the admin username and password.
Select, or 'r' for previous menu [r] 3 Create admin user: [email@example.com] firstname.lastname@example.org Password for email@example.com (min 6 characters): [_6ty6y8ui] password
Next, choose r to return to the previous menu.
Select, or 'r' for previous menu [r] r
Then, choose 1 to go to the common configuration section.
*** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) 1
After this, choose 6 to edit the time zone.
Select, or 'r' for previous menu [r] 6
Here, you should choose the number relative to the time zone you’re in. For example, you could type 83 to get the Europe/London time zone.
Enter the number for the local timezone:  83
Then choose ‘r’ to return and ‘a’ to apply the configuration. You should also choose the log the installation to a file, in case any errors arise.
Select, or 'r' for previous menu [r] r
*** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) a Save configuration data to a file? [Yes] yes Save config in file: [/opt/zimbra/config.7622] /root/zimbra-installation.txt Saving config in /root/zimbra-installation.txt...done. The system will be modified - continue? [No] yes
The system will then continue the installation. Setup of Zimbra should take about 20 minutes, depending on the Droplet size you selected.
Finally, you’ll be given the option of notifying Zimbra of the installation, which allows them to track the uptake of their products. You can either type ‘yes’ or ‘no’ here, either way, this is the final step of the installation. You can make sure that the installation was successful from the final confirmation message:
Configuration complete – press return to exit
It is recommended that you reboot your Droplet.
The control panel can be easily accessed by visiting the following URL:
If there are any issues with your installation, please comment below.
<div class=“author”>Submitted by: <a href=" http://www.benstechtips.net/go/doarticle">Ben Johnson</a></div>
If you’ve enjoyed this tutorial and our broader community, consider checking out our DigitalOcean products which can also help you achieve your development goals.