How to Install Zimbra Collaboration 8.7 on Ubuntu 14.04 LTS

zimbra-instalar-87-banner

Hello guys, in this Blog post we will cover the installation of the latest Zimbra Collaboration 8.7 Release on Ubuntu 14.04 LTS, using dnsmasq as a DNS Server.

As this Blog post can be a bit long, you might find this menu useful:

  1. Creating the VM on VMware ESXi (vmxnet3 y pvscsi)
  2. OS Requirements
  3. Operating System installation (video)
  4. OS configuration for Zimbra Collaboration

    1. DNS Server installation (dnsmasq)
  5. Zimbra Collaboration 8.7 Installation

1.- Creating the VM on VMware ESXi (vmxnet3 y pvscsi)

On this Blog post, we are going to use a VM on VMware and all the best practices from VMware for a high-use workload. We will create the VM with vmxnet3 for Networking and pvscsi for the Disk Controller.

First step to create the VM, select the first option and press Next:

zimbra-instalar-87-001

Type a name for the VM, and select the compatibility, in this case ESXi 6.0. For the Guest OS Familiy choose Linux, and last for Guest OS version choose Ubuntu 64-bit.zimbra-instalar-87-002

In this step, please select the Datastore where Zimbra will be installed. Remember that Zimbra is read/write intensive, so please choose the fastest Datastore in your environment. Zimbra doesn’t recommend RAID5 or SATA, but you can find much more information about this on the Performance Tuning Guidelines Wiki.zimbra-instalar-87-003

In the step Customize Settings, you need to pay more attention. Change the SCSI Controller to VMware Paravirtual, and double-check if the Network Adapater is already on VMXNET3. Change it to VMXNET3 if it wasn’t already therezimbra-instalar-87-004

In the last step, you can check if everything is correct, and press finish if so:zimbra-instalar-87-005

TRY ZIMBRA NETWORK

2.- OS Requirements

In this Blog article, we are using Ubuntu 14.04 LTS on VMware vSphere 6.0U2. These are the Requirements for a Single-Server VM with up to 50 users:

  • 4vCPU or more
  • 8GB de RAM or more
  • 50GB could be the minimum recommended, remember to use the fastest available disks and adjust the size of the server according to your Environment
  • Internet connectivity This is a requirement in order to install Zimbra Collaboration 8.7, which uses external packages repository, and of course, you need Internet conectivity to send and receive emails
  • A perfect DNS configuration is needed

3.- Operating system installation

You can use the next video as an example of How-to install Ubuntu 14.04 LTS and how to configure it properly for Zimbra Collaboration: edit the hosts file, configure the Networking as static, and configure the resolv.conf file:

TRY ZIMBRA NETWORK

4.- OS configuration for Zimbra Collaboration

You can find these steps on the previous video, but in case you need them on a text mode, please find them here, as root user:

oper@zimbra8:~$ sudo su [sudo] password for oper:
root@zimbra8:/home/oper#

In case the system has been configured by using DHCP, you need an static IP for Zimbra Collaboration. Let’s edit the Networking Configuration:

root@zimbra8:~# vim /etc/network/interfaces

If you have somehting like the next, please note the dhcp line:

allow-hotplug eth0 
iface eth0 inet dhcp

Let’s change it for a Static Ethernet configuration:

allow-hotplug eth0 
iface eth0 inet static 
address 192.X.X.X 
netmask 255.255.255.0 
gateway 192.X.X.X
dns-nameservers 127.0.0.1
dns-nameservers 8.8.8.8

You need to type your own configuration: address with your Zimbra Collaboration IP, gateway with the router IP address in your Environment. For the DNS Server, you might type your own Zimbra server if you will use an internal DNS server on the Zimbra Server, or another IP in case you have a valid DNS Server already.

You can double check the /etc/resolv.conf even if in Ubuntu 14.04 could be dynamic:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
nameserver 8.8.8.8

The hosts file is always a hot point where many people fail, so let’s edit it:

vim /etc/hosts

You need to have your Internal, or external, IP within your full hostname and domain, something like the next example:

root@zimbra8:/home/oper# vi /etc/hosts
127.0.0.1       localhost
192.168.1.252   zimbra8.example.com     zimbra8

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Once the server is configured properly, type reboot:

root@zimbra8:~# reboot

4.1.- DNS Server Installation (dnsmasq)

If you are trying Zimbra Collaboration, or for small environments, you might want to consider dnsmasq inside the Zimbra Collaboration Server. Please note that you will need a valid SplitDNS configuration in this case.

Now let’s install dnsmasq. Select Y when the system asks if install the package:

root@zimbra8:/home/oper# apt-get install dnsmasq
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
dnsmasq-base libmnl0 libnetfilter-conntrack3
The following NEW packages will be installed:
dnsmasq dnsmasq-base libmnl0 libnetfilter-conntrack3
0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
Need to get 330 kB of archives.
After this operation, 980 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

Now you need to edit the dnsmasq configuration with your own Environment data:

root@zimbra8:/home/oper# vim /etc/dnsmasq.conf

server=8.8.8.8
listen-address=127.0.0.1
domain=example.com
mx-host=example.com,zimbra8.example.com,0
address=/zimbra8.example.com/192.168.1.252

Once saved the document, you need to restart the dnsmasq services

root@zimbra8:/home/oper# service dnsmasq restart
* Restarting DNS forwarder and DHCP server dnsmasq
...done.

4.2.- Tests to check and validate the DNS entries

You need to run two simple tests before installing Zimbra Collaboration: Test if the MX and the A DNS entries are configured properly.

In this Blog we have used the dig tool:

Checking the MX entry:

Please note the answer section

root@zimbra8:/home/oper# dig mx example.com

; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> mx example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12731
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                   IN      MX

;; ANSWER SECTION:
example.com.            0       IN      MX      0 zimbra8.example.com.

;; ADDITIONAL SECTION:
zimbra8.example.com.    0       IN      A       192.168.1.252

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 30 18:27:31 BST 2016
;; MSG SIZE  rcvd: 80

Checking the A DNS entry:

Please note the answer section

root@zimbra8:/home/oper# dig zimbra8.example.com

; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> zimbra8.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43457
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;zimbra8.example.com.           IN      A

;; ANSWER SECTION:
zimbra8.example.com.    0       IN      A       192.168.1.252

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 30 18:27:39 BST 2016
;; MSG SIZE  rcvd: 53

You can clearly see on the previous tests how the tests gave us an answer. You can see as well which DNS Server gave us the answer. Check if that answer is correct. If your DNS tests are not valid, please do not install Zimbra Collaboration until you check if your configuration is correct. If you have issues, you can open a new forum Thread about it.

TRY ZIMBRA NETWORK

5.- Installing Zimbra Collaboration Open Source Edition 8.7

Now it is time to install the latest Zimbra Collaboration 8.7. You can find the Release Candidate bits on the next link.

Uncompress the downloaded file:

root@zimbra8:/home/oper# tar xzvf zcs-8.7.0_RC1_1601.UBUNTU14_64.20160414162438.tgz

You can move now into the new directory:

root@zimbra8:/home/oper# cd zcs-8.7.0_RC1_1601.UBUNTU14_64.2016041416243

Before installing Zimbra 8.7, you might want to add the packaging system key. This is a known issue, and it will be fixed by Zimbra Collaboration 8.7 GA:

root@zimbra8:/home/oper/zcs-8.7.0_RC1_1601.UBUNTU14_64.20160414162438# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79

Now you need to run the install script:

root@zimbra8:/home/oper/zcs-8.7.0_RC1_1601.UBUNTU14_64.20160414162438# ./install.sh

Operations logged to /tmp/install.log.zlP8ruf3
Checking for existing installation...
    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.
ZIMBRA, INC. ("ZIMBRA") 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 the Zimbra Collaboration Suite:
  http://www.zimbra.com/license/zimbra-public-eula-2-5.html



Do you agree with the terms of the software license agreement? [N]

Let’s select “y” on the EULA agreement question.

On the next question, Zimbra will ask if we want to use the Zimbra public repository or not. If you want to configure your own mirror of the Zimbra public Repository, please read the next Wiki where you will find the steps to do it.

