Howto Install and Configure Zimbra 8.6 Multi Server on CentOS 7

June 26, 2015 | By
| 9 Replies More

In our previous article we performed the Single Server Installation of Zimbra Collaboration Suite, so in this article we will guide you through the detailed steps to deploy Zimbra Collaboration 8.6 Suite in Multi Tenancy environment that will comprises of 3 separate servers where the installation will be done one by one using the same installation script on each server. We will select the particular components to install and use the menu as per our requirements to configure the system.

Servers Installation Order

Install and configure Zimbra servers in the following order:

  • LDAP server
  • Zimbra Mailbox server
  • Zimbra MTA server

Zimbra Multiservers Basic Setup

Zimbra LDAP Server
Zimbra Version zcs-8.6.0_GA_1153.RHEL7_64.20141215151110
Base Operating System CentOS Linux 7 (Core)
FQDN hostname Zimbra-ldap.linoxide.com
IP Address 172.25.10.175
RAM and CPU 1 GB , 1.0 GHZ
Hard Disk 20 GB
Zimbra MAILBOX Server
Zimbra Version zcs-8.6.0_GA_1153.RHEL7_64.20141215151110
Base Operating System CentOS Linux 7 (Core)
FQDN hostname Zimbra-mailbox.linoxide.com
IP Address 172.25.10.176
RAM and CPU 1 GB , 1.0 GHZ
Hard Disk 20 GB
Zimbra MTA Server
Zimbra Version zcs-8.6.0_GA_1153.RHEL7_64.20141215151110
Base Operating System CentOS Linux 7 (Core)
FQDN hostname Zimbra-mta.linoxide.com
IP Address 172.25.16.96
RAM and CPU 1 GB , 1.0 GHZ
Hard Disk 20 GB

1) Installation of Zimbra LDAP Server

Let’s start with the basic parameters to configure Zimbra LDAP server and make sure that the firewall is disabled, FQDN hostname and IP address assigned to the host.
Zimbra LDAP server must be configured before the other servers to provide user authentication through OpenLDAP.

Step 1: Login as a root on ZIMBRA-LDAP.

Step 2: Enter the fully qualified domain name in host file

# vim /etc/hosts
172.25.10.175 zimbra-ldap.linoxide.com zimbra-ldap

Step 3: Create a backup directory and place the ZCS source file in /backup directory.

[root@zimbra-ldap backup]# wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz

Step 4: Change directory to /backup directory.

#cd /backup

Step 5: Extract " zxvf zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz " in same directory.

[root@zimbra-ldap backup]# ls
zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz
[root@zimbra-ldap backup]# tar zxvf zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz

Step 6: Change directory to zcs-8.6.0_GA_1153.RHEL7_64.20141215151110

[root@zimbra-ldap backup]# cd zcs-8.6.0_GA_1153.RHEL7_64.20141215151110
[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]#

Step 7: Start the setup and make sure that all prerequisites libraries are installed .

# ./install.sh --platform-override

Press "Y" to accept terms of software license agreement.

Select "Y" for following packages that we need to install only and for rest options type "N"

Select the packages to install
Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] N
Install zimbra-mta [Y] N
Install zimbra-dnscache [N] N
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] N
Install zimbra-apache [Y] N
Install zimbra-spell [Y] N
Install zimbra-memcached [Y] N
Install zimbra-proxy [Y] N
Checking required space for zimbra-core

Installing:
zimbra-core
zimbra-ldap
zimbra-snmp

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

Create domain: cenzld001.linoxide.com

Re-Enter domain name: "Yes" No

Menu Configurations of LDAP server

After selecting the specified packages, configure the main menu by choose the appropriate options.

Ldap Menu

Common Configurations

Now from the Main Menu Select option "1" and press "Enter" for Common Configurations as:

Common Configs

LDAP Configurations

Press "r" to return to the main menu and type 2 and press enter for Ladap Configurations as:

Ldap Configs

Configurations Confirmation

Once all the ldap configurations are made type "x" to view all the changes that we made here and press "a" to apply these changes. Press "Y" to confirm system modifications.

Ldap Configs

Impliment Comfigurations

After confirmation of all configured settings, it will ask to notify zimbra about the installation. Choose "Y/N" to proceed with LDAP server configurations.

Ldap Configured

Common Steps to Run Servers Properly

