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.

Preparation Before Install Zimbra 8.8.15 in Ubuntu 20.04 (Part 1)

2 min read

Hi Dude, Zimbra is a popular open source mail collaboration suite. I’m going to install zimbra on Ubuntu 20.04. There is Preparation Before Install Zimbra, some setting that must be prepared first. Let’s get started.

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

Next is disable Apparmor service. Apparmor is like firewall to isolate service/package running in server.

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

Disable UFW

Next, disable ufw. Ufw is firewall that have chain input output like firewalld in Centos. In my opinion, firewall should be handle by router. So resource server can decrease.

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.

timedatectl set-timezone Asia/Jakarta

Set Hostname

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

hostname -f
hostnamectl set-hostname mail.habibza.in

After that, open /etc/hosts. localhost mail.habibza.in mail
  • is our server mail.

Set Local DNS

This in important part, before install zimbra. We use bind9 for set local DNS.

apt update
apt install bind9

open named configuration in /etc/bind/named.conf.options

vim /etc/bind/named.conf.options

options {
        directory "/var/cache/bind";
        recursion yes;
        allow-query {;; };
        allow-transfer { none; };
        forwarders {;; };
        listen-on port 53 {;; };
        version "not current available";
        querylog yes;

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        // };

        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        dnssec-validation no;

        listen-on-v6 { none; };

And then, make zone conf directory in /etc/bind/named.conf.local.

vim /etc/bind/named.conf.local

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "habibza.in" {
        type master;
        file "/etc/bind/db.habibza.in";

Where /etc/bind/db.habibza.in is file stored zones domain.

$TTL    604800
@       IN      SOA     ns1.habibza.in. root.habibza.in. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
@               IN      NS      ns1.habibza.in.
@               IN      A
@               IN      MX      0      mail.habibza.in.
mail            IN      A
ns1             IN      A
smtp            IN      CNAME   mail

After save. check configuration and restart service named.

systemctl restart named.service

If if there is no error, test query server dns with dig.

If refused, check in ps faxu. What anything else resolver is running. In my case, i am use ubuntu 20.04 that running systemd-resolved.service. So i have to pointed server systemd-resolved.service to bind.

root@mail:~# vim /etc/systemd/resolved.conf


And then restart systemd-resolved.service.

systemctl restart systemd-resolved.service

And tes dig again. Here is my process resolve with netstat port 53.

root@mail:~# netstat -tulpn | grep 53
tcp        0      0 *               LISTEN      106169/systemd-reso
tcp        0      0*               LISTEN      856/named
tcp        0      0  *               LISTEN      856/named
tcp        0      0 *               LISTEN      856/named
tcp6       0      0 ::1:953                 :::*                    LISTEN      856/named
udp        0      0 *                           106169/systemd-reso
udp        0      0*                           856/named
udp        0      0*                           856/named
udp        0      0  *                           856/named
udp        0      0  *                           856/named

Ok, after all finished, continued zimbra installation next post.

See also  Install Nginx PHP-FPM on Ubuntu 18.04 LTS

See our video for detail.

Let's Buy Me Coffee.

Buy Me a Coffee at ko-fi.com

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

Install Zimbra 10 Ubuntu 20.04 from Scratch

Zimbra 10 may have had specific installation requirements, and there might be updates or changes beyond that point. Here is simple guide how to...
4 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

2 Replies to “Preparation Before Install Zimbra 8.8.15 in Ubuntu 20.04 (Part…”

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