Before starting with this guide, it is important to draw your attention to one aspect:

You need root rights to give most of the commands shown in this guide. You can simply add “sudo” before any command (eg. sudo yum update). There is also the possibility to log in as root using the command: “ sudo su – ” and then enter the root password and in this case, you no longer have to enter “sudo” before giving commands.
However, it is good practice to avoid performing more actions as root than you need to. Sudo facilitates this by allowing you to run individual commands as root without having to log in as root and without needing an interactive root shell for tasks. If you feel too lazy you can go for “sudo su”, but you have been warned.

Requirements

  • A clean minimal installation of CentOS/RHEL 7 or 8

It’s better to have a fresh new installation of OS, but in any case is important to consider that there are some services that are running anyway that may be in conflict with Zimbra, such as MTA, webserver, and mainly postfix. About this last one, in particular, we need to stop and uninstall it in order to have everything working fine:

sudo systemctl stop postfix
sudo systemctl disable postfix 
sudo yum remove postfix
[root@mail maszmail]# sudo systemctl stop postfix
[root@mail maszmail]# sudo systemctl disable postfix
Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.
[root@mail maszmail]# sudo yum remove postfix
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package postfix.x86_64 2:2.10.1-9.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================
 Package                                        Arch                                          Version                                                 Repository                                        Size
=============================================================================================================================================================================================================
Removing:
 postfix                                        x86_64                                        2:2.10.1-9.el7                                          @anaconda                                         12 M

Transaction Summary
=============================================================================================================================================================================================================
Remove  1 Package

Installed size: 12 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : 2:postfix-2.10.1-9.el7.x86_64                                                                                                                                                             1/1
  Verifying  : 2:postfix-2.10.1-9.el7.x86_64                                                                                                                                                             1/1

Removed:
  postfix.x86_64 2:2.10.1-9.el7

Complete!
[root@mail maszmail]#
  • 8 GB of RAM
  • At least 5 GB of disk space for software and logs
  • FQDN (Fully Qualified Domain Name), for example “mail.domain.com”
  • A & MX record for your Server

Step 1: Melakukan update System dan menginstall Package pendukung

In order to update the system, paying attention to the note above about SUDO, you need to type the following command:

sudo yum -y update
[root@mail maszmail]# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.repository.id
 * extras: mirror.webmaster.my.id
 * updates: mirror.webmaster.my.id
base                                                                                                                                                                                  | 3.6 kB  00:00:00
extras                                                                                                                                                                                | 2.9 kB  00:00:00
updates                                                                                                                                                                               | 2.9 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                                                                                                         | 153 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                                                                                                     | 250 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                                                                                                                                       | 6.1 MB  00:00:02
(4/4): updates/7/x86_64/primary_db                                                                                                                                                    |  22 MB  00:00:05
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.18.8-1.el7 will be updated
---> Package NetworkManager.x86_64 1:1.18.8-2.el7_9 will be an update
---> Package NetworkManager-libnm.x86_64 1:1.18.8-1.el7 will be updated
.....
.....
  sudo.x86_64 0:1.8.23-10.el7_9.3                                  systemd.x86_64 0:219-78.el7_9.7
  systemd-libs.x86_64 0:219-78.el7_9.7                             systemd-sysv.x86_64 0:219-78.el7_9.7                                tuned.noarch 0:2.11.0-12.el7_9
  tzdata.noarch 0:2023c-1.el7                                      util-linux.x86_64 0:2.23.2-65.el7_9.1                               vim-minimal.x86_64 2:7.4.629-8.el7_9
  virt-what.x86_64 0:1.18-4.el7_9.1                                wpa_supplicant.x86_64 1:2.6-12.el7_9.2                              xz.x86_64 0:5.2.2-2.el7_9
  xz-libs.x86_64 0:5.2.2-2.el7_9                                   zlib.x86_64 0:1.2.7-21.el7_9
