Install Zimbra Mail Server on CentOS 8 | RHEL 8

The
You can support us by downloading this article in PDF format via the link below.

Download the guide in PDF format

turn off
The

The
The

When conducting any business, setting up a mail server is one of the key requirements. This may mean using a mail solution with SaaS products or deploying a complete mail solution in your own infrastructure. Zimbra is a popular open source mail solution designed for small to large enterprises. Have the commercial product you want Extra features. In this tutorial, we will discuss how to install and configure Zimbra Mail Server on CentOS 8 and RHEL 8 Linux Server.

The main components of Zimbra Mail and Collaboration Server are:

  • Zimbra core: These are basic libraries, utilities, monitoring tools, and basic configuration files.
  • Zimbra LDAP: Has an OpenLDAP LDAP directory server, which provides authentication and configuration storage for users and other zimbra components.
  • Zimbra MTA (mail routing server): With Postfix Mail Transfer Agent (MTA), which can receive emails via SMTP and use the Local Mail Transfer Protocol (LMTP) to route each message to the appropriate Zimbra mailbox server. It also includes anti-virus and anti-spam components.
  • Zimbra store (Zimbra server): Mailbox server includes data storage, message storage and index storage of mailboxes on the server. When the mail arrives, the Zimbra server schedules a thread to index the mail in the index store.
  • Zimbra SNMP: This is an optional component for monitoring. It runs on each server (Zimbra server, Zimbra LDAP, Zimbra MTA). Swatch is used to monitor system log output to generate SNMP traps.
  • Zimbra recorder: This is an optional component of the mailbox server. It installs tools for system log aggregation, reporting and message tracking. This is necessary for the message tracking function.

For information on how all components work together to deliver a collaboration suite, see the system architecture below.

Install Zimbra Mail Server on CentOS 8 | RHEL 8

At the time of writing, the latest version of the Zimbra Collaboration Suite is 9 But it is not yet available in open source products. This is the Zimbra mail server we will install in CentOS 8 | RHEL 8 server. Please follow the steps below to install and configure Zimbra Mail Server on CentOS 8 / RHEL 8 Linux system.

The minimum system requirements for this installation are:

  • memory:>= 8GB
  • vcpus:>= 4
  • Disk: /Opt> 10GB-it is recommended to have /opt/zimbra As a separate partition.
  • Mail domain: FQDN with DNS entry configured for MX, for example mail.computingforgeeks.com
  • DNS One Record MX entries

This is what I have on the server:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       169Mi        14Gi        16Mi       206Mi        14Gi
Swap:            0B          0B          0B

$ df -hT /opt
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sda1      ext4  151G 1020M  143G   1% /

Step 1: Update the system, install dependencies and configure NTP

As always, we ensure that the system is updated to the latest available OS version.

sudo dnf -y update

Install some basic dependencies.

sudo dnf -y install epel-release dnf-utils
sudo dnf config-manager --enable PowerTools
sudo dnf -y install bash-completion vim curl wget unzip openssh-clients telnet net-tools sysstat perl-core libaio nmap-ncat libstdc++.so.6 bind-utils tar

Set the server host name to match the mail server DNS name:

sudo hostnamectl set-hostname mail.computingforgeeks.com --static

Also configure the correct time zone and NTP.

sudo dnf -y install chrony
sudo timedatectl set-timezone Africa/Nairobi
sudo systemctl enable --now chronyd
sudo chronyc sources

Confirm that the time is set correctly.

$ timedatectl
               Local time: Sun 2020-07-05 14:47:26 EAT
           Universal time: Sun 2020-07-05 11:47:26 UTC
                 RTC time: Sun 2020-07-05 11:47:25
                Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Perform a system reboot to ensure that the server can be rebooted after the upgrade.

sudo systemctl reboot

Step 2: Configure DNS entries.

We need to set up two DNS records.

  1. Mail server A record
  2. MX records

These are the values ​​I will set for the Zimbra server

mail.computingforgeeks.com A 95.217.220.167
computingforgeeks.com MX mail.computingforgeeks.com
mail.computingforgeeks.com MX mail.computingforgeeks.com

My DNS provider is Cloudflare. Please consult your DNS provider for how to configure A and MX records.

Set record:

Install Zimbra Mail Server on CentOS 8 | RHEL 8

Set the MX record of the main domain.

Install Zimbra Mail Server on CentOS 8 | RHEL 8

Also set up MX records for the mail server.

Install Zimbra Mail Server on CentOS 8 | RHEL 8

Please take a few minutes to propagate, and then verify the settings on the Zimbra server command line.

$ dig A mail.computingforgeeks.com +short
95.217.220.155

$ dig MX computingforgeeks.com +short
0 mail.computingforgeeks.com.

$ dig MX mail.computingforgeeks.com +short
0 mail.computingforgeeks.com.

Step 3: Download the Zimbra collaboration software

There are two versions of the Zimbra collaboration suite:

In this guide, we will install the open source version of Zimbra on CentOS 8. RHEL 8 Linux server.

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

Extracting files:

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

Step 4: Install Zimbra Collaboration Suite on CentOS 8. RHEL 8

Add the server IP and DNS name to the /etc/hosts file.

$ sudo vim /etc/hosts
95.217.220.155 mail.computingforgeeks.com

Make sure the locale is set correctly-Mine is suitable for we English and UTF-8:

sudo localectl set-locale LANG=en_US.UTF-8
sudo localectl set-locale LANGUAGE=en_US
echo "export LC_ALL=en_US.UTF-8" >>~/.bashrc
logout

Log in back to the Zimbra server, and then cd into the directory where the ZCS archive tar file is saved.