Checking for installable packages

Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-dnscache
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy

Use Zimbra's package repository [Y]

In this Blog we are going to install all packages except the dnscache:

Importing Zimbra GPG key and configuring package server

Select the packages to install
Install zimbra-ldap [Y] y
Install zimbra-logger [Y] y
Install zimbra-mta [Y] y
Install zimbra-dnscache [Y] n
Install zimbra-snmp [Y] y
Install zimbra-store [Y] 
Install zimbra-apache [Y] 
Install zimbra-spell [Y] 
Install zimbra-memcached [Y] 
Install zimbra-proxy [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-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell
    zimbra-memcached
    zimbra-proxy

Press “y” to allow to modify the system:

The system will be modified.  Continue? [N]
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 packages

Local packages  zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-proxy selected for installation
Monitor /tmp/install.log.sKlWbSLr for package installation progress
Remote package installation started
Installing zimbra-core-components  zimbra-ldap-components zimbra-mta-components zimbra-snmp-components zimbra-store-components zimbra-apache-components zimbra-spell-components zimbra-memcached zimbra-proxy-components....

Local package installation started
Installing  zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-proxy...done
Operations logged to /tmp/zmsetup.20160430-185719.log
Installing LDAP configuration database...done.
Setting defaults...

This is another hot step. You need to select yes to change the domain and select your own instead hostname.domain.com , just domain.com

DNS ERROR resolving MX for zimbra8.example.com
It is suggested that the domain name has an MX record configured in DNS
Change domain name? [Yes]

Create domain: [zimbra8.example.com] example.com
MX: zimbra8.example.com (192.168.1.252)

Interface: 192.168.1.252
Interface: fd7a:4c04:5f10:0:20c:29ff:feb9:ecf8
Interface: 127.0.0.1
Interface: ::1
done.
Checking for port conflicts

You need to change the admin password by pressing the number 6, and then by pressing number 4 on the submenu:

Select from menu or 'r' for previous menu [r] 4

and then you can select the password you want for the Admin user:

Password for admin@example.com (min 6 characters): [sJahaUyn1] Zimbra2016
Store configuration

   1) Status:                                  Enabled                       
   2) Create Admin User:                       yes                           
   3) Admin user to create:                    admin@example.com             
   4) Admin Password                           set                           
   5) Anti-virus quarantine user:              virus-quarantine.6bikjdxgk@example.com
   6) Enable automated spam training:          yes                           
   7) Spam training user:                      spam.3rsikzlf4@example.com    
   8) Non-spam(Ham) training user:             ham.ht5ayhufh@example.com     
   9) SMTP host:                               zimbra8.example.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://zimbra8.example.com:7780/aspell.php
  19) Enable version update checks:            TRUE                          
  20) Enable version update notifications:     TRUE                          
  21) Version update notification email:       admin@example.com             
  22) Version update source email:             admin@example.com             
  23) Install mailstore (service webapp):      yes                           
  24) Install UI (zimbra,zimbraAdmin webapps): yes

You need to select now “r” to return to the previous menu

Select, or 'r' for previous menu [r] r
Main menu
   1) Common Configuration:                                                  
   2) zimbra-ldap:                             Enabled                       
   3) zimbra-logger:                           Enabled                       
   4) zimbra-mta:                              Enabled                       
   5) zimbra-snmp:                             Enabled                       
   6) zimbra-store:                            Enabled                       
   7) zimbra-spell:                            Enabled                       
   8) zimbra-proxy:                            Enabled                       
   9) Default Class of Service Configuration:                                
   s) Save config to file                                                    
   x) Expand menu                                                            
   q) Quit                                    

*** CONFIGURATION COMPLETE - press 'a' to apply

And press “a” to apply the changes:

Select from menu, or press 'a' to apply config (? - help) a

Press now enter:

Save configuration data to a file? [Yes]

Press enter again:

Save config in file: [/opt/zimbra/config.10687]
Saving config in /opt/zimbra/config.10687...done.

Press “y” to continue:

Operations logged to /tmp/zmsetup.20160430-185719.log
Setting local config values...done.
Initializing core config...Setting up CA...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating SSL zimbra-store certificate...done.
Creating new zimbra-ldap SSL certificate...done.
Creating new zimbra-mta SSL certificate...done.
Creating new zimbra-proxy SSL certificate...done.
Installing mailboxd SSL certificates...done.
Installing MTA SSL certificates...done.
Installing LDAP SSL certificate...done.
Installing Proxy SSL certificate...done.
Initializing ldap...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Setting nginx password...done.
Setting BES searcher password...done.
Creating server entry for zimbra8.example.com...done.
Setting Zimbra IP Mode...done.
Saving CA in ldap...done.
Saving SSL Certificate in ldap...done.
Setting spell check URL...done.
Setting service ports on zimbra8.example.com...done.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=TRUE...done.
Checking current setting of zimbraReverseProxyAvailableLookupTargets
Querying LDAP for other mailstores
Searching LDAP for reverseProxyLookupTargets...done.
Adding zimbra8.example.com to zimbraReverseProxyAvailableLookupTargets
Setting TimeZone Preference...done.
Initializing mta config...done.
Setting services on zimbra8.example.com...done.
Adding zimbra8.example.com to zimbraMailHostPool in default COS...done.
Creating domain example.com...done.
Setting default domain name...done.
Creating domain example.com...already exists.
Creating admin account admin@example.com...done.
Creating root alias...done.
Creating postmaster alias...done.
Creating user spam.3rsikzlf4@example.com...done.
Creating user ham.ht5ayhufh@example.com...done.
Creating user virus-quarantine.6bikjdxgk@example.com...done.
Setting spam training and Anti-virus quarantine accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for zimbra8.example.com...done.
Configuring SNMP...done.
Setting up syslog.conf...done.
Starting servers...done.
Installing common zimlets...
        com_zimbra_cert_manager...done.
        com_zimbra_email...done.
        com_zimbra_phone...done.
        com_zimbra_date...done.
        com_zimbra_clientuploader...done.
        com_zimbra_ymemoticons...done.
        com_zimbra_tooltip...done.
        com_zimbra_webex...done.
        com_zimbra_attachmail...done.
        com_zimbra_viewmail...done.
        com_zimbra_srchhighlighter...done.
        com_zimbra_url...done.
        com_zimbra_mailarchive...done.
        com_zimbra_adminversioncheck...done.
        com_zimbra_bulkprovision...done.
        com_zimbra_attachcontacts...done.
        com_zimbra_proxy_config...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.7.0_RC1_1601_UBUNTU14_64)
        The ADMIN EMAIL ADDRESS created (admin@example.com)

Notify Zimbra of your installation? [Yes] 
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.7.0_RC1_1601_UBUNTU14_64&MAIL=admin@example.com

Notification complete

You can now press “y” if you want to notify Zimbra about the Installation or “n” in case you don’t want to: and after this awesome work, just press enter to finish the instalaltion:

Setting up zimbra crontab...done.
Moving /tmp/zmsetup.20160430-185719.log to /opt/zimbra/log
Configuration complete - press return to exit

I hope you have enjoyed this Blog article. Please let us know on the comments if you want to see more Technical Blog posts, and we will prepare many others for you.

TRY ZIMBRA NETWORK

, , ,

