How to Install Zimbra Mail Server on CentOS 7

Mail Server is one of the important and critical Server for any organization as most of business communication done via emails only. which provides services such as LDAP, SMTP, POP and IMAP, webmail client, calendaring, tasks, antivirus, antispam and others. In this i am going to you how to install Install Open Source Zimbra Mail Server (ZCS 8.8.10) on CentOS 7

Prerequisites of Zimbra Mail Server (ZCS)

  • Minimal CentOS 7
  • 8 GB RAM
  • At least 5 GB Free Space on /opt
  • FQDN (Fully Qualified Domain Name), in my case it is “mail.vkttech.com”
  • A & MX record for your Server

Vps Server

The second thing you will need is a VPS server. a public server to install & Setup SMTP.

In My Post i Am Using Digitalocean Vps Server.

Here is a list of some companies:

List of VPS Hosting Providers Offering Open Port 25

    In this article we will demonstrate how to install Open Source ZCS 8.8.10 on a CentOS 7.

    Step:1) Login to CentOS 7 and apply updates.

    Login to your CentOS 7 Server and apply the latest updates using following yum command and then reboot,

    ~]# yum update -y ; reboot

    After the reboot, set the hostname of your server, in my case I am setting it as “mail.vkttech.com”

    ~]# hostnamectl set-hostname "mail.vkttech.com"
    ~]# exec bash

    Add the following lines in  /etc/hosts file,

    First Install = yum install nano -y

    [root@mail ~]# nano /etc/hosts

    192.168.0.108 mail.vkttech.com mail

    After configuring the hostname, verify the A and MX is configure for your domain using dig command,

    [root@mail ~]# dig -t A mail.vkttech.com
    [root@mail ~]# dig -t MX vkttech.com

    Step:2) Install Zimbra dependencies using yum

    Run the below command to install Zimbra / ZCS dependencies

    [root@mail ~]# yum install unzip net-tools sysstat openssh-clients perl-core libaio nmap-ncat libstdc++.so.6 wget -y

    Step:3) Download latest version of Zimbra (ZCS 8.8.10) using wget command

    Create a folder with the name “zimbra”

    [root@mail ~]# mkdir zimbra && cd zimbra

    Use below wget command to download the latest version of ZCS 8.8.10 from the terminal,

    [root@mail zimbra]# wget https://files.zimbra.com/downloads/8.8.10_GA/zcs-8.8.10_GA_3039.RHEL7_64.20180928094617.tgz --no-check-certificate

    Step:4 Install Zimbra / ZCS 8.8.10

    Extract the downloaded tgz file of  ZCS 8.8.10 using the beneath tar command

    [root@mail zimbra]# tar zxpvf zcs-8.8.10_GA_3039.RHEL7_64.20180928094617.tgz

    Go to extracted folder and run the install script,

    [root@mail zimbra]# cd zcs-8.8.10_GA_3039.RHEL7_64.20180928094617
    [root@mail zcs-8.8.10_GA_3039.RHEL7_64.20180928094617]# ./install.sh

    Once we run above install script then we will get text-based installation wizard, to Accept the license, press Y

    Operations logged to /tmp/install.log.92OcKO6s
    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

    Now Configure the Zimbra package repository and select the all Zimbra Components to install.

    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

    Press Y to modify the System,

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

    After pressing Y, it will download the Zimbra related packages and it can take time depending upon on your internet speed.

    Once all the Zimbra packages are installed in the backend then we will get the below window,

    The system will be modified.  Continue? [N] y
    
    Beginning Installation - see /tmp/install.log.92OcKO6s for details...
    
                              zimbra-core-components will be downloaded and installed.
                              zimbra-common-core-jar will be installed.
                             zimbra-common-core-libs 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-timezone-data 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.
    Last metadata expiration check: 0:00:56 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                           zimbra-jetty-distribution will be downloaded and installed.
                             zimbra-store-components will be downloaded and installed.
                       zimbra-mbox-admin-console-war will be installed.
                                    zimbra-mbox-conf will be installed.
                                     zimbra-mbox-war will be installed.
                                 zimbra-mbox-service will be installed.
                              zimbra-mbox-store-libs will be installed.
                           zimbra-mbox-webclient-war 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.
    Last metadata expiration check: 0:01:07 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                    zimbra-memcached will be downloaded and installed.
                             zimbra-proxy-components will be downloaded and installed.
                                        zimbra-proxy will be installed.
    Last metadata expiration check: 0:01:18 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                        zimbra-drive will be downloaded and installed (later).
                                        zimbra-imapd will be installed.
    Last metadata expiration check: 0:01:20 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                        zimbra-patch will be downloaded and installed (later).
    Last metadata expiration check: 0:01:22 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                    zimbra-mta-patch will be downloaded and installed (later).
    Last metadata expiration check: 0:01:23 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                  zimbra-proxy-patch will be downloaded and installed (later).
    Last metadata expiration check: 0:01:27 ago on Sat 01 Aug 2020 01:56:00 AM EDT.
                                         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-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
          ...
    1) Status:                                  Enabled
       2) Create Admin User:                       yes
       3) Admin user to create:                    admin@mail.centos7.lan
    ** 4) Admin Password                           UNSET
       5) Anti-virus quarantine user:              virus-quarantine.7xi47__k@mail.centos7.lan
       6) Enable automated spam training:          yes
       7) Spam training user:                      spam.wasleuiv@mail.centos7.lan
       8) Non-spam(Ham) training user:             ham.wzmkmrkq@mail.centos7.lan
       9) SMTP host:                               mail.centos7.lan
      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.centos7.lan:7780/aspell.php
      19) Enable version update checks:            TRUE
      20) Enable version update notifications:     TRUE
      21) Version update notification email:       admin@mail.centos7.lan
      22) Version update source email:             admin@mail.centos7.lan
      23) Install mailstore (service webapp):      yes
      24) Install UI (zimbra,zimbraAdmin webapps): yes
    
    Select, or 'r' for previous menu [r] 4 # Select 4 to set admin password Password for admin@mail.centos7.lan (min 6 characters): [54mE0RmqN] enter admin password here

    Now Press 7 and then 4 to set admin user password,

    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
    

    Now press “r” to go to previous menu and then press “a” to apply the changes.

    Once all the changes are applied and Zimbra related services are started then we will get the output something like below,

    Open the ports in the firewall in case os firewall is running on your server

    Installing and Enabling FirewallD #

    1. Firewalld is installed by default on CentOS 7, but if it is not installed on your system, you can install the package by typing:
    sudo yum install firewalld
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    [root@mail ~]# firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071}/tcp
    success
    [root@mail ~]# firewall-cmd --reload
    success
    [root@mail ~]#

    Step:5) Access Zimbra Admin Portal & Web Mail Client

    To access the Zimbra Admin Portal, type below URL in Web Browser

    https://mail.vkttech.com:7071/

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

    https://mail.vkttech.com.com

    Enter Your Username And PassWord

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

    Step:6) Troubleshooting Zimbra Services and Logs

    There can be some scenarios where some zimbra services might be stopped, to find zimbra services status from command line, run the following command,

    [root@mail ~]# su - zimbra
    Last login: Sun Oct  7 14:59:48 IST 2018 on pts/0
    [zimbra@mail ~]$ zmcontrol status
    Host mail.vkttech.com
            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 ~]$

    To restart the Zimbra Services use the following command,

    [zimbra@mail ~]$ zmcontrol restart
    Host mail.vkttech.com
            Stopping zmconfigd...Done.
            Stopping imapd...Done.
            Stopping zimlet webapp...Done.
            Stopping zimbraAdmin webapp...Done.
            Stopping zimbra webapp...Done.
            Stopping service webapp...Done.
            Stopping stats...Done.
            Stopping mta...Done.
            Stopping spell...Done.
            Stopping snmp...Done.
            Stopping cbpolicyd...Done.
            Stopping archiving...Done.
            Stopping opendkim...Done.
            Stopping amavis...Done.
            Stopping antivirus...Done.
            Stopping antispam...Done.
            Stopping proxy...Done.
            Stopping memcached...Done.
            Stopping mailbox...Done.
            Stopping logger...Done.
            Stopping dnscache...Done.
            Stopping ldap...Done.
    Host mail.vkttech.com
            Starting ldap...Done.
            Starting zmconfigd...Done.
            Starting dnscache...Done.
            Starting logger...Done.
            Starting mailbox...Done.
            Starting memcached...Done.
            Starting proxy...Done.
            Starting amavis...Done.
            Starting antispam...Done.
            Starting antivirus...Done.
            Starting opendkim...Done.
            Starting snmp...Done.
            Starting spell...Done.
            Starting mta...Done.
            Starting stats...Done.
            Starting service webapp...Done.
            Starting zimbra webapp...Done.
            Starting zimbraAdmin webapp...Done.
            Starting zimlet webapp...Done.
            Starting imapd...Done.
    [zimbra@mail ~]$

    All the log files for Zimbra server are kept under the folder “/opt/zimbra/log”

    Note: In my case postfix was already installed and running on my centos 7 server because of that Zimbra MTA service was getting stopped and failed. To resolve this issue, I have to stopped and disable the postfix service and then restart Zimbra service using the “zmcontrol” command. When you are done with Zimbra testing and want to uninstall it from the system, then run the “install.sh” script followed by “-u

    [root@mail ~]# cd /root/zimbra/zcs-8.8.10_GA_3039.RHEL7_64.20180928094617
    [root@mail zcs-8.8.10_GA_3039.RHEL7_64.20180928094617]# ./install.sh -u
    
    Generate DKIM key on Zimbra
    
    su zimbra
    [zimbra@mail root]$ /opt/zimbra/libexec/zmdkimkeyutil -a -d vkttech.com

    All Done .

    Leave a Comment

    Comments

    No comments yet. Why don’t you start the discussion?

    Leave a Reply Cancel reply