Zimbra Collaboration - Prerequisites

Zimbra Collaboration 8.6 – Prerequisites

As I explained in my first entry about Zimbra Collaboration, I’m going to dedicate a few articles to explain its prerequisites, installation and configuration, and to continue with this series, I’m going to dedicate this part to the prerequisites that are necessary to install Zimbra Collaboration 8.6.

Dependencies for Zimbra Collaboration

First we have to install some dependencies that are necessary to be able to run and use Zimbra. To do this, we use the following command:

sudo apt-get install libgmp10 libperl5.18 libaio1 unzip pax sysstat sqlite3 wget

Once the dependencies are installed, we have to configure the servers network.

Network Configuration

As in any server, we will aim for a manual network configuration. It’s preferable to have a static IP instead of it being assigned by DHCP, since we want to avoid the IP from changing after some time or any restart and lose connection to the server or the mail to stop working until we fix the issue. It is also possible to configure the DHCP server to always assign the same IP to the server, but the recommended way is to use a manually assigned IP.


First we’ll review the /etc/hostname file. This file includes the name of the machine, the name we want the server to have. It does only contain one name with which the server should easily be identified (especially if you have a large number of servers). If the server is only going to be used as a mail server and for one domain or customer, something simple as “Mail“, “MailServer“, or “mail.domain.com” can be used. To review and edit this file we can use either VIM or NANO as text editors. I personally am more used to VIM:

sudo vim /etc/hostname


Once we’ve set the name of the server, we’re going to edit the /etc/hosts file. Do not confuse this file this the previous Hostname. While in the first one we set the name of the server, in this one we set which names (domains) this server will respond to. In this file we’ll put the domains with which the server will be accessible. We’ll open the file with:

sudo vim /etc/hosts

And we will find something similar to the following:       localhost       MailServer.example.com   MailServer

Under this we will probably also find some lines for IPv6, but we will ignore these since they currently do not affect us. Just under the first two lines and before the IPv6 dedicated lines, we will add the IP and the domain names we want the server to respond to:   mail MailServer mail.MailServer.com mail.dominio.com

If the server has multiple IPs, these will be added in individual lines.

Manual Network / IP Configuration

Once we have modified the Hosts and Hostname files, we’ll manually set the IP configuration. To do this, we have to edit the /etc/network/interfaces file:

sudo vim /etc/network/interfaces

Once we open this file, if we have installed Ubuntu using a DHCP network configuration, we’ll see that there will already be quite some content similar to the following:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

This configuration should be enough for any workstation or test server, but for a server that will be used in a production environment, we will have to set a manual configuration. To do this, we will comment out the following two lines:

#auto eth0
#iface eth0 inet dhcp

And add the following lines at the end making sure that the IPs are correct and part of our network:

# Static IP
auto eth0
iface eth0 inet static

dns-nameservers can be changed to any preferred DNS server. In this case we use Googles’ DNS server.

Once we’ve finished all the changes, we can apply them. The easiest way to do this is to restart the server. This can be done by using one of the following commands:

sudo reboot


sudo shutdown –r now

IMPORTANT: It’s important to review the modifications and make sure they are all correct. If there is any mistake, we may lose the connection to the server with the restart and will have to use other ways that SSH (such as vSphere or some kind of KVM) to gain access again and fix the mistake.

And with this we finish the first part of the prerequisites to install Zimbra Collaboration 8.6. In the next part we will go over how to install and configure DNSMasq and integrate it with our server so that Zimbra can make use of it.