18 Responses to How to Install Zimbra Collaboration 8.7 on Ubuntu 14.04 LTS

  1. Max May 9, 2016 at 5:02 PM #

    Finally a complete installation + dnsmasq guide! I found a couple of blog posts around the Internet, but nothing from Zimbra. Very appreciated, thak you!

    • Jorge de la Cruz
      Jorge de la Cruz May 9, 2016 at 6:30 PM #

      Hi Max, glad you like it. We are planning to write more Technical Blog Posts, maybe not as long as this one, but keeping on the technical track.

      Best regards

  2. Praveen May 10, 2016 at 10:46 AM #

    Dear Team,

    Zimbra 8.7 performance was good and installation method was something different. But UI was same as earlier version. But mentioned in https://blog.zimbra.com/2015/10/zimbra-synacor-indepth-look-roadmap-upcoming-months/ as some different UI.

    Thanks.

  3. Fernando May 10, 2016 at 8:55 PM #

    This version dont have IM feature enabled ????

  4. Adrian June 27, 2016 at 9:32 AM #

    Very nice guide, thanks!

  5. Dave Jury July 7, 2016 at 12:33 PM #

    Thanks Jorge,

    I set up Zimbra on Ubuntu 14.04 server running in a VM under Hyper-V in Windows Server 2012 R2.

    The only snag I had is that as soon as you put 127.0.0.1 as a nameserver in /etc/network/interfaces then that is the only address that is written to /etc/resolv.conf. On this basis, I had to change one more setting in the dnsmasq.conf file… I had to uncomment no-resolve.

    Other than that one small issue, your install worked seamlessly. Thanks for a great tutorial!

  6. Dani July 22, 2016 at 3:20 PM #

    Hi nice tutorial and i’ve succeed installing ZCS 8.7 on Ubuntu. Just wondering, how could i set my smtp outgoing to send an encrypted mail?i’d set my tls to may but it seem doesn’t work

    Thanks

  7. Vladimir Campos August 2, 2016 at 5:41 PM #

    Very good blog. I found a video that was very useful for installation, leave the link, I hope they serve friends: https://youtu.be/Ys-UaZuLDy4

    • Jorge de la Cruz
      Jorge de la Cruz August 2, 2016 at 5:49 PM #

      Thank you, but actually I have two questions:
      1.- Why the server does have graphic interface?
      2.- Why if using Ubuntu 16.04, tries to install the packages in 14.04 first?

      Best regards

  8. Sonu September 1, 2016 at 8:31 AM #

    Hi,

    I am not able to webmail link without 8443 port in zimbra 8.7 version. could you please confirm how we can run it directly with ip address or hostname.

  9. sonu yadav September 2, 2016 at 8:44 AM #

    Hi,

    i am not able to open the webmail directkry with domain name like https://zimbra.domain.com and I need to put the https://zimbra.domain.com:8443.

    We are gettinng this issue only on zimbra 8.7 . please suggest how we can open the webmail directly with domain name in zimbra 8.7

  10. Fabio September 16, 2016 at 7:31 PM #

    First sorry for my bad english.

    I installed a multi server zimbra 8.7 e everthing is work fine but i cant configure mail clients like thunderbird and outllok to connect in my zimbra.

    I am using imap first and its outgoing ports doesnt work. In incommig conections i set ports 993 over ssl e its fine but outgoing ports i.e. 465 or 587 with ssl or tls doesnt work.

    Where i configure this isssues?

    And what is the best practices for relay configuration?

  11. Jorge October 3, 2016 at 7:42 PM #

    Such, I explendido manual.

    I have a doubt. I just finished the manual, but when trying to load the web http: // ip-local-zimbra because I do not get anything.

    You have to start some service running begins ?.

    Thanks and regards.

  12. Manuel November 16, 2016 at 7:31 PM #

    Saludos Estimados,

    Como puedo cambiar los puertos pop3 y imap ya que por defecto el zimbra trae el 7110 y 7143 y no me deja con los por los puertos 110 y 143.

    atentamente.

  13. Oriam Gonzalez December 12, 2016 at 3:24 AM #

    HI.. I need Help!!!
    I tried to install zimbra 8.7.1 on ubuntu server 12.04 and my internet is with proxy. I need know how install using proxy to acces to repository of zimbra.
    Well, when I get to the step that tells me that the system is going to be modified, that if I want to continue; It gives me error when downloading the things that will download
    Unable to download packages from repository. System is not modified
    I would appreciate the help.

  14. Priyanshu December 26, 2016 at 7:08 AM #

    Hi,

    I tried to install zimbra with the help of given instruction and it is working fine. But now I want to install samba on same machine. It will be a great help if anybody can help me with steps to follow for samba installation with zimbra on same machine..

    regards

  15. radhwen February 26, 2017 at 10:51 PM #

    plz can you help , the installation stuck in dowloading the packages Downloading packages.” This will not modify the system. This may take some time.”, can you help