Once installation is done, do the common following steps on each server to fucntion properly.
Step 1: Restart and Enable crond service

[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl restart crond
[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl enable crond

Step 2: Open rsyslog.conf file and uncomment following two lines

[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514

Step 3: Restart and Enable rsyslog service

[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl restart rsyslog
[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl enable rsyslog

Step 4: Now run the below command to update rsyslog

root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# /opt/zimbra/libexec/zmsyslogsetup
updateSyslog: Updating /etc/rsyslog.conf...done.

Zimbra Services Check

Now switch user to zimbra and check the status of zimbra services as:

[root@zimbra-ldap zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# su - zimbra
Last login: Tue Jun 2 23:07:59 BST 2015 on pts/0
[zimbra@zimbra-ldap ~]$ zmcontrol status
Host zimbra-ldap.linoxide.com
ldap Running
snmp Running
stats Running
zmconfigd Running

Run the Zimbra update authentication key command and then restart zimbra services as:

[zimbra@zimbra-ldap ~]$ zmupdateauthkeys
Updating keys for zimbra-ldap.linoxide.com
Fetching key for zimbra-ldap.linoxide.com
Updating keys for zimbra-ldap.linoxide.com
Updating /opt/zimbra/.ssh/authorized_keys
[zimbra@zimbra-ldap ~]$ zmcontrol restart

2) Installation of Zimbra Mailbox Server

After successful configuration of zimbra LADP server now we will start the installation script on Zimbra Mailbox Server but make sure to do the basic steps on each server before starting the installation script.

Step 1: Change directory to ZCS folder and execute installation script

[root@zimbra-mailbox ~]# cd /backup/
[root@zimbra-mailbox backup]# ls
zcs-8.6.0_GA_1153.RHEL7_64.20141215151110 zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz
[root@zimbra-mailbox backup]# cd zcs-8.6.0_GA_1153.RHEL7_64.20141215151110
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# ./install.sh --platform-override

Press "Y" to Continue with installation and to agree with the terms of the software license agreement.

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

Checking for prerequisites...
FOUND: NPTL
FOUND: nmap-ncat-6.40-4
FOUND: sudo-1.8.6p7-11
FOUND: libidn-1.28-3
FOUND: gmp-5.1.1-5
FOUND: libaio-0.3.109-12
FOUND: libstdc++-4.8.2-16
FOUND: unzip-6.0-15
FOUND: perl-core-5.16.3-285

Checking for suggested prerequisites...
FOUND: perl-5.16.3
MISSING: sysstat does not appear to be installed.
FOUND: sqlite

###WARNING###

The suggested version of one or more packages is not installed.
This could cause problems with the operation of Zimbra.

Do you wish to continue? [N] Y

Step 2: Select the packages that we need to install only on Zambra Mailbox Server. Type "Y" for the required packages and "N" to skip other packages.

Select the packages to install

Install zimbra-ldap [Y] N
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] N
Install zimbra-dnscache [N] 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] N
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-logger
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
zimbra-memcached

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

Step 3: Type "N" to change hostname to proceed to main menu.

It is suggested that the hostname be resolvable via DNS
Change hostname [Yes] N
done.

Menu Configurations of Mailbox Server

Here we will setup the following main menu for configurations of the mailbox server.

Main menu

1) Common Configuration:
+Hostname: zimbra-mailbox.linoxide.com
******* +Ldap master host: UNSET
+Ldap port: 389
******* +Ldap Admin password: UNSET
+LDAP Base DN: cn=zimbra
+Secure interprocess communications: yes
+TimeZone: America/Los_Angeles
+IP Mode: ipv4
+Default SSL digest: sha256

2) zimbra-logger: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@zimbra-mailbox.linoxide.com
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.gzrxnlthtn@zimbra-mailbox.linoxide.com
+Enable automated spam training: yes
+Spam training user: spam.mvh2wpgbs5@zimbra-mailbox.linoxide.com
+Non-spam(Ham) training user: ham.dfx6lejsyz@zimbra-mailbox.linoxide.com
******* +SMTP host: UNSET
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: https
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://zimbra-mailbox.linoxide.com:7780/aspell.php
+Configure for use with mail proxy: FALSE
+Configure for use with web proxy: FALSE
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@zimbra-mailbox.linoxide.com
+Version update source email: admin@zimbra-mailbox.linoxide.com
+Install mailstore (service webapp): yes
+Install UI (zimbra,zimbraAdmin webapps): yes

4) zimbra-spell: Enabled
5) Enable VMware HA: no
6) Default Class of Service Configuration:
s) Save config to file
x) Expand menu
q) Quit

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