Complete!
[root@mail maszmail]#
sudo yum install unzip bind-utils net-tools sysstat openssh-clients perl-core libaio nmap-ncat libstdc++.so.6 wget -y
[root@mail maszmail]# sudo yum install unzip bind-utils net-tools sysstat openssh-clients perl-core libaio nmap-ncat libstdc++.so.6 wget -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.repository.id
 * extras: mirror.webmaster.my.id
 * updates: mirror.webmaster.my.id
Package openssh-clients-7.4p1-22.el7_9.x86_64 already installed and latest version
Package libaio-0.3.109-13.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.11.4-26.P2.el7_9.13 will be installed
--> Processing Dependency: bind-libs-lite(x86-64) = 32:9.11.4-26.P2.el7_9.13 for package: 32:bind-utils-9.11.4-26.P2.el7_9.13.x86_64
--> Processing Dependency: bind-libs(x86-64) = 32:9.11.4-26.P2.el7_9.13 for package: 32:bind-utils-9.11.4-26.P2.el7_9.13.x86_64
.....
.....
  perl-parent.noarch 1:0.225-244.el7                                      perl-podlators.noarch 0:2.5.1-3.el7
  perl-threads.x86_64 0:1.87-4.el7                                    perl-threads-shared.x86_64 0:1.43-6.el7                                 perl-version.x86_64 3:0.99.07-6.el7
  pyparsing.noarch 0:1.5.6-9.el7                                      systemtap-sdt-devel.x86_64 0:4.0-13.el7
Complete!
[root@mail maszmail]#

Step 2: Security Checking

Substep 2a: SELinux

Sometimes Security-Enhanced Linux could cause some problems, so it is better to check if it is enabled on your machine, and if it so, change the status to “permissive”.

First of all we need to check the SELinux status:

getenforce

If you find the response is “enforcing”, then type: 

sudo setenforce 0

And then again check the status

getenforce

Now you should see the status changed from “enforcing” to “permissive

[root@mail maszmail]# getenforce
Enforcing
[root@mail maszmail]# sudo setenforce 0
[root@mail maszmail]# getenforce
Permissive
[root@mail maszmail]#

NOTE: In some cases, you may want to completely disable SELinux. Refer to the following article to see how to do it.

Substep 2b: Firewall

You will probably have your OS firewall running on your server. In this case, you should open some ports in order to let everything work. Here is how to do that:

sudo firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,9071,7071}/tcp

success
sudo firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,9071,7071}/tcp
sudo firewall-cmd --reload

Please note that Ports 7071 and 9071 are used for Admin and proxyed Admin

[root@mail maszmail]# sudo firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,9071,7071}/tcp
success
[root@mail maszmail]# sudo firewall-cmd --reload
success
[root@mail maszmail]# sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 25/tcp 80/tcp 110/tcp 143/tcp 443/tcp 465/tcp 587/tcp 993/tcp 995/tcp 9071/tcp 7071/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@mail maszmail]#

Now we are ready for the next step

Step 3: Configure System Hostname

The first thing we have to do is to set hostname and FQDN to point to your server IP Address.

To set the hostname, just type:

hostnamectl set-hostname <hostname>

Where <hostname> is the name of your host (for example “mail.domain.com”)

[root@mail maszmail]# hostnamectl set-hostname mail.zmail.local
[root@mail maszmail]# hostnamectl
hostnamectl
   Static hostname: mail.zmail.local
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 2537e10a6ef5443dae4fa39d6fb933ce
           Boot ID: e63d32f6fd4e4516aa3513ae0539ff84
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
[root@mail maszmail]#

Then we need to add the right IP in file hosts, so let’s type:

nano /etc/hosts

And then add the following line, leaving the others untouched:

<ip-address> <FQDN> <name>

Where <ip-address> is the IP address of your mail server and <FQDN> is the fully qualified domain name you want to use, for example:

[root@mail maszmail]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.101 mail.zmail.local mail
[root@mail maszmail]#

Now save the changes you made and exit.

