Install Zimbra Mail Server on CentOS 7 - CentLinux - Installation Guides & HowTos


Sunday, 18 August 2019

Install Zimbra Mail Server on CentOS 7

Install Zimbra Mail Server on CentOS 7

Zimbra Collaboration Suite (ZCS) is a collaborative software suite that includes a mail & chat server with a web client. Zimbra is developed and maintained by Synacor. Zimbra is available in two editions one as Zimbra Network Edition (Commercial version) and the other as Zimbra Open Source Edition (Community supported version).

In this article, we are installing Zimbra Mail Server on CentOS 7. To configure a Zimbra mail server, we will install Zimbra Collaboration Suite software and then we will configure Zimbra mail server. We will also configure a XMPP chat server using Zimbra Collaboration Suite (ZCS).

Zimbra Collaboration Suite (ZCS) is a large software with a lots of features and functionality. We are only covering the installation and initial configuration of Zimbra Collaboration Suite (ZCS). However, For more information you can refer to Zimbra documentation.


Table of Contents:


Zimbra Collaboration Suite (ZCS) - System Requirements:

According to Zimbra documentation following are the minimum system requirements.

  • CPU - 1.5 Ghz
  • Memory - 8 GB
  • Storage - 5 GB for ZCS installation


Environment Specification:

We have configured a CentOS 7 virtual machine with following specifications.

  • CPU - 3.4 Ghz (2 cores)
  • Memory - 2 GB
  • Storage - 40 GB
  • Operating System - CentOS 7.6
  • Hostname -
  • IP Address -


Verify DNS Settings for Zimbra Mail Server:

Connect with using ssh as root user.

Before configuring a private mail server, it is mandatory to have an Authoritative DNS Server. This DNS server is required to answer MX (Mail Exchange) queries, so the emails should be redirected to our Zimbra mail server.

If you have a DNS Server then you can add MX and A record of therein.

To verify that we have configured our DNS settings for our Zimbra mail server correctly, we can use dig command.

[root@zimbra-01 ~]# dig -t MX ; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> -t MX ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65089 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ; IN MX ;; ANSWER SECTION: 3600 IN MX 0 ;; AUTHORITY SECTION: 3600 IN NS ;; ADDITIONAL SECTION: 3600 IN A ;; Query time: 1 msec ;; SERVER: ;; WHEN: Mon Aug 12 18:02:16 PKT 2019 ;; MSG SIZE rcvd: 96

From the above output, we can see that, the MX and A records for our Zimbra mail server has been defined correctly.

Besides DNS settings, we are required to include it in our local DNS resolver.

[root@zimbra-01 ~]# echo " zimbra-01" >> /etc/hosts


Stop Exisiting MTA service on the server:

By default, CentOS 7 installs Postfix as MTA (Mail Transfer Agent). We need to disable it before moving on to Zimbra Collaboartion Suite (ZCS) installation.

Stop and disable postfix.service.

[root@zimbra-01 ~]# systemctl stop postfix.service [root@zimbra-01 ~]# systemctl disable postfix.service Removed symlink /etc/systemd/system/ [root@zimbra-01 ~]# systemctl mask postfix.service Created symlink from /etc/systemd/system/postfix.service to /dev/null.


Installing Prerequisite Packages for Zimbra Mail Server:

Install required software packages using yum command.

