Learn how to – Install Zimbra 8.8 on Ubuntu 20.04/18.04/16.04.
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 20.04/18.04/16.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
For Zimbra 9 installation, refer to the guide in below link:
To use this guide, you should have the following;
- Installed Ubuntu 20.04/18.04/16.04 server
- SSH access to the server – user with sudo privileges
- DNS server – Dnsmasq or Bind DNS server 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
In this setup we’ll use the following DNS information for Zimbra 9 setup.
FQDN Name | DNS Record Type | Value |
zimbra.ownyourlife.com.ng | A | 192.168.100.10 |
ownyourlife.com.ng | MX | zimbra.ownyourlife.com.ng |
Follow steps below to install and configure Zimbra Collaboration server on your Ubuntu 20.04/18.04/16.04
Step 1: Install and Configure Bind DNS server
Zimbra requires A and MX records configured in your DNS server. If you don’t have an active DNS server we’ve simplified the process of setting up DNS server using Bind. The process is scripted for easy usage by the user.
Update your system before performing any other operation.
# Ubuntu
sudo apt update && sudo apt -y full-upgrade
[ -f /var/run/reboot-required ] && sudo reboot -f
Also install git required to download setup automation scripts
sudo apt install git -y
Option 1: Using Bind DNS server
We have bash scripts available on Github repository that you can use to configure Bind DNS server. Use git
to clone the repo to your system.
cd ~/
git clone https://github.com/jmutai/scripts.git
Navigate to scripts/zimbra folder.
cd scripts/zimbra/
Run the script called zimbra_bind_setup_ubuntu.sh
to configure Bind DNS server on your system.
$ ./zimbra_bind_setup_ubuntu.sh
Begin installation and configuration by pressing <Enter>
Internet connectivity is required for packages installation...
Press key enter to continue <Enter>
Input your Zimbra server Domain, short version of hostname, and its IP address. These details are used to configure DNS server.
Input Zimbra Base Domain. E.g example.com : ownyourlife.com.ng
Input Zimbra Mail Server hostname (first part of FQDN). E.g mail : zimbra
Input Zimbra Server IP Address : 192.168.100.10
Test DNS server works
$ dig A zimbra.ownyourlife.com.ng @127.0.0.1 +short
192.168.100.10
$ dig MX ownyourlife.com.ng @127.0.0.1 +short
zimbra.ownyourlife.com.ng.
You can now use configured DNS server in your Zimbra installation – A and MX records are the only configurations required for the setup.
Option 2: Using Dnsmasq as your DNS server
If you’re interested in using Dnsmasq as opposed to Bind, follow this guide Install and Configure Dnsmasq on Ubuntu for the installation process.
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/192.168.100.10 # Send example.com to 192.168.100.10
Set server hostname:
sudo hostnamectl set-hostname mail.example.com
Add Server name and IP address to /etc/hosts
file.
$ sudo vim /etc/hosts
192.168.100.10 mail.example.com
Restart dnsmasq
service and test.
sudo systemctl restart dnsmasq
Dig for an A record of Zimbra Server.
$ dig A zimbra.ownyourlife.com.ng
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> A zimbra.ownyourlife.com.ng @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14888
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zimbra.ownyourlife.com.ng. IN A
;; ANSWER SECTION:
zimbra.ownyourlife.com.ng. 0 IN A 192.168.100.10
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Apr 01 21:58:39 CEST 2019
;; MSG SIZE rcvd: 73
Also, query MX record of your domain. Should return Zimbra server IP Address.
$ dig MX ownyourlife.com.ng
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> MX zimbra.ownyourlife.com.ng @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25343
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zimbra.ownyourlife.com.ng. IN MX
;; ANSWER SECTION:
zimbra.ownyourlife.com.ng. 0 IN MX 0 zimbra.ownyourlife.com.ng.
;; ADDITIONAL SECTION:
zimbra.ownyourlife.com.ng. 0 IN A 192.168.100.10
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Apr 01 21:59:40 CEST 2019
;; MSG SIZE rcvd: 117
Now that we have both A record and MX, let’s begin the installation of Zimbra 8.8 on Ubuntu 20.04/18.04/16.04.
Step 2: Install dependency packages
Ensure git is installed.
sudo apt install git
Clone repository scripts from Github repo
cd ~
git clone https://github.com/jmutai/scripts.git
Enter the directory and install required dependency packages.
cd scripts/zimbra/
./zimbra_bind_setup_ubuntu.sh
Input Zimbra domain, hostname(short version), and IP address of the server.
Input Zimbra Base Domain. E.g example.com : ownyourlife.com.ng
Input Zimbra Mail Server hostname (first part of FQDN). E.g mail : zimbra
Input Zimbra Server IP Address : 192.168.100.10
Step 3: Download Zimbra Collaboration Open Source Edition
As of this writing, the latest release of Zimbra is 8.8.15. Let’s download the file to our local server.
# Ubuntu 20.04
cd ~/
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz
# Ubuntu 18.04
cd ~/
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz
# Ubuntu 16.04
cd ~/
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU16_64.20190918004220.tgz
Extract the file once it’s downloaded.
tar xvf zcs-8.8.15_GA_*.tgz
Change to zcs-* directory,
cd zcs*/
Step 4: Install Zimbra Collaboration on Ubuntu 20.04/18.04/16.04
We are ready to start the installation of Zimbra Collaboration Open Source Edition on Ubuntu 20.04/18.04/16.04.
Run the installer script – This is an all in one server installation.
$ sudo ./install.sh
Operations logged to /tmp/install.log.DM7y8xw8
Checking for existing installation...
zimbra-drive...NOT FOUND
zimbra-imapd...NOT FOUND
zimbra-patch...NOT FOUND
zimbra-mta-patch...NOT FOUND
zimbra-proxy-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
----------------------------------------------------------------------
1.
Type “Y” to accept license terms and start the installation.
Do you agree with the terms of the software license agreement? [N] Y
2.
Agree to use Zimbra package repository.
Use Zimbra's package repository [Y] Y
Warning: apt-key output should not be parsed (stdout is not a terminal)
Importing Zimbra GPG key
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)
Found zimbra-mta-patch (repo)
Found zimbra-proxy-patch (repo)
3.
Select the packages to install
Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-dnscache [Y] N
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-mta-patch
zimbra-proxy-patch
zimbra-chat
4.
Agree to system modification.
The system will be modified. Continue? [N] Y
Download and installation of Zimbra packages will start.
Downloading packages (12):
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
zimbra-mta-patch
...done
Removing /opt/zimbra
Removing zimbra crontab entry...done.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/security/limits.conf...done.
Finished removing Zimbra Collaboration Server.
Installing repo packages (12):
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
zimbra-mta-patch
...
Set Admin account password – 7>4
7) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@zimbra.ownyourlife.com.ng
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.pynmkvgruh@zimbra.ownyourlife.com.ng
+Enable automated spam training: yes
+Spam training user: spam.ab7ufdyr@zimbra.ownyourlife.com.ng
+Non-spam(Ham) training user: ham.l4s_ar23@zimbra.ownyourlife.com.ng
+SMTP host: zimbra.ownyourlife.com.ng
+Web server HTTP port: 8080
+Web server HTTPS port: 8443
+Web server mode: https
+IMAP server port: 7143
+IMAP server SSL port: 7993
+POP server port: 7110
+POP server SSL port: 7995
+Use spell check server: yes
+Spell server URL: //zimbra.ownyourlife.com.ng:7780/aspell.php
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@zimbra.ownyourlife.com.ng
+Version update source email: admin@zimbra.ownyourlife.com.ng
+Install mailstore (service webapp): yes
+Install UI (zimbra,zimbraAdmin webapps): yes
.....
Password for admin@zimbra.ownyourlife.com.ng (min 6 characters): [8441mra12P] MyAdminPassw0rd
Complete configuration and apply.
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-logger: Enabled
4) zimbra-mta: Enabled
5) zimbra-dnscache: Enabled
6) zimbra-snmp: Enabled
7) zimbra-store: Enabled
8) zimbra-spell: Enabled
9) zimbra-proxy: Enabled
10) Default Class of Service Configuration:
s) Save config to file
x) Expand menu
q) Quit
*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] <Enter>
Save config in file: [/opt/zimbra/config.24171]
Saving config in /opt/zimbra/config.24171…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.
Starting servers...done.
Installing common zimlets...
com_zimbra_cert_manager...done.
com_zimbra_adminversioncheck...done.
com_zimbra_attachcontacts...done.
com_zimbra_viewmail...done.
com_zimbra_attachmail...done.
com_zimbra_url...done.
com_zimbra_webex...done.
com_zimbra_bulkprovision...done.
com_zimbra_proxy_config...done.
com_zimbra_mailarchive...done.
com_zextras_chat_open...done.
com_zimbra_ymemoticons...done.
com_zimbra_clientuploader...done.
com_zimbra_date...done.
com_zimbra_srchhighlighter...done.
com_zimbra_tooltip...done.
com_zextras_drive_open...done.
com_zimbra_phone...done.
com_zimbra_email...done.
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.12_GA_3794_UBUNTU18_64)
The ADMIN EMAIL ADDRESS created (admin@zimbra.ownyourlife.com.ng)
Notify Zimbra of your installation? [Yes]
Checking if the NG started running...done.
Setting up zimbra crontab...done.
Moving /tmp/zmsetup.20190401-221739.log to /opt/zimbra/log
Configuration complete - press return to exit
Confirm Zimbra services status.
$ sudo su - zimbra -c "zmcontrol status"
Host zimbra.ownyourlife.com.ng
amavis Running
antispam Running
dnscache Running
ldap Running
logger Running
mailbox Running
memcached Running
mta Running
opendkim Running
proxy Running
service webapp Running
snmp Running
spell Running
stats Stopped
zimbra webapp Running
zimbraAdmin webapp Running
zimlet webapp Running
zmconfigd Running
Step 5: Accessing Zimbra Admin Dashboard
If you have an active firewall, configure it for Zimbra using our guide below:
Access Admin interface using https://ipaddres_or_hostname:7071
Login with Username admin and Password configured earlier.
Step 6: Monitoring Zimbra Server
For Zimbra server monitoring follow our guide on how to Monitor Zimbra Server with Grafana, Influxdb and Telegraf
Other Zimbra guides:
- How to Install Zimbra Desktop on Ubuntu
- How to Restore Zimbra LDAP database from Backup
- How to solve Zimbra zmconfigd not running/starting
- How to Configure Microsoft Outlook for Zimbra
- How to Set Secure Password Policy on Zimbra
- Configure whitelist and blacklist Zimbra Amavis Spam filtering
- Managing Distribution Lists on Zimbra Mail Server
Leave a Reply
You must be logged in to post a comment.