Common Configurations

From the main menu choose option "1" to proceed with common configurations as.
Mbx Common

Store Configurations

Press "r" to move back to main menu and type "3" to configure zimbra store settings.
Store Configs

Impliment Configurations
Once we configured the zimbra store settings press "r" and then "x" to view all configurations and then press "a" to apply impliment all main menu configurations on zimbra mailbox server as.
Mailbox Configs

Common Steps to Run Servers Properly

Now follow the same common steps for Zimbra mailbox server as we did for Zimbra LDAP server to restart and enable services as.

[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl restart crond
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl enable crond
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# vim /etc/rsyslog.conf
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl restart rsyslog
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# systemctl enable rsyslog
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# /opt/zimbra/libexec/zmsyslogsetup
updateSyslog: Updating /etc/rsyslog.conf...done.
[root@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]# su zimbra
[zimbra@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]$ zmcontrol status
Host zimbra-mailbox.linoxide.com
logger Running
mailbox Running
memcached Running
service webapp Running
spell Running
stats Running
zimbra webapp Running
zimbraAdmin webapp Running
zimlet webapp Running
zmconfigd Running
[zimbra@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]$ zmupdateauthkeys
Updating keys for zimbra-ldap.linoxide.com
Fetching key for zimbra-ldap.linoxide.com
Updating keys for zimbra-ldap.linoxide.com
Updating keys for zimbra-mailbox.linoxide.com
Fetching key for zimbra-mailbox.linoxide.com
Updating keys for zimbra-mailbox.linoxide.com
Updating /opt/zimbra/.ssh/authorized_keys
[zimbra@zimbra-mailbox zcs-8.6.0_GA_1153.RHEL7_64.20141215151110]$ zmcontrol restart

3- Installation of Zimbra MTA Server

Zimbra LDAP and MTA server has been configured now we will start the installation of zimbra Mail Transfer Agent server.

Step 1: run the zimbra installation script under the common directory of ZCS suite.
Step 2: Type "Y" with License Agreement

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

Step 3: Choose the required packages to install on MTA Server, type "Y" to select and "N" to skip.

Select the packages to install

Install zimbra-ldap [Y] N
Install zimbra-logger [Y] N
Install zimbra-mta [Y] Y
Install zimbra-dnscache [Y] N
Install zimbra-snmp [Y] N
Install zimbra-store [Y] N
Install zimbra-apache [Y] N
Install zimbra-spell [Y] N
Install zimbra-memcached [Y] N
Install zimbra-proxy [Y] N
Checking required space for zimbra-core

Installing:
zimbra-core
zimbra-mta

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

Step 4: Change Host name
Type "N" for not to change host name and Enter to continue.

Change hostname [Yes] N
done.
Checking for port conflicts - done

Menu configurations of MTA server

The Main menu displays the default entries for the Zimbra component that we are installing.

Main menu

1) Common Configuration:
+Hostname: zimbra-mta.linoxide.com
******* +Ldap master host: UNSET
+Ldap port: 389
******* +Ldap Admin password: UNSET
+LDAP Base DN: cn=zimbra
+Secure interprocess communications: yes
+TimeZone: America/Los_Angeles
+IP Mode: ipv4
+Default SSL digest: sha256

2) zimbra-mta: Enabled
+Enable Spamassassin: yes
+Enable Clam AV: yes
+Enable OpenDKIM: yes
+Notification address for AV alerts: admin@zimbra-mta.linoxide.com
******* +Bind password for postfix ldap user: UNSET
******* +Bind password for amavis ldap user: UNSET

3) Enable VMware HA: no
s) Save config to file
x) Expand menu
q) Quit

Common Configurations setting:

Here we must change the LDAP master host and password to communicate it with LDAP server.
Type 1 to configure zimbra mta common configurations as:

Common Configs

MTA Configurations

Set the passowrds here for amavis and postfix ldap users here.

Mta Configs

Impliment Configurations

Final check the mta configurations made under each option and press "a" to impliment these configurations on server.

Mta Configs