To verify that everything is right, let’s make a quick check on A and MX using the dig command (remember to replace “domain.com” with your own one:

dig -t A “mail.domain.com”

dig -t MX “domain.com”
[root@mail maszmail]# dig -t A mail.zmail.local

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> -t A mail.zmail.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50587
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;mail.zmail.local.              IN      A

;; AUTHORITY SECTION:
zmail.local.            900     IN      SOA     dns-server. hostadmin.zmail.local. 2 900 300 604800 900

;; Query time: 3 msec
;; SERVER: 192.168.1.200#53(192.168.1.200)
;; WHEN: Wed Jul 19 11:45:07 WIB 2023
;; MSG SIZE  rcvd: 101

[root@mail maszmail]# dig -t MX zmail.local

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> -t MX zmail.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38988
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;zmail.local.                   IN      MX

;; AUTHORITY SECTION:
zmail.local.            900     IN      SOA     dns-server. hostadmin.zmail.local. 2 900 300 604800 900

;; Query time: 4 msec
;; SERVER: 192.168.1.200#53(192.168.1.200)
;; WHEN: Wed Jul 19 11:45:20 WIB 2023
;; MSG SIZE  rcvd: 96

[root@mail maszmail]#

Substep 3a: Add a Static IP Address

We need a static IP for our mail server, so if your server uses a DHCP dynamic IP Address, then we need to edit our network interface card and configure it to use a static IP Address.

There are different ways to do that. To see how it works, please refer to the following guide:

Different ways to set a Static IP Address on CentOS / RHEL

Step 4: Download and Install Zimbra

Now it’s time to finally install Zimbra. First of all let’s download the latest version, just typing the following command:

—————– For RHEL/CentOS 8 —————–

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3953.RHEL8_64.20200629025823.tgz

 —————– For RHEL/CentOS 7 —————–

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
[root@mail maszmail]# wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
--2023-07-19 13:14:41--  https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
Resolving files.zimbra.com (files.zimbra.com)... 65.8.112.52
Connecting to files.zimbra.com (files.zimbra.com)|65.8.112.52|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 255802491 (244M) [binary/octet-stream]
Saving to: 'zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz'

100%[===================================================================================================================================================================>] 255,802,491 5.95MB/s   in 42s

2023-07-19 13:15:23 (5.87 MB/s) - 'zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz' saved [255802491/255802491]

[root@mail maszmail]#
[root@mail maszmail]# ls -l
total 249808
-rw-r--r--. 1 root root 255802491 Oct  5  2019 zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
[root@mail maszmail]#

Extract the downloaded .tgz file using the tar command (the name of the file could vary depending on the one you choose to download):

tar xvf zcs-8.8.15_GA_3953.RHEL8_64.20200629025823.tgz

Then go to the extracted folder:

cd zcs-8.8.15_GA_3953.RHEL8_64.20200629025823
[root@mail maszmail]# tar -xzf zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
[root@mail maszmail]# ls -l
total 249812
drwxr-xr-x. 8  503  503      4096 Sep 17  2019 zcs-8.8.15_GA_3869.RHEL7_64.20190918004220
-rw-r--r--. 1 root root 255802491 Oct  5  2019 zcs-8.8.15_GA_3869.RHEL7_64.20190918004220.tgz
[root@mail maszmail]#
[root@mail maszmail]# cd zcs-8.8.15_GA_3869.RHEL7_64.20190918004220
[root@mail zcs-8.8.15_GA_3869.RHEL7_64.20190918004220]# ls -l
total 24
drwxr-xr-x. 2 503 503  127 Sep 17  2019 bin
drwxr-xr-x. 2 503 503   31 Sep 17  2019 data
drwxr-xr-x. 3 503 503   34 Sep 17  2019 docs
-rwxr-xr-x. 1 503 503 8873 Sep 17  2019 install.sh
drwxr-xr-x. 3 503 503   18 Sep 17  2019 lib
drwxr-xr-x. 2 503 503 4096 Oct  3  2019 packages
-rw-r--r--. 1 503 503  369 Sep 17  2019 readme_binary_en_US.txt
-rw-r--r--. 1 503 503  428 Sep 17  2019 README.txt
drwxr-xr-x. 3 503 503   76 Sep 17  2019 util
[root@mail zcs-8.8.15_GA_3869.RHEL7_64.20190918004220]#

And now run the install script:

sudo screen ./install.sh

Note: To help prevent an upgrade (or install) session from terminating before it is completed, it is suggested and recommended to use the “screen” command. It is important when the upgrade includes restoring a configuration that has a large number of accounts. The syntax is very simple. Just type : < screen ./install.sh >

Operations logged to /tmp/install.log.ioru8o4B
Checking for existing installation...
    zimbra-drive...NOT FOUND
    zimbra-imapd...NOT FOUND
    zimbra-patch...NOT FOUND
    zimbra-mta-patch...NOT FOUND
    zimbra-proxy-patch...NOT FOUND
    zimbra-license-tools...NOT FOUND
    zimbra-license-extension...NOT FOUND
    zimbra-network-store...NOT FOUND
    zimbra-network-modules-ng...NOT FOUND
    zimbra-chat...NOT FOUND
    zimbra-talk...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-core...NOT FOUND


----------------------------------------------------------------------
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

Press “Y” to accept the license, then configure the Zimbra package repository and select all the Zimbra Components to install.

Zimbra Packages

Before installing them, here is a brief description of Zimbra packages:

  • Zimbra Core: This package includes the libraries, utilities, monitoring tools, and basic configuration files. Zimbra Core is automatically installed on each server.
  • Zimbra LDAP: User authentication is provided through OpenLDAP® software. Each account on the Zimbra server has a unique mailbox ID that is the primary point of reference to identify the account. The OpenLDAP schema has been customized for the Zimbra Collaboration Suite. The Zimbra LDAP server must be configured before the other servers. You can set up LDAP replication, configuring a master LDAP server and replica LDAP servers
  • Zimbra MTA: Postfix is the open source mail transfer agent (MTA) that receives email via SMTP and routes each message to the appropriate Zimbra mailbox server using Local Mail Transfer Protocol (LMTP). The Zimbra MTA also includes the anti-virus and anti-spam components.
  • Zimbra Store: The Zimbra store includes the components for the mailbox server, including Jetty, which is the servlet container the Zimbra software runs within. The Zimbra mailbox server includes the following components:
    • Data store. The data store is a MySQL® database.
    • Message store. The message store is where all email messages and file attachments reside.
    • Index store. Index and search technology is provided through Lucene. Index files are maintained for each mailbox.
  • Zimbra SNMP: Installing the Zimbra SNMP package is optional. If you choose to install zimbra-SNMP for monitoring, this package should be installed on every Zimbra server.
  • Zimbra Logger: Installing the Zimbra Logger package is optional and is installed on one mailbox server. The Zimbra Logger installs tools for syslog aggregation and reporting. If you do not install Logger, the server statistics the server statistics section of the administration console will not display.
    Note: The Logger package must be installed at the same time as the mailbox server.
  • Zimbra Spell: Installing the Zimbra Spell package is optional. Aspell is the open source spell checker used on the Zimbra Web Client.
  • Zimbra Apache: This package is installed automatically when Zimbra Spell or Zimbra Convertd is installed.
  • Zimbra Proxy: Zimbra proxy can be configured as a POP and IMAP proxy server and for reverse proxy HTTP requests. This package is normally installed on the MTA server or on its own independent server. Zimbra proxy can be installed on more than one server. When the zimbra-proxy package is installed, the proxy feature is enabled. Installing the Zimbra Proxy is optional.
  • Zimbra-memcached: Memcached is automatically selected when the zimbra-proxy is installed. At least one server must run zimbra-memcached when the proxy is in use. All installed zimbra-proxies can use a single memcached server.

Select the packages to install

In the end, type “Y” to modify the System. Now it will start downloading the Zimbra-related packages and it can take time depending upon your internet speed.

The system will be modified.  Continue? [N] Y

Once all the Zimbra packages are installed in the backend we are almost done.

First of all, we need to set the correct domain after getting DNS error to the primary domain that you added DNS entry for:

DNS ERROR resolving MX for mail.domain.com

It is suggested that the domain name has an MX record configured in DNS

Change domain name? [Yes]

Create domain: [mail.domain.com] domain.com

        MX: mail.domain.com (<ip-address>)

After that, we need to set the admin password. To do so, in main menu enter “7” and then “4” in the next one. After that, press “r” to go to previous menu and then press “a” to apply the changes.

   1) Status:                                  Enabled
   2) Create Admin User:                       yes
   3) Admin user to create:                    [email protected]