[root@zimbra-01 ~]# yum install -y libidn gmp perl perl-core ntpl nmap sudo sysstat sqlite libaio libstdc++ wget unzip ... Installed: nmap.x86_64 2:6.40-16.el7 perl.x86_64 4:5.16.3-294.el7_6 perl-core.x86_64 0:5.16.3-294.el7_6 sysstat.x86_64 0:10.1.5-17.el7_6.1 unzip.x86_64 0:6.0-19.el7 wget.x86_64 0:1.14-18.el7_6.1 Dependency Installed: gdbm-devel.x86_64 0:1.10-8.el7 glibc-devel.x86_64 0:2.17-260.el7_6.6 glibc-headers.x86_64 0:2.17-260.el7_6.6 kernel-headers.x86_64 0:3.10.0-957.27.2.el7 libdb-devel.x86_64 0:5.3.21-24.el7 libpcap.x86_64 14:1.5.3-11.el7 lm_sensors-libs.x86_64 0:3.4.0-6.20160601gitf9185e5.el7 nmap-ncat.x86_64 2:6.40-16.el7 perl-Archive-Extract.noarch 1:0.68-3.el7 perl-Archive-Tar.noarch 0:1.92-2.el7 perl-B-Lint.noarch 0:1.17-3.el7 perl-CGI.noarch 0:3.63-4.el7 perl-CPAN.noarch 0:1.9800-294.el7_6 perl-CPAN-Meta.noarch 0:2.120921-5.el7 perl-CPAN-Meta-Requirements.noarch 0:2.122-7.el7 perl-CPAN-Meta-YAML.noarch 0:0.008-14.el7 perl-CPANPLUS.noarch 0:0.91.38-4.el7 perl-CPANPLUS-Dist-Build.noarch 0:0.70-3.el7 perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-SQLite.x86_64 0:1.39-3.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-DBIx-Simple.noarch 0:1.35-7.el7 perl-DB_File.x86_64 0:1.830-6.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Digest.noarch 0:1.17-245.el7 perl-Digest-MD5.x86_64 0:2.52-3.el7 perl-Digest-SHA.x86_64 1:5.85-4.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Env.noarch 0:1.04-2.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-ExtUtils-CBuilder.noarch 1: perl-ExtUtils-Embed.noarch 0:1.30-294.el7_6 perl-ExtUtils-Install.noarch 0:1.58-294.el7_6 perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7 perl-ExtUtils-Manifest.noarch 0:1.61-244.el7 perl-ExtUtils-ParseXS.noarch 1:3.18-3.el7 perl-FCGI.x86_64 1:0.74-8.el7 perl-File-CheckTree.noarch 0:4.42-3.el7 perl-File-Fetch.noarch 0:0.42-2.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-IO-Zlib.noarch 1:1.10-294.el7_6 perl-IPC-Cmd.noarch 1:0.80-4.el7 perl-JSON-PP.noarch 0:2.27202-2.el7 perl-Locale-Codes.noarch 0:3.26-2.el7 perl-Locale-Maketext.noarch 0:1.23-3.el7 perl-Locale-Maketext-Simple.noarch 1:0.21-294.el7_6 perl-Log-Message.noarch 1:0.08-3.el7 perl-Log-Message-Simple.noarch 0:0.10-2.el7 perl-Module-Build.noarch 2:0.40.05-2.el7 perl-Module-CoreList.noarch 1:2.76.02-294.el7_6 perl-Module-Load.noarch 1:0.24-3.el7 perl-Module-Load-Conditional.noarch 0:0.54-3.el7 perl-Module-Loaded.noarch 1:0.08-294.el7_6 perl-Module-Metadata.noarch 0:1.000018-2.el7 perl-Module-Pluggable.noarch 1:4.8-3.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-Object-Accessor.noarch 1:0.42-294.el7_6 perl-Package-Constants.noarch 1:0.02-294.el7_6 perl-Params-Check.noarch 1:0.38-2.el7 perl-Parse-CPAN-Meta.noarch 1:1.4404-5.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Perl-OSType.noarch 0:1.003-3.el7 perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Checker.noarch 0:1.60-2.el7 perl-Pod-Escapes.noarch 1:1.04-294.el7_6 perl-Pod-LaTeX.noarch 0:0.61-2.el7 perl-Pod-Parser.noarch 0:1.61-2.el7 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-Sys-Syslog.x86_64 0:0.33-3.el7 perl-Term-UI.noarch 0:0.36-2.el7 perl-Test-Harness.noarch 0:3.28-3.el7 perl-Test-Simple.noarch 0:0.98-243.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Text-Soundex.x86_64 0:3.04-4.el7 perl-Text-Unidecode.noarch 0:0.04-20.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-Time-Piece.x86_64 0:1.20.1-294.el7_6 perl-Version-Requirements.noarch 0:0.101022-244.el7 perl-autodie.noarch 0:2.16-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-devel.x86_64 4:5.16.3-294.el7_6 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-local-lib.noarch 0:1.008010-4.el7 perl-macros.x86_64 4:5.16.3-294.el7_6 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-3.el7 pyparsing.noarch 0:1.5.6-9.el7 systemtap-sdt-devel.x86_64 0:3.3-3.el7 Updated: libstdc++.x86_64 0:4.8.5-36.el7_6.2 Dependency Updated: glibc.x86_64 0:2.17-260.el7_6.6 glibc-common.x86_64 0:2.17-260.el7_6.6 Complete!