cd zcs-8.8.15_GA_3953.RHEL8_64.20200629025823

In the directory, you will see:

  • README.txt – Readme file
  • install.sh – Installation script
  • box/ – Binary files used during installation
  • data/ – Contains installation data
  • Package/ – Contains ZCS rpm
  • docs / – More documents

We will start the installation by running install.sh script.

sudo ./install.sh

1. enter”ÿ“To accept the license terms and start the installation.

Do you agree with the terms of the software license agreement? [N] Y

2. Agree to use Zimbra software package repository.

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)

3. Choose the package 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
    zimbra-dnscache
    zimbra-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell
    zimbra-memcached
    zimbra-proxy
    zimbra-drive
    zimbra-patch
    zimbra-mta-patch
    zimbra-proxy-patch
    zimbra-chat

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

The download and installation of the Zimbra software package will begin.

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

Installing local packages (26):
   zimbra-common-core-jar
   zimbra-common-core-libs
   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-timezone-data
   zimbra-core
   zimbra-ldap
   zimbra-logger
   zimbra-mta
   zimbra-dnscache
   zimbra-snmp
   zimbra-mbox-admin-console-war
   zimbra-mbox-conf
   zimbra-mbox-war
   zimbra-mbox-service
   zimbra-mbox-store-libs
   zimbra-mbox-webclient-war
   zimbra-store
   zimbra-apache
   zimbra-spell
   zimbra-proxy
      ...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.20200705-161319.log
Installing LDAP configuration database...done.
Setting defaults...

When you receive a DNS error, set the mail domain to the main domain for which we add DNS entries.

...
DNS ERROR resolving MX for mail.computingforgeeks.com
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [mail.computingforgeeks.com] computingforgeeks.com
	MX: mail.computingforgeeks.com (95.217.220.155)

Set administrator account password – 7> 4

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.computingforgeeks.com
        +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:                     //mail.computingforgeeks.com: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) 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.computingforgeeks.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:                        //mail.computingforgeeks.com: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): [8IFLmFH7Wr] 

Return to the previous menu and click One To start the installation.

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) 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]
Save config in file: [/opt/zimbra/config.9721]
Saving config in /opt/zimbra/config.9721...done.
The system will be modified - continue? [No] yes

The installer script will start configuring Zimbra Mail Server on CentOS 8. RHEL 8. If the installation is successful, you will receive output similar to the following.

Operations logged to /tmp/zmsetup.20200705-161319.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 mail.computingforgeeks.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 mail.computingforgeeks.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 mail.computingforgeeks.com 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 '1571057268'
Setting TimeZone Preference...done.
Disabling strict server name enforcement on mail.computingforgeeks.com...done.
Initializing mta config...done.
Setting services on mail.computingforgeeks.com...done.
Adding mail.computingforgeeks.com to zimbraMailHostPool in default COS...done.
Creating domain computingforgeeks.com...done.
Setting default domain name...done.
Creating domain computingforgeeks.com...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.computingforgeeks.com...done.
Configuring SNMP...done.
Setting up syslog.conf...done.
Starting servers...done.
Installing common zimlets...
	com_zimbra_ymemoticons...done.
	com_zimbra_attachcontacts...done.
	com_zimbra_clientuploader...done.
	com_zimbra_proxy_config...done.
	com_zimbra_mailarchive...done.
	com_zimbra_phone...done.
	com_zimbra_attachmail...done.
	com_zextras_chat_open...done.
	com_zimbra_webex...done.
	com_zextras_drive_open...done.
	com_zimbra_url...done.
	com_zimbra_adminversioncheck...done.
	com_zimbra_srchhighlighter...done.
	com_zimbra_bulkprovision...done.
	com_zimbra_date...done.
	com_zimbra_viewmail...done.
	com_zimbra_tooltip...done.
	com_zimbra_email...done.
	com_zimbra_cert_manager...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_3953_RHEL8_64)
	The ADMIN EMAIL ADDRESS created ([email protected])

Notify Zimbra of your installation? [Yes]
Notify Zimbra of your installation? [Yes]
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.8.15_GA_3953_RHEL8_64&[email protected]

Notification complete

Checking if the NG started running...done.
Setting up zimbra crontab...done.


Moving /tmp/zmsetup.20200705-161319.log to /opt/zimbra/log


Configuration complete - press return to exit

Confirm the Zimbra service status.

$ sudo su - zimbra -c "zmcontrol status"
Host mail.computingforgeeks.com
	amavis                  Running
	antispam                Running
	antivirus               Running
	dnscache                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

Step 5: Configure SSL certificate

It is recommended to use an SSL certificate signed by a certified CA or a free Let’s Encrypt certificate. Check out our guide below for installation.

Let’s encrypt SSL certificate to protect Zimbra server

Step 6: Visit the Zimbra Admin Information Center

If you have an active firewall, please check our guide on opening ports:

Zimbra firewall configuration using Ufw and Firewalld

Now we have Zimbra installed on CentOS 8. After RHEL 8 is completed, we open the management console https://ip-addres | hostname: 7071

Install Zimbra Mail Server on CentOS 8 | RHEL 8

Login with username Administrator And the previously configured password.

Install Zimbra Mail Server on CentOS 8 | RHEL 8

Confirm that all Zimbra services are on “monitor” section.

Install Zimbra Mail Server on CentOS 8 | RHEL 8

More guides about Zimbra:

How to restore Zimbra LDAP database from backup

How to configure Microsoft Outlook for Zimbra

How to set up a secure password policy on Zimbra

The
You can support us by downloading this article in PDF format via the link below.

Download the guide in PDF format

turn off
The

The
The

Sidebar