(Last Updated On: August 21, 2018)

In this blog post, I’ll take you through the installation of the latest Zimbra Collaboration 8.8.x Community Edition release on an Ubuntu 18.04 LTS server. These steps are only for single server installation, for multi-server installation of Zimbra collaboration, see our guide Zimbra Multi-Server Installation on CentOS 7

Installing Zimbra Collaboration on Ubuntu 18.04 LTS – Pre-requisites

To use this guide, you should:

  • Have Installed Ubuntu 18.04 server
  • Have ssh access to the user – user with sudo privileges
  • Have DNS server – Dnsmasq should be fine

The recommended system requirements for a Zimbra server which support up to 50 users are:

  • 4 vCPU or more depending on your available resources
  • 8 GB RAM or more
  • 50 GB available disk space
  • DNS Server

Follow steps below to install and configure Zimbra Collaboration server on your Ubuntu 18.04 server.

Step 1: Install and Configure Dnsmasq

In this guide, we will be using dnsmasq as a DNS Server. Follow this guide How to Install and Configure Dnsmasq on Ubuntu 18.04 LTS.

Set Zimbra Domain, DNS server forwarder, and the MX records.

$ sudo vim /etc/dnsmasq.conf

server=8.8.8.8
listen-address=127.0.0.1
domain=example.com                      # Define domain
mx-host=example.com,mail.example.com,0  # Set MX record for the domain, preference is 0
address=/mail.example.com/62.15.116.167 # Send example.com to 62.15.116.167

Set server hostname:

sudo hostnamectl set-hostname mail.example.com

Restart dnsmasq  service and test.

sudo systemctl restart dnsmasq

Dig for an A record of Zimbra Server.

# dig A mx-01.zimbra.computingforgeeks.com

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> A mx-01.zimbra.computingforgeeks.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40465
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mx-01.zimbra.computingforgeeks.com. IN	A

;; ANSWER SECTION:
mx-01.zimbra.computingforgeeks.com. 0 IN A 62.15.116.167

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Aug 21 14:16:01 UTC 2018
;; MSG SIZE  rcvd: 68

Also, query

# dig MX zimbra.computingforgeeks.com

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> MX zimbra.computingforgeeks.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17175
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zimbra.computingforgeeks.com.	IN	MX

;; ANSWER SECTION:
zimbra.computingforgeeks.com. 0	IN	MX	10 62.15.116.167

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Aug 21 14:18:29 UTC 2018
;; MSG SIZE  rcvd: 107

Now that we have both A record and MX, let’s begin the installation.

Step 2: Download Zimbra Collaboration Open Source Edition 8.8

As of this writing, the latest release of Zimbra is 8.8.9. Let’s download the file the o local server.

wget https://files.zimbra.com/downloads/8.8.9_GA/zcs-8.8.9_GA_3019.UBUNTU16_64.20180809160254.tgz

Extract file:

tar xvf zcs-8.8.9_GA_3019.UBUNTU16_64.20180809160254.tgz

Change to zcs-* directory,

cd zcs*/

Step 3: Install Zimbra Collaboration Open Source Edition 8.8 on Ubuntu 18.04 LTS

As of this writing, there is no Zimbra Collaboration package for Ubuntu 18.04. We will use a repository for Ubuntu 16.04 LTS but will update this guide once the packages for Ubuntu 1804 LTS are available.

Add Ubuntu 16.04 Zimbra repository

Add repository content to /etc/apt/sources.list.d/zimbra.list

# cat /etc/apt/sources.list.d/zimbra.list
deb     [arch=amd64] https://repo.zimbra.com/apt/87 xenial zimbra
deb     [arch=amd64] https://repo.zimbra.com/apt/889 xenial zimbra
deb-src [arch=amd64] https://repo.zimbra.com/apt/87 xenial zimbra

Then import GPG key:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79

Update apt index

$ sudo apt-get update
Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:2 http://sfo1.mirrors.digitalocean.com/ubuntu bionic InRelease                                                                                   
Get:3 http://sfo1.mirrors.digitalocean.com/ubuntu bionic-updates InRelease [88.7 kB]                                                            
Get:4 http://sfo1.mirrors.digitalocean.com/ubuntu bionic-backports InRelease [74.6 kB]                                        
Hit:5 http://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic InRelease                                    
Get:6 https://repo.zimbra.com/apt/87 xenial InRelease [2506 B]           
Get:7 https://repo.zimbra.com/apt/87 xenial/zimbra Sources [66.8 kB]
Get:8 https://repo.zimbra.com/apt/87 xenial/zimbra amd64 Packages [77.5 kB]
Fetched 310 kB in 3s (117 kB/s)
Reading package lists... Done

Start the installation by running

./install.sh --platform-override

The option --platform-override Allows installer to continue on an unknown OS.

Ths installation process will start, please select the packages you would like to install.,and accept the installation.