** 4) Admin Password                           UNSET
   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.zmail.local
  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://mail.zmail.local:7780/aspell.php
  19) Enable version update checks:            TRUE
  20) Enable version update notifications:     TRUE
  21) Version update notification email:       [email protected]
  22) Version update source email:             [email protected]
  23) Install mailstore (service webapp):      yes
  24) Install UI (zimbra,zimbraAdmin webapps): yes

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

Password for [email protected] (min 6 characters): [IW5gALrH] zMail@Masuk#

After that go back to the main menu (press “r”)

Main menu

   1) Common Configuration:
   2) zimbra-ldap:                             Enabled
   3) zimbra-logger:                           Enabled
   4) zimbra-mta:                              Enabled
   5) zimbra-dnscache:                         Enabled
   6) zimbra-snmp:                             Enabled
   7) zimbra-store:                            Enabled
   8) zimbra-spell:                            Enabled
   9) zimbra-proxy:                            Enabled
  10) zimbra-imapd:                            Enabled
  11) Default Class of Service Configuration:
   s) Save config to file
   x) Expand menu
   q) Quit

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

Installation is now complete.

[root@mail zcs-8.8.15_GA_3869.RHEL7_64.20190918004220]# ./install.sh

Operations logged to /tmp/install.log.ioru8o4B
Checking for existing installation...
    zimbra-drive...NOT FOUND
    zimbra-imapd...NOT FOUND
    zimbra-patch...NOT FOUND
    zimbra-mta-patch...NOT FOUND
    zimbra-proxy-patch...NOT FOUND
    zimbra-license-tools...NOT FOUND
    zimbra-license-extension...NOT FOUND
    zimbra-network-store...NOT FOUND
    zimbra-network-modules-ng...NOT FOUND
    zimbra-chat...NOT FOUND
    zimbra-talk...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-core...NOT FOUND


