habibzain Just husband, father and enthusiastic men about System Administration. Love to write short article about it. Perhaps can help and be useful for others.

Install Zimbra 10 Ubuntu 20.04 from Scratch

4 min read

Zimbra 10 may have had specific installation requirements, and there might be updates or changes beyond that point. Here is simple guide how to Install Zimbra 10 Ubuntu 20.04 from Scratch.

Case study. Zimbra zimbra behind NAT Local to Public IP Address.

Remote to Server via SSH

first, we have to do ssh to remote to the server.

ssh username@ip-address-server

If we set custom port, we have to set parameter -p, like this.

ssh -p port_number username@ip-address-server

Disable Apparmor Service and UFW

Next is disable Apparmor service. Apparmor is like firewall to isolate service/package running in server. Like SELINUX in RedHat Family. The Ufw is firewall that have chain input output like firewalld in RedHat Family.

In my opinion, I am prefer not used Internal Firewall. Firewall shoud be handle by network appliance outside this server. So resource server can decrease.

root@mail:~# systemctl stop apparmor.service
root@mail:~# systemctl disable apparmor.service
root@mail:~# systemctl stop ufw.service
root@mail:~# systemctl disable ufw.service

Set Date and Time

Next, set date and time. So, we can get exact date and time based on timezone.

root@mail:~# timedatectl set-timezone Asia/Jakarta
root@mail:~# date
#result check date
Tue Dec 19 10:30:06 WIB 2023

Set Hostname

Next, set hostname. We can check full hostname fqdn with hostnamectl. If result show not yet FQDN hostname server, so we have to set it first.

root@mail:~# hostnamectl set-hostname mail.dezainweb.com
root@mail:~# hostnamectl
#result hostnamectl
   Static hostname: mail.dezainweb.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d3aad90daa884b4fb4a8bae1ec4ebda9
           Boot ID: 19961fae739e476c8ac33324103ee733
    Virtualization: kvm
  Operating System: Ubuntu 20.04.6 LTS
            Kernel: Linux 5.15.0-051500-generic
      Architecture: x86-64

After that, open file /etc/hosts with text editor. localhost mail.dezainweb.com mail mail.dezainweb.com mail

See Also: Things to do After Install Zimbra

Set Local DNS And DNS Resolver with DNSMASQ

Ubuntu 20 build with systemd-resolved.service. install DNSMASQ and disable systemd-resolved.service.

root@mail:~# apt install dnsmasq

If dnsmasq is not running like this, dont be panic.

That caused Ubuntu 20 build with systemd-resolved.service that use port 53 UDP. Chek with netstat command.

root@mail:~# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0    *               LISTEN      641/sshd: /usr/sbin
tcp        0      0 *               LISTEN      555/systemd-resolve
tcp6       0      0 :::22                   :::*                    LISTEN      641/sshd: /usr/sbin
udp        0      0 *                           555/systemd-resolve
udp        0      0*                           553/systemd-network

Stop service systemd-resolved.service and disable for permanen stop service.

root@mail:~# systemctl stop systemd-resolved.service
root@mail:~# systemctl disable systemd-resolved.service

remove /etc/resolv.conf and recreate.

root@mail:~# rm -rf /etc/resolv.conf
root@mail:~# vim /etc/resolv.conf

#fill with this content! localhost

Start dnsmasq service.

root@mail:~# systemctl start dnsmasq
root@mail:~# systemctl status dnsmasq
#result dnsmasq status
 dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
     Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-12-19 12:57:49 WIB; 6min ago
    Process: 646 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)
    Process: 672 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=0/SUCCESS)
    Process: 709 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=exited, status=0/SUCCESS)
   Main PID: 702 (dnsmasq)
      Tasks: 1 (limit: 4629)
     Memory: 908.0K
     CGroup: /system.slice/dnsmasq.service

Edit file /etc/dnsmasq.conf

root@mail:~# vim /etc/dnsmasq.conf

Add with this content in end of line file. And adjust with your own IP Local address. (note: if your mail is direct with ip public, fill with ip public)


Save and restart dnsmasq.

root@mail:~# systemctl restart dnsmasq.service
root@mail:~# systemctl enable dnsmasq.service

Make sure you can ping internet, example ping www.google.com.

Testing DNS with DIG

Testing dnsmasq configuration with dig command.

root@mail:~# dig mx dezainweb.com

Download License and Binary Zimbra

Zimbra 10 Network Edition need license for installation. Download license that send via email by zimbra team. Save it.

And then download zimbra binary from zimbra website. Choose suitable binary with your Operating System.