Installing Zimbra Mail Server on CentOS 7:

Zimbra Collaboration Suite - Open Source Edition can be downloaded from Zimbra Official download page.

[root@zimbra-01 ~]# cd /tmp [root@zimbra-01 tmp]# wget --2019-08-14 13:40:21-- Resolving ( Connecting to (||:443... connected. HTTP request sent, awaiting response... 200 OK Length: 254480139 (243M) [binary/octet-stream] Saving to: âzcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgzâ 100%[======================================>] 254,480,139 594KB/s in 9m 47s 2019-08-14 13:50:10 (423 KB/s) - âzcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgzâ saved [254480139/254480139]

Extract downloaded TAR file.

[root@zimbra-01 tmp]# tar xvf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002.tgz zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/bin/zmdbintegrityreport zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/data/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/data/versions-init.sql zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/admin.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/Fedora Server Config.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/Import_Wizard_Outlook.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/Migration_Exch_Admin.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/MigrationWizard_Domino.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/MigrationWizard.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/OSmultiserverinstall.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/quick_start.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/RNZCSO_2005Beta.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/User Instructions for ZCS Import Wizard.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/Zimbra iCalendar Migration Guide.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/en_US/zimbra_user_guide.pdf zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/docs/zcl.txt zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/lib/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/lib/jars/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-apache-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-core-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-dnscache-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-imapd-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-ldap-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-logger-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mta-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-proxy-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-snmp-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-spell-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-store-8.8.12_GA_3794.RHEL7_64-20190329045002.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-core-jar- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-core-libs- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-conf- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-conf-attrs- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-conf-msgs- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-conf-rights- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-db- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-docs- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-common-mbox-native-lib- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-admin-console-war- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-conf- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-service- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-store-libs- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-war- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-mbox-webclient-war- zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/packages/zimbra-timezone-data-1.0.1+1545139791-1.r7.x86_64.rpm zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/modules/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/modules/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/modules/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/modules/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/util/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/README.txt zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/ zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/readme_binary_en_US.txt zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_TYPE zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_NUM zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_PLATFORM zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_RELEASE_NO zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_RELEASE_CANDIDATE zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/.BUILD_TIME_STAMP

Go to Zimbra Collaboration Suite setup directory and start installation.

[root@zimbra-01 tmp]# cd zcs-8.8.12_GA_3794.RHEL7_64.20190329045002/ [root@zimbra-01 zcs-8.8.12_GA_3794.RHEL7_64.20190329045002]# ./ Operations logged to /tmp/install.log.3sG1LbQb 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: ---------------------------------------------------------------------- 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] N 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] N 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-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 Beginning Installation - see /tmp/install.log.3sG1LbQb 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-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-patch will be downloaded and installed (later). zimbra-mta-patch will be downloaded and installed. 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-snmp-components zimbra-store-components zimbra-jetty-distribution zimbra-apache-components zimbra-spell-components zimbra-memcached zimbra-proxy-components zimbra-mta-patch ...done Installing local packages (25): 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-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 ...done Installing extra packages (4): zimbra-drive zimbra-patch zimbra-proxy-patch zimbra-chat ...done Running Post Installation Configuration: Operations logged to /tmp/zmsetup.20190817-132218.log Installing LDAP configuration database...done. Setting /sbin/ifconfig: No such file or directory DNS ERROR resolving MX for It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] Yes Create domain: [] MX: ( Interface: Interface: ::1 Interface: done. Checking for port conflicts sh: netstat: command not found Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: ******* +Admin Password UNSET +Anti-virus quarantine user: +Enable automated spam training: yes +Spam training user: +Non-spam(Ham) training user: +SMTP host: +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: +Enable version update checks: TRUE +Enable version update notifications: TRUE +Version update notification email: +Version update source email: +Install mailstore (service webapp): yes +Install UI (zimbra,zimbraAdmin webapps): yes 7) zimbra-spell: Enabled 8) zimbra-proxy: Enabled 9) Default Class of Service Configuration: s) Save config to file x) Expand menu q) Quit Address unconfigured (**) items (? - help)

