By Alex Mungai Muchiri, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud's incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.
In this how-to guide, we shall be looking at how we can set up the Zimbra Collaboration tool in an Alibaba Cloud ECS instance running Ubuntu 18.04. Specifically, we shall be installing the Zimbra version 8.8 community edition in a single server setup. Also, note that you can have a multi-server setup as well but our focus in this article is only the single server setup. First launched in 2005, Zimbra Collaboration Suite incorporates both email and web clients to facilitate organizational collaboration. Zimbra Inc, the company behind the software provides both a freely available open-source version and a commercial paid-for version. Our focus in this tutorial is the open source version, which we shall be installing in our ECS instance.
The system requirements for your VPS are as listed below:
Our objective is to support an organization with about 50 users. Zimbra recommends the following specifications for your VPS to sufficiently meet such a use case:
Zimbra advises that you should install LibreOffice in your server to be able to access its high-fidelity document preview feature when interacting with the package. Zimbra detects the presence of LibreOffice automatically and once installed it enables the use of high-fidelity document preview. Document preview is very important but Zimbra also includes a Zimbra Docs packages for this purpose.
For the preparation, begin with the step below:
sudo apt-get update && apt-get upgrade
Next, install the LibreOffice package by running the command below:
sudo apt-get install libreoffice
Run the commands below to install requisite language packages and fonts, especially for viewing documents in East Asian languages: If you are using English, you may skip this step:
sudo apt-get install libreoffice-l10n-*
sudo apt-get install fonts-vlgothic
Our server is now prepared for the installation process, which we shall be going through in the next few steps.
We shall be working with the community edition of the Zimbra Collaboration software, version 8.8. Run the command below to download version 8.8.9 to a local server:
wget https://files.zimbra.com/downloads/8.8.9_GA/zcs-8.8.9_GA_3019.UBUNTU16_64.20180809160254.tgz
Now run the command below to extract the files:
tar xvf zcs-8.8.9_GA_3019.UBUNTU16_64.20180809160254.tgz
Run the command below to change to zcs- directory:
cd zcs*/
This step is very crucial since Zimbra verifies that you have MX records configured with your domain as the installation process runs. A misconfiguration results in an error. Furthermore, Zimbra requires A and MX records of the DNS to forward and receive emails. In this section, we shall install Dnsmasq for our DNS configuration.
The first step when installing Dnsmasq is to disable systemd-resolve since it usually conflicts Dnsmasq by binding to port 53. The commands below will resolve the problem:
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Next, follow the below step to remove resolv.conf
symlinked file:
$ ls -lh /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Dec 3 15:46 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
$ sudo rm /etc/resolv.conf
Now we need to create a new replacement for the resolv.conf file like so:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
Now, run the command below to install Dnsmasq:
sudo apt-get install dnsmasq
Now we shall proceed to modify the configuration file located at /etc/dnsmasq.conf
to introduce new configurations. Follow the steps below:
sudo nano /etc/dnsmasq.conf
Below is one way to make the configuration adjustments.
# Now we shall set the port where listening shall occur
# (53). You can disable DNS by setting the Port to 0,
# which means only DHCP or TFTP shall be available.
port=53
# A domain must be an actual domain, do not forward plain text
Your-domain
# only forward addresses to the routed address spaces for this to work
bogus-priv
# Usually, queries from Dnsmasq are served to upstream servers that are
# known to be running. You can have each server queried in the order they
# are organized in the /etc/resolv.conf file by uncommenting this section.
strict-order
# if you want to use a simple hosts file where a domain name is added to
# the file automatically then you should have this setting.
expand-hosts
# this allows you to set dnsmasq's domain, but it not mandatory. If set, it
# will do the following:
# -) Your DHCP hosts will have access to domain names that you have pre-
# qualified yourself, provided that they match what is provided here.
# -) the DHCP can be able to access and configure the domain used in all
# systems by including a "domain" option for DHCP.
# -) the 'expanded-hosts' can now have a domain part
#domain=mydomain.co.ke
domain=mydomain.co.ke
# Define the Listening address
listen-address=127.0.0.1
# The address should be the IP of your server
Furthermore, you can include a setting for DNSSEC validation and cache by uncommenting on the below:
#dnssec
Below is a sample edited DNS for a certain environment:
root@zcs-886:~# nano /etc/dnsmasq.conf
server=8.8.8.8
listen-address=127.0.0.1
domain=domain.io
mx-host=domain.io,zcs-886.domain.io,0
address=/zcs-886.domain.io/192.168.153.117
If you need to make any other changes, do as necessary and then run the command below to restart Dnsmasq.
sudo systemctl restart dnsmasq
You can test the A record of your Zimbra server by running a Dig test like so:
# dig A mx-01.zimbra.mydomain.co.ke
This command should yield a result as the one indicated below:
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> A mx-01.zimbra.mydomain.co.ke
;; 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.mydomain.co.ke. IN A
;; ANSWER SECTION:
mx-01.zimbra.mydomain.co.ke. 0 IN A 192.168.153.117
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Dec 3 18:34:01 UTC 2018
;; MSG SIZE rcvd: 68
Now, you can also do an MX dig by using the command below:
# dig MX zimbra.mydomain.co.ke
If all is well, we can now proceed to download the Zimbra collaboration tool in the next step.
Now, pay close attention to this section because you shall require something a bit outside the box. We shall be adding an Ubuntu 16.04 repository since a package for Ubuntu 18.04 is not available yet.
The Zimbra repository for Ubuntu 16.04 should be added to the /etc/apt/sources.list.d/zimbra.list
directory. It should be done like so:
# 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
Next, we need to import the GPG key like so:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79
Next, run an update for the apt index like so:
$ sudo apt-get update
Allow the update to run to completion and then run the command below to start the installation process:
./install.sh --platform-override
We have included the option above to avoid the limitations of an unknown OS.
Once the process of installation starts running, you should see something like the one below:
...
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
etc.
----------------------------------------------------------------------
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
etc ...
The system will be modified. Continue? [N] y
....
Downloading packages (11):
zimbra-core-components
zimbra-ldap-components
zimbra-mta-components
zimbra-dnscache-components
etc ...
Allow all packages to download and then proceed to set the administrator password
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@zimbra.mydomain.co.ke
** 4) Admin Password UNSET
5) Anti-virus quarantine user: virus-quarantine.rxque9sk@mydomain.co.ke
6) Enable automated spam training: yes
7) Spam training user: spam.ixztx72e0@zimbra.mydomain.co.ke
8) Non-spam(Ham) training user: ham.75v1ydcrpo@mydomain.co.ke
9) SMTP host: zimbra.mydomain.co.ke
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.mydomain.co.ke:7780/aspell.php
19) Enable version update checks: TRUE
20) Enable version update notifications: TRUE
21) Version update notification email: admin@zimbra.mydomain.co.ke
22) Version update source email: admin@zimbra.mydomain.co.ke
23) Install mailstore (service webapp): yes
24) Install UI (zimbra,zimbraAdmin webapps): yes
Select, or 'r' for the previous menu [r] 4
Password for admin@zimbra.mydomain.co.ke(min 6 characters): [rt78782GH]
Now follow the following configurations to complete the process and effect the changes
*** 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
Allow the process to run to completion, upon which you should receive a notification at the end confirming the completion of the process.
Configuration complete - press return to exit
Now, for you to access the admin panel, type the address in the format below in a browser:
https://ip-addres:7071
or
https://example.hostname.com:7071
Zimbra is an integrated suite of solutions ranging from chat, collaboration and messaging, simplistic administration, versatile, integrated web experience and the flexibility of deployment on devices. The web client enables users to interact and share moods and feelings. What's more, it enables users to connect on personal clouds and work both online and offline with other productivity tools such as Microsoft Outlook. On the whole, Zimbra is a productivity booster that is easy to use, robust and easily customizable. Hope you enjoyed this tutorial and that you will get to experience the full collaborative experience of Zimbra on Alibaba Cloud. Cheers!
Source: https://zimbra.github.io/installguides/latest/single.html
GhulamQadir - December 30, 2019
Hiteshjethva - December 12, 2019
Hiteshjethva - January 8, 2020
Hiteshjethva - March 2, 2020
Hiteshjethva - October 31, 2019
Alibaba Clouder - June 3, 2020
Elastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreAlibaba Mail is one of the only email service providers in the industry that supports public cloud services and provides fast, secure, and stable services.
Learn MoreProvides comprehensive quality assurance for the release of your apps.
Learn MoreWeb App Service allows you to deploy, scale, adjust, and monitor applications in an easy, efficient, secure, and flexible manner.
Learn MoreMore Posts by Alex
5063881069336421 February 18, 2020 at 4:29 am
How to send email to outside domain and received email from other domain?As I know that Alibaba Cloud block TCP port 25 Thanks