----------------------------------------------------------------------
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] Y

Importing Zimbra GPG key

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)
Found zimbra-mta-patch (repo)
Found zimbra-proxy-patch (repo)


Select the packages to install

Install zimbra-ldap [Y] Y

Install zimbra-logger [Y] Y

Install zimbra-mta [Y] Y

Install zimbra-dnscache [Y] Y

Install zimbra-snmp [Y] Y

Install zimbra-store [Y] Y

Install zimbra-apache [Y] Y

Install zimbra-spell [Y] Y

Install zimbra-memcached [Y] Y

Install zimbra-proxy [Y] Y

Install zimbra-drive [Y] Y

Install zimbra-imapd (BETA - for evaluation only) [N] Y

Install zimbra-chat [Y] 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-dnscache
    zimbra-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell
    zimbra-memcached
    zimbra-proxy
    zimbra-drive
    zimbra-imapd
    zimbra-patch
    zimbra-mta-patch
    zimbra-proxy-patch
    zimbra-chat

The system will be modified.  Continue? [N] Y

Beginning Installation - see /tmp/install.log.ioru8o4B for details...

                          zimbra-core-components will be downloaded and installed.
                            zimbra-timezone-data will be installed.
                          zimbra-common-core-jar will be installed.
                         zimbra-common-mbox-conf will be installed.
                   zimbra-common-mbox-conf-attrs will be installed.
                    zimbra-common-mbox-conf-msgs will be installed.
                  zimbra-common-mbox-conf-rights will be installed.
                           zimbra-common-mbox-db will be installed.
                         zimbra-common-mbox-docs will be installed.
                   zimbra-common-mbox-native-lib will be installed.
                         zimbra-common-core-libs will be installed.
                                     zimbra-core will be installed.
                          zimbra-ldap-components will be downloaded and installed.
                                     zimbra-ldap will be installed.
                                   zimbra-logger will be installed.
                           zimbra-mta-components will be downloaded and installed.
                                      zimbra-mta will be installed.
                      zimbra-dnscache-components will be downloaded and installed.
                                 zimbra-dnscache will be installed.
                          zimbra-snmp-components will be downloaded and installed.
                                     zimbra-snmp will be installed.
                         zimbra-store-components will be downloaded and installed.
                       zimbra-jetty-distribution will be downloaded and installed.
                                zimbra-mbox-conf will be installed.
                                 zimbra-mbox-war will be installed.
                             zimbra-mbox-service will be installed.
                       zimbra-mbox-webclient-war will be installed.
                   zimbra-mbox-admin-console-war will be installed.
                          zimbra-mbox-store-libs will be installed.
                                    zimbra-store will be installed.
                        zimbra-apache-components will be downloaded and installed.
                                   zimbra-apache will be installed.
                         zimbra-spell-components will be downloaded and installed.
                                    zimbra-spell will be installed.
                                zimbra-memcached will be downloaded and installed.
                         zimbra-proxy-components will be downloaded and installed.
                                    zimbra-proxy will be installed.
                                    zimbra-drive will be downloaded and installed (later).
                                    zimbra-imapd will be installed.
                                    zimbra-patch will be downloaded and installed (later).
                                zimbra-mta-patch will be downloaded and installed (later).
                              zimbra-proxy-patch will be downloaded and installed (later).
                                     zimbra-chat will be downloaded and installed (later).

