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:
- Creating the VM on VMware ESXi (vmxnet3 y pvscsi)
- OS Requirements
- Operating System installation (video)
- OS configuration for Zimbra Collaboration
- 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:
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.
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.
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 there
In the last step, you can check if everything is correct, and press finish if so:
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:
https://youtu.be/UXYyUsOzM00
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.
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 download bits on the next link.
Uncompress the downloaded file:
root@zimbra8:/home/oper# tar xzvf zcs-8.7.11_GA_1854.UBUNTU14_64.20170531151956.tgz
You can move now into the new directory:
root@zimbra8:/home/oper# cd zcs-8.7.11_GA_1854.UBUNTU14_64.20170531151956
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.11_GA_1854.UBUNTU14_64.20170531151956# 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.11_GA_1854.UBUNTU14_64.20170531151956# ./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 (zcs-8.7.11_GA_1854.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=zcs-8.7.11_GA_1854.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.
Finally a complete installation + dnsmasq guide! I found a couple of blog posts around the Internet, but nothing from Zimbra. Very appreciated, thak you!
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
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.
This version dont have IM feature enabled ????
Very nice guide, thanks!
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!
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
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
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
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.
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
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?
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.
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.
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.
Hi Oriam,
Have you tried o add your Proxy configuration to the Ubuntu system:
http://askubuntu.com/questions/175172/how-do-i-configure-proxies-without-gui
Best regards
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
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