...
operations logged to /tmp/install.log.xGLw1m7m
Checking for existing installation...
    zimbra-drive...NOT FOUND
    zimbra-imapd...NOT FOUND
    zimbra-patch...NOT FOUND
    zimbra-license-tools...NOT FOUND
    zimbra-license-extension...NOT FOUND
    zimbra-network-store...NOT FOUND
    zimbra-network-modules-ng...NOT FOUND
    zimbra-chat...NOT FOUND
    zimbra-talk...NOT FOUND
    zimbra-ldap...NOT FOUND
    zimbra-logger...NOT FOUND
    zimbra-mta...NOT FOUND
    zimbra-dnscache...NOT FOUND
    zimbra-snmp...NOT FOUND
    zimbra-store...NOT FOUND
    zimbra-apache...NOT FOUND
    zimbra-spell...NOT FOUND
    zimbra-convertd...NOT FOUND
    zimbra-memcached...NOT FOUND
    zimbra-proxy...NOT FOUND
    zimbra-archiving...NOT FOUND
    zimbra-core...NOT FOUND


----------------------------------------------------------------------
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
SYNACOR, INC. ("SYNACOR") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for this Zimbra Collaboration Suite Software:
https://www.zimbra.com/license/zimbra-public-eula-2-6.html
----------------------------------------------------------------------
Do you agree with the terms of the software license agreement? [N] y

Use Zimbra's package repository [Y]
Configuring package repository
Checking for installable packages

Found zimbra-core (local)
Found zimbra-ldap (local)
Found zimbra-logger (local)
Found zimbra-mta (local)
Found zimbra-dnscache (local)
Found zimbra-snmp (local)
Found zimbra-store (local)
Found zimbra-apache (local)
Found zimbra-spell (local)
Found zimbra-memcached (repo)
Found zimbra-proxy (local)
Found zimbra-drive (repo)
Found zimbra-imapd (local)
Found zimbra-patch (repo)
Select the packages to install

Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-dnscache [Y]
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
Install zimbra-spell [Y]
Install zimbra-memcached [Y]
Install zimbra-proxy [Y]
Install zimbra-drive [Y]
Install zimbra-imapd (BETA - for evaluation only) [N]
Install zimbra-chat [Y]

Checking required space for zimbra-core
Checking space for zimbra-store
Checking required packages for zimbra-store
zimbra-store package check complete.
Installing:
    zimbra-core
    zimbra-ldap
    zimbra-logger
    zimbra-mta
    zimbra-dnscache
    zimbra-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell
    zimbra-memcached
    zimbra-proxy
    zimbra-drive
    zimbra-patch
    zimbra-chat

The system will be modified.  Continue? [N] y
....
Downloading packages (11):
   zimbra-core-components
   zimbra-ldap-components
   zimbra-mta-components
   zimbra-dnscache-components
   zimbra-snmp-components
   zimbra-store-components
   zimbra-jetty-distribution
   zimbra-apache-components
   zimbra-spell-components
   zimbra-memcached
   zimbra-proxy-components
     ...

Wait for the package to be downloaded.

Set Admin account password

Store configuration

   1) Status:                                  Enabled                                                                                               
   2) Create Admin User:                       yes                                                                                                   
   3) Admin user to create:                    [email protected]                                                                    
** 4) Admin Password                           UNSET                                                                                                 
   5) Anti-virus quarantine user:              [email protected]                                                
   6) Enable automated spam training:          yes                                                                                                   
   7) Spam training user:                      [email protected]                                                           
   8) Non-spam(Ham) training user:             [email protected]                                                           
   9) SMTP host:                               zimbra.computingforgeeks.com                                                                          
  10) Web server HTTP port:                    8080                                                                                                  
  11) Web server HTTPS port:                   8443                                                                                                  
  12) Web server mode:                         https                                                                                                 
  13) IMAP server port:                        7143                                                                                                  
  14) IMAP server SSL port:                    7993                                                                                                  
  15) POP server port:                         7110                                                                                                  
  16) POP server SSL port:                     7995                                                                                                  
  17) Use spell check server:                  yes                                                                                                   
  18) Spell server URL:                        http://zimbra.computingforgeeks.com:7780/aspell.php                                                   
  19) Enable version update checks:            TRUE                                                                                                  
  20) Enable version update notifications:     TRUE                                                                                                  
  21) Version update notification email:       [email protected]                                                                    
  22) Version update source email:             [email protected]                                                                    
  23) Install mailstore (service webapp):      yes                                                                                                   
  24) Install UI (zimbra,zimbraAdmin webapps): yes                                                                                                   

Select, or 'r' for the previous menu [r] 4

Password for [email protected] (min 6 characters): [PwFmj8wDp]

Complete configuration and apply.

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] 
Save config in file: [/opt/zimbra/config.22612] 
Saving config in /opt/zimbra/config.22612...done.
The system will be modified - continue? [No] yes

The installer script will start to configure Zimbra server. When done you should get output like below.

Finished installing common zimlets.
Restarting mailboxd...done.
Creating galsync account for default domain...done.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server.
The only information that will be transmitted is:
        The VERSION of zcs installed (8.8.9_GA_3019_UBUNTU16_64)
        The ADMIN EMAIL ADDRESS created ([email protected])                                                                         

Notify Zimbra of your installation? [Yes] n
Notification skipped
Setting up zimbra crontab...done.


Moving /tmp/zmsetup.20180821-153003.log to /opt/zimbra/log


Configuration complete - press return to exit

Accessing Zimbra Admin Dashboard

If you have an active firewall, configure it for Zimbra using Zimbra Firewall Configuration with ufw for Ubuntu and firewalld for CentOS

Access Admin interface using https://ip-addres|hostname:7071

Login with Username admin and Password configured earlier.