Downloading packages (11):
   zimbra-core-components
   zimbra-ldap-components
   zimbra-mta-components
   zimbra-dnscache-components
   zimbra-snmp-components
   zimbra-store-components
   zimbra-jetty-distribution
   zimbra-apache-components
   zimbra-spell-components
   zimbra-memcached
   zimbra-proxy-components
      ...done

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 repo packages (11):
   zimbra-core-components
   zimbra-ldap-components
   zimbra-mta-components
   zimbra-dnscache-components
   zimbra-snmp-components
   zimbra-store-components
   zimbra-jetty-distribution
   zimbra-apache-components
   zimbra-spell-components
   zimbra-memcached
   zimbra-proxy-components
      ...done

Installing local packages (27):
   zimbra-timezone-data
   zimbra-common-core-jar
   zimbra-common-mbox-conf
   zimbra-common-mbox-conf-attrs
   zimbra-common-mbox-conf-msgs
   zimbra-common-mbox-conf-rights
   zimbra-common-mbox-db
   zimbra-common-mbox-docs
   zimbra-common-mbox-native-lib
   zimbra-common-core-libs
   zimbra-core
   zimbra-ldap
   zimbra-logger
   zimbra-mta
   zimbra-dnscache
   zimbra-snmp
   zimbra-mbox-conf
   zimbra-mbox-war
   zimbra-mbox-service
   zimbra-mbox-webclient-war
   zimbra-mbox-admin-console-war
   zimbra-mbox-store-libs
   zimbra-store
   zimbra-apache
   zimbra-spell
   zimbra-proxy
   zimbra-imapd
      ...done

Installing extra packages (5):
   zimbra-drive
   zimbra-patch
   zimbra-mta-patch
   zimbra-proxy-patch
   zimbra-chat
      ...done

Running Post Installation Configuration:
Operations logged to /tmp/zmsetup.20230719-132615.log
Installing LDAP configuration database...done.
Setting defaults...No results returned for A lookup of mail.zmail.local
Checked nameservers:
        192.168.1.200