root@mail:~# cd /opt/
root@mail:/opt# wget -c https://files.zimbra.com/downloads/10.0.0_GA/zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514.tgz
root@mail:/opt# tar -xzvf zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514.tgz
root@mail:/opt# cd zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514/
root@mail:/opt/zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514# ls -al
total 76
drwxrwxr-x 8 1001 wheel 4096 Mar  1  2023 .
drwxr-xr-x 4 root root  4096 Dec 19 10:48 ..
-rw-rw-r-- 1 1001 wheel    5 Mar  1  2023 .BUILD_NUM
-rw-rw-r-- 1 1001 wheel   12 Mar  1  2023 .BUILD_PLATFORM
-rw-rw-r-- 1 1001 wheel    3 Mar  1  2023 .BUILD_RELEASE_CANDIDATE
-rw-rw-r-- 1 1001 wheel    7 Mar  1  2023 .BUILD_RELEASE_NO
-rw-rw-r-- 1 1001 wheel   15 Mar  1  2023 .BUILD_TIME_STAMP
-rw-rw-r-- 1 1001 wheel    8 Mar  1  2023 .BUILD_TYPE
-rw-rw-r-- 1 1001 wheel  428 Mar  1  2023 README.txt
drwxrwxr-x 2 1001 wheel 4096 Mar  1  2023 bin
drwxrwxr-x 2 1001 wheel 4096 Mar  1  2023 data
drwxrwxr-x 3 1001 wheel 4096 Mar  1  2023 docs
-rwxr-xr-x 1 1001 wheel 9038 Mar  1  2023 install.sh
drwxrwxr-x 3 1001 wheel 4096 Mar  1  2023 lib
drwxrwxr-x 2 1001 wheel 4096 Mar  1  2023 packages
-rw-rw-r-- 1 1001 wheel  479 Mar  1  2023 readme_binary_en_US.txt
drwxrwxr-x 3 1001 wheel 4096 Mar  1  2023 util

Start Installation

root@mail:/opt/zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514# ./install.sh
Operations logged to /tmp/install.log.9c4Ql0gE
Checking for existing installation...
    zimbra-license-tools...NOT FOUND
    zimbra-license-extension...NOT FOUND
    zimbra-network-store...NOT FOUND
    zimbra-modern-ui...NOT FOUND
    zimbra-modern-zimlets...NOT FOUND
    zimbra-zimlet-document-editor...NOT FOUND
    zimbra-zimlet-classic-document-editor...NOT FOUND
    zimbra-patch...NOT FOUND
    zimbra-mta-patch...NOT FOUND
    zimbra-proxy-patch...NOT FOUND
    zimbra-ldap-patch...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-onlyoffice...NOT FOUND
    zimbra-core...NOT FOUND
    zimbra-zimlet-chat-video-classic...NOT FOUND
    zimbra-zimlet-chat-video-modern...NOT FOUND
    zimbra-extension-chat-video...NOT FOUND
    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-convertd [Y]

Install zimbra-memcached [Y] N

Install zimbra-proxy [Y] N

Install zimbra-archiving [N] Y

Install chat and video features [N] Y
Checking required space for zimbra-core

Follow the wizard, until “Main Menu –> 6) zimbra-store:

Store configuration

   1) Status:                                  Enabled
   2) Create Admin User:                       yes
   3) Admin user to create:                    [email protected]
   4) Admin Password                           set
   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:                               mail.dezainweb.com
  10) Web server HTTP port:                    80
  11) Web server HTTPS port:                   443
  12) Web server mode:                         redirect
  13) IMAP server port:                        143
  14) IMAP server SSL port:                    993
  15) POP server port:                         110
  16) POP server SSL port:                     995
  17) Use spell check server:                  yes
  18) Spell server URL:                        http://mail.dezainweb.com:7780/aspell.php
  19) Configure for use with mail proxy:       FALSE
  20) Configure for use with web proxy:        FALSE
  21) Enable version update checks:            TRUE
  22) Enable version update notifications:     TRUE
  23) Version update notification email:       [email protected]
  24) Version update source email:             [email protected]
  25) Install mailstore (service webapp):      yes
  26) Install UI (zimbra,zimbraAdmin webapps): yes
  27) License filename:                        /opt/zm-license.xml

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

See number 27, point to path where your license located. Follow instruction until finish. It takes a little time, between 10-15 minutes depending on your server specifications. Make a cup of coffee, and wait until finish.

Finished installing network zimlets.
Restarting mailboxd...done.
Creating galsync account for default domain...done.
Setting up zimbra crontab...done.

Moving /tmp/zmsetup.20231219-110334.log to /opt/zimbra/log

Configuration complete - press return to exit
root@mail:/opt/zcs-NETWORK-10.0.0_GA_4518.UBUNTU20_64.20230301065514# su - zimbra
zimbra@mail:~$ zmcontrol status
Host mail.dezainweb.com
        amavis                  Running
        antispam                Running
        antivirus               Running
        convertd                Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        mta                     Running
        opendkim                Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Running

Remember to refer to the official Zimbra documentation for any specific instructions or updates. Always make sure to check the official Zimbra forums or community for the latest information and user experience.

That is simple article how to Install Zimbra 10 Ubuntu 20.04 from Scratch. Hope it usefull, please feel free for comment.

habibzain Just husband, father and enthusiastic men about System Administration. Love to write short article about it. Perhaps can help and be useful for others.

Zimbra Relay Amazon SES

Zimbra is a widely used collaboration platform that provides robust email services. When it comes to improving email deliverability and ensuring the security of...
1 min read

Zimbra Cannot start TLS: handshake failure

The Zimbra log show error message “Cannot start TLS handshake” typically indicates an issue with establishing a secure TLS (Transport Layer Security) connection. This...
1 min read

Build Zimbra 10 Open Source with zm-build in Ubuntu…

In the realm of open source email collaboration platforms, Zimbra 10 stands out as a powerful and feature rich solution for businesses seeking robust...
2 min read

Leave a Reply

Your email address will not be published. Required fields are marked *

Never miss good article from us, get weekly updates in your inbox