You can see that, the Admin user password is not set for Zimbra mail server.

To set Zimbra’s Admin password press 6 and <ENTER>.

Address unconfigured (**) items (? - help) 6 Store configuration 1) Status: Enabled 2) Create Admin User: yes 3) Admin user to create: ** 4) Admin Password UNSET 5) Anti-virus quarantine user: 6) Enable automated spam training: yes 7) Spam training user: 8) Non-spam(Ham) training user: 9) SMTP host: 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: 19) Enable version update checks: TRUE 20) Enable version update notifications: TRUE 21) Version update notification email: 22) Version update source email: 23) Install mailstore (service webapp): yes 24) Install UI (zimbra,zimbraAdmin webapps): yes Select, or 'r' for previous menu [r]

Now press 4 and <ENTER>. At the password prompt set a new password of Zimbra Admin user.

Select, or 'r' for previous menu [r] 4 Password for (min 6 characters): [sICqjq5vZM] ahmer1234 Store configuration 1) Status: Enabled 2) Create Admin User: yes 3) Admin user to create: 4) Admin Password set 5) Anti-virus quarantine user: 6) Enable automated spam training: yes 7) Spam training user: 8) Non-spam(Ham) training user: 9) SMTP host: 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: 19) Enable version update checks: TRUE 20) Enable version update notifications: TRUE 21) Version update notification email: 22) Version update source email: 23) Install mailstore (service webapp): yes 24) Install UI (zimbra,zimbraAdmin webapps): yes Select, or 'r' for previous menu [r]

Press r and <ENTER> to go back to previous menu.

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-snmp: Enabled 6) zimbra-store: Enabled 7) zimbra-spell: Enabled 8) zimbra-proxy: Enabled 9) 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)

Press a and <ENTER> to apply changes.