Common Settings of MTA Server

Restart and enable crond and rsyslog services and then check the status of zimbra services.

Mta Startup

Final Synchronization
In order to synchronize the updates on all three servers run following commands on all servers as.

[root@zimbra-ldap ~]# /opt/zimbra/libexec/zmsyslogsetup
updateSyslog: Updating /etc/rsyslog.conf...done.
[root@zimbra-ldap ~]# service rsyslog restart
[root@zimbra-ldap ~]# su zimbra
[zimbra@zimbra-ldap root]$ zmcontrol restart

[root@zimbra-mailbox ~]# /opt/zimbra/libexec/zmsyslogsetup
updateSyslog: Updating /etc/rsyslog.conf...done.
[root@zimbra-mailbox ~]# service rsyslog restart
[root@zimbra-mailbox ~]# su zimbra
[zimbra@zimbra-mailbox root]$ zmcontrol restart

[root@zimbra-mta ~]# /opt/zimbra/libexec/zmsyslogsetup
updateSyslog: Updating /etc/rsyslog.conf...done.
[root@zimbra-mta ~]# service rsyslog restart
[root@zimbra-mta ~]# su zimbra
[zimbra@zimbra-mta root]$ zmcontrol restart

Log onto the Administration Console

Open any of your favourite web browser and access the zimbra web administration console with your mailbox IP or hostname and supply the credentials.

http://zimbra-mailbox.linoxide.com:7071
https://172.25.10.176:7071

Zimbra Admin

Zimbra Administration Home

From zimbra administration console we are now able to manage and create new domains and users.

Zimbra Administration

Zimbra Servers Status

Zimbra Servers status shows the availability of each service installed on the servers.

Zimbra Servers Status

Congratualations! we had successfully configured the fully functional zimbra email server in a multi-tenancy environment for the best performance and results for your organisational and personal email services. Now enjoy with each Zimbra mailbox which is secured and protected, with included anti-virus, anti-spam, and daily mailbox-level backups and accessible from anywhere, anytime to access your email accounts with Zimbra Desktop, Microsoft Outlook mobile email support, and Web-based email portal.

Filed Under : LINUX HOWTO, MAIL SERVER

Free Linux Ebook to Download

Comments (9)

Trackback URL | Comments RSS Feed

  1. ferjun says:

    Hi, if I want to install only on 2 servers which zimbra services should i combined?

    Below is my configuration Plan for Security reason:

    Server1 - LDAP+MAILBOX >> will position on my internal network
    Server2 - MTA >> DMZ

    MTA Server - will add Proxy service..

    is this good?

    Thanks..

    • Kashif S says:

      Hi Ferjun,

      That looks a good match for setting up Zimbra Multi Servers installation using 2 servers. I hope its going good for you.

  2. Alexandros says:

    Excellent HOW-TO.

  3. Ibnu Azaim says:

    Hi...

    if I separate the Multi Server Zimbra with DNS servers, how to configure DNS servers to connect to multiple servers ?

    • Dwijadas Dey says:

      Hi, You can achieve this by creating a split DNS also known as split-horizon or dual-horizon DNS ( your internal DNS server ). This internal DNS server
      resolves internal network address of zimbra mail server and has also capability to forward request to external DNS or a DNS server lies in your network's
      DMZ ( thats why dual ). You can achieve this by using either bind9 or dnsmasq.

      Don't use this dual-horizon DNS server for other hosts in your network except zimbra.

      You can do this easily by following this wiki https://wiki.zimbra.com/wiki/Split_DNS

  4. ramdan says:

    Sir, IP addr 172.25.10.176
    Is that public ip or local ip?
    Its diferent ip segment with ldap & mailbox
    Why you not install zimbra proxy?

  5. Aneesh says:

    Hello Dey,

    Iam planning to migrate a POSTFIX mail server(Ubuntu 12.04.1LTS) to a new zimbra server.

    We have n't decided on the new server OS. Also we are planning for Multi server zimbra
    installation (open source version). Could you please provide your inputs on this ?

    Regards,

    Aneesh

  6. Ibnu Azaim says:

    Hello..

    how to implement load balancing to Zimbra multi-server, if you have any reference or tutorial??

    Thanks

Leave a Reply

Commenting Policy:
Promotion of your products ? Comment gets deleted.
All comments are subject to moderation.