No results returned for AAAA lookup of mail.zmail.local
Checked nameservers:
        192.168.1.200


DNS ERROR resolving mail.zmail.local
It is suggested that the hostname be resolvable via DNS
Change hostname [Yes] Y
Please enter the logical hostname for this host [mail.zmail.local] mail.zmail.local
        MX: mail.zmail.local (192.168.1.101)

        Interface: 127.0.0.1
        Interface: ::1
        Interface: 192.168.1.101
                192.168.1.101
                192.168.1.101
                192.168.1.101
done.
Checking for port conflicts

Main menu

   1) Common Configuration:
   2) zimbra-ldap:                             Enabled
   3) zimbra-logger:                           Enabled
   4) zimbra-mta:                              Enabled
   5) zimbra-dnscache:                         Enabled
   6) zimbra-snmp:                             Enabled
   7) zimbra-store:                            Enabled
        +Create Admin User:                    yes
        +Admin user to create:                 [email protected]
******* +Admin Password                        UNSET
        +Anti-virus quarantine user:           [email protected]
        +Enable automated spam training:       yes
        +Spam training user:                   [email protected]
        +Non-spam(Ham) training user:          [email protected]
        +SMTP host:                            mail.zmail.local
        +Web server HTTP port:                 8080
        +Web server HTTPS port:                8443
        +Web server mode:                      https
        +IMAP server port:                     7143
        +IMAP server SSL port:                 7993
        +POP server port:                      7110
        +POP server SSL port:                  7995
        +Use spell check server:               yes
        +Spell server URL:                     http://mail.zmail.local:7780/aspell.php
        +Enable version update checks:         TRUE
        +Enable version update notifications:  TRUE
        +Version update notification email:    [email protected]
        +Version update source email:          [email protected]
        +Install mailstore (service webapp):   yes
        +Install UI (zimbra,zimbraAdmin webapps): yes

   8) zimbra-spell:                            Enabled
   9) zimbra-proxy:                            Enabled
  10) zimbra-imapd:                            Enabled
  11) Default Class of Service Configuration:
   s) Save config to file
   x) Expand menu
   q) Quit

Address unconfigured (**) items  (? - help) 7


Store configuration

   1) Status:                                  Enabled
   2) Create Admin User:                       yes
   3) Admin user to create:                    [email protected]
** 4) Admin Password                           UNSET
   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.zmail.local
  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://mail.zmail.local:7780/aspell.php
  19) Enable version update checks:            TRUE
  20) Enable version update notifications:     TRUE
  21) Version update notification email:       [email protected]
  22) Version update source email:             [email protected]
  23) Install mailstore (service webapp):      yes
  24) Install UI (zimbra,zimbraAdmin webapps): yes

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