*** 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.15688] Saving config in /opt/zimbra/config.15688...done. The system will be modified - continue? [No] Yes Operations logged to /tmp/zmsetup.20190817-132218.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 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 Setting zimbraFeatureTasksEnabled=TRUE...done. Setting zimbraFeatureBriefcasesEnabled=TRUE...done. Checking current setting of zimbraReverseProxyAvailableLookupTargets Querying LDAP for other mailstores Searching LDAP for reverseProxyLookupTargets...done. Adding to zimbraReverseProxyAvailableLookupTargets Updating zimbraLDAPSchemaVersion to version '1537783098' Setting TimeZone Preference...done. Disabling strict server name enforcement on Initializing mta config...done. Setting services on Adding to zimbraMailHostPool in default COS...done. Creating domain Setting default domain name...done. Creating domain exists. Creating admin account Creating root alias...done. Creating postmaster alias...done. Creating user Creating user Creating user Setting spam training and Anti-virus quarantine accounts...done. Initializing store sql database...done. Setting zimbraSmtpHostname for Configuring SNMP...done. Setting up syslog.conf...done. Starting servers...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_clientuploader...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.12_GA_3794_RHEL7_64) The ADMIN EMAIL ADDRESS created ( Notify Zimbra of your installation? [Yes] No Notifying Zimbra of installation via ERROR: Notification failed Checking if the NG started running...done. Setting up zimbra crontab...done. Moving /tmp/zmsetup.20190817-132218.log to /opt/zimbra/log Configuration complete - press return to exit

Zimbra Collaboration Suite has been installed on our CentOS 7 server.


Zimbra Collaboration Suite - Post Installation Configurations:

Zimbra Collaboration Suite creates an operating system user zimbra with disabled password. Zimbra Collaborative Suite connects with this user using ssh keys. Therefore, we need to configure ssh keys as follows.

[root@zimbra-01 ~]# sudo -u zimbra -i [zimbra@zimbra-01 ~]$ zmupdateauthkeys Updating keys for Fetching key for Updating keys for Updating /opt/zimbra/.ssh/authorized_keys

In order to display server statistics on Administration console, the syslog configuration files must be modified as follows.

Connect as root user and execute following command.

[root@zimbra-01 ~]# /opt/zimbra/libexec/zmsyslogsetup updateSyslog: Updating /etc/rsyslog.conf...done.

Enabling automatic scanning of email attachments using ClamAV antivirus.

[root@zimbra-01 ~]# su - zimbra [zimbra@zimbra-01 ~]$ zmprov mcf zimbraAttachmentsScanURL clam://localhost:3310/ [zimbra@zimbra-01 ~]$ zmprov mcf zimbraAttachmentsScanEnabled TRUE

Allow Zimbra Admin Panel's service ports in Linux firewall.

[root@zimbra-01 ~]# firewall-cmd --permanent --add-port=7071/tcp success [root@zimbra-01 ~]# firewall-cmd --reload success

Open URL in a client's browser.

Note: Browser displays a warning due to self signed SSL certificate, you must ignore it to continue or you can get your SSL Certificate digitally signed by a CA (Certificate Authority) in your network.


Login with Admin user credentials.


You are now at the dashboard of Zimbra admin panel, many options are available here. You can explore it by your own. We are now adding an email account here.

Click on Add Account.


Add information about Email User Account and click on Finish.


Again at the dashboard of Zimbra admin console, Click on Logout.

Allow Zimbra Web mail service port in Linux firewall.

[root@zimbra-01 ~]# firewall-cmd --permanent --add-service=https success [root@zimbra-01 ~]# firewall-cmd --reload success

Open URL using a client's browser.


Login using newly created email user.


We have been login as ahmer user.

Similarly, we can configure desktop based email clients like Outlook, Thunderbird, etc. for our users. But, before doing that, we required to allow relevant services in our CentOS 7 server's firewall.

[root@zimbra-01 ~]# firewall-cmd --permanent --add-service={pop3,pop3s,imap,imaps,smtp,smtps} success [root@zimbra-01 ~]# firewall-cmd --reload success

Similarly, to configure a XMPP chat client, we have to allow XMPP service port in Linux firewall.

[root@zimbra-01 ~]# firewall-cmd --add-service=xmpp-client success [root@zimbra-01 ~]# firewall-cmd --reload success

We have successfully installed Zimbra Collaboration Suite to configure a mail and chat server on CentOS 7.


  1. Hello Mr.Ahmer Mansoor
    I'm trying to make an ansible playbook that deploy zimbra on centos 7, and I need a script for post installation config, I mean, I tried with one I download from, but I think it's too old and not compatible with 8.8.12

    1. I don't have anything to fulfill your requirement. But I will work on it at the earliest.

    2. I'm waiting, thank you ;)

  2. hi, hope you are doing good. This is fantastic article. I have learnt many things from your blog.

    I want you write an howto regarding Zimnbra live sync server.

    Scenario is that we have two zimbra mail server one is primary and other one is secondary and secondary is fully sync with primary in case of any failure we can live secondary server in just no time.

    looking forward to hearing from you soon

    1. Hi, Thanks for the appreciation.

      Sounds good. Please discuss it with me on our FB page (Link available on the top left side of this page).

  3. Hlw Sir its really helpfull..

    But i am with error..

    service is not running in admin console..
    And zmcontrol status is not working.....

    Plz help me sir,

    Waiting for your response soon.........


    1. Hi, Have a look at the Zimbra log file (/var/log/zimbra.log).
      For further discussion please contact us at our Facebook Page.

  4. Thank You For Your Subject Telling,
    I can say that it is the most detailed and illuminating Zimbra installation document.
    I Have A Lonely Question !
    Instead of Installing and Using Local DNS Server,
    Examples are found in the Internet ISP in Turkey as SuperOnline,
    DNS address is and
    Can Zimbra be installed using the ISP Provider's DNS Address?
    Could It Be Use When We Add A and MX Records From DNS Screen in Domain Management Company?
    So when I want to use a global DNS instead of local DNS, can it be used on Zimbra?

    1. How can I do this situation, I do not know exactly?
      Is there a document?

    2. It depends upon your domain management company. They provide a DNS configuration option, you will find a manual about installation of third party hosted sites on their DNS record.

  5. I followed you steps and i got zimbra installed and running but i cannot send out emails. I can receive but I can't send out please any help thanks

    1. Please discuss it on our Facebook page.

  6. Hi Ahmer is it possible to install installation Let's Encrypt certificate and renewal for Zimbra SSL certificates and make it renew automictically for multi domains.


    1. Dear Ahmer,
      Would you please guide us how to configure Let's Encrypt certificate and renew automatically for multi domains.


    2. Pls discuss it with me on our Facebook page.