Password for [email protected] (min 6 characters): [IW5gALrH] zMail@Masuk#

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.zmail.local
  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://mail.zmail.local:7780/aspell.php
  19) Enable version update checks:            TRUE
  20) Enable version update notifications:     TRUE
  21) Version update notification email:       [email protected]
  22) Version update source email:             [email protected]
  23) Install mailstore (service webapp):      yes
  24) Install UI (zimbra,zimbraAdmin webapps): yes

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-dnscache:                         Enabled
   6) zimbra-snmp:                             Enabled
   7) zimbra-store:                            Enabled
   8) zimbra-spell:                            Enabled
   9) zimbra-proxy:                            Enabled
  10) zimbra-imapd:                            Enabled
  11) Default Class of Service Configuration:
   s) Save config to file
   x) Expand menu
   q) Quit

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] Yes
Save config in file: [/opt/zimbra/config.75044]
Saving config in /opt/zimbra/config.75044...done.
The system will be modified - continue? [No] Yes
Operations logged to /tmp/zmsetup.20230719-132615.log
Setting local config values...done.
Initializing core config...Setting up CA...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating SSL zimbra-imapd certificate...done.
Creating new zimbra-store SSL 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 imapd 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 mail.zmail.local...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 mail.zmail.local...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 mail.zmail.local to zimbraReverseProxyAvailableLookupTargets
Setting Master DNS IP address(es)...done.
Setting DNS cache tcp lookup preference...done.
Setting DNS cache udp lookup preference...done.
Setting DNS tcp upstream preference...done.
Updating zimbraLDAPSchemaVersion to version '1649766200'
Setting TimeZone Preference...done.
Disabling strict server name enforcement on mail.zmail.local...done.
Initializing mta config...done.
Setting services on mail.zmail.local...done.
Adding mail.zmail.local to zimbraMailHostPool in default COS...done.
Creating domain mail.zmail.local...done.
Setting default domain name...done.
Creating domain mail.zmail.local...already exists.
Creating admin account [email protected].
Creating root alias...done.
Creating postmaster alias...done.
Creating user [email protected].
Creating user [email protected].
Creating user [email protected].
Setting spam training and Anti-virus quarantine accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for mail.zmail.local...done.
Configuring SNMP...done.
Setting up syslog.conf...done.
Enabling IMAP protocol for zimbra-imapd service...done.
Enabling IMAPS protocol for zimbra-imapd service...done.
Setting java options...done.
Starting servers...done.
Enabling jetty logging...done.
Installing common zimlets...
        com_zimbra_adminversioncheck...done.
        com_zimbra_attachcontacts...done.
        com_zimbra_attachmail...done.
        com_zimbra_bulkprovision...done.
        com_zimbra_cert_manager...done.
        com_zimbra_date...done.
        com_zimbra_email...done.
        com_zimbra_mailarchive...done.
        com_zimbra_phone...done.
        com_zimbra_proxy_config...done.
        com_zimbra_srchhighlighter...done.
        com_zimbra_tooltip...done.
        com_zimbra_url...done.
        com_zimbra_viewmail...done.
        com_zimbra_webex...done.
        com_zimbra_ymemoticons...done.
        com_zextras_drive_open...done.
        com_zextras_chat_open...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.8.15_GA_3869_RHEL7_64)
        The ADMIN EMAIL ADDRESS created ([email protected])

Notify Zimbra of your installation? [Yes] No
Notification skipped
Checking if the NG started running...done.
Setting up zimbra crontab...done.


Moving /tmp/zmsetup.20230719-132615.log to /opt/zimbra/log


Configuration complete - press return to exit


[root@mail zcs-8.8.15_GA_3869.RHEL7_64.20190918004220]#
Last Check

One last step will be to check if Zimbra services are running. To do so, you have to proceed this way:

First of all, let’s go out from the package folder:

cd ..

Now we have to access the Zimbra server by typing:

sudo su - zimbra

We can now make a check of Zimbra services to see if they are all running:

zmcontrol status
[root@mail ~]# sudo su - zimbra
Last login: Wed Jul 19 13:47:41 WIB 2023 on pts/0
[zimbra@mail ~]$ zmcontrol status
Host mail.zmail.local
        amavis                  Running
        antispam                Running
        antivirus               Running
        dnscache                Running
        imapd                   Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        memcached               Running
        mta                     Running
        opendkim                Running
        proxy                   Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Running
[zimbra@mail ~]$
[zimbra@mail ~]$

NOTE: If you were to reboot the system and do the same thing a few of these services may not be working, due to DNSMasq that might be yet to start to work completely when you send the command after the reboot. In this case just type:

zmcontrol restart

To stop and then restart all the services.

You could eventually start directly the ones that are not working, but stopping and restarting all of them is a faster way and gives also a more reliable result.

Step 5: Access Zimbra Admin Portal & Web Mail Client

In order to access the Zimbra Admin Portal, type the below URL in Web Browser:

https://<mail.domain.com>:7071/ or https://<ip-address>:7071


To access the Zimbra Mail Web Client, type the following URL in the browser

https://<mail.domain.com>


Note: For both URLs, we can use the user name as “admin” and the password that we set during the installation.

Leave a Reply

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