Mail Server is one of the important and critical Server for any organization as most of business communication done via emails only. In Open source world there are couple of free email server but Zimbra is one of the leading mail servers. Zimbra Mail Server a.k.a ZCS (Zimbra Collaboration Suite) comes in two versions, Open Source and enterprise version.
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.linuxtechi.com”
- A & MX record for your Server
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.linuxtechi.com”
~]# hostnamectl set-hostname "mail.linuxtechi.com" ~]# exec bash
Add the following lines in /etc/hosts file,
192.168.0.108 mail.linuxtechi.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.linuxtechi.com [root@mail ~]# dig -t MX linuxtechi.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
Now Configure the Zimbra package repository and select the all Zimbra Components to install.
Press Y to modify the System,
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,
Now Press 7 and then 4 to set admin user password,
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
[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.linuxtechi.com:7071/
To access Zimbra Mail Web Client, type the following URL in the browser
https://mail.linuxtechi.com
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.linuxtechi.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.linuxtechi.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.linuxtechi.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
That’s conclude this article. If you find it informative please do share this among your Linux technical friends and share the feedback and comments in the comment section below.
I have a problem:
Importing Zimbra GPG key
ERROR: Unable to retrive Zimbra GPG key for package validation
please how to i fix this
thank you
Congratulations for the manual !!
its Good!!
Hi,
Perfect post. Thank you for this article. But i have a problem. My MTA is not running and service “postfix is not running” Log does not appear.
What happened?
Thanks.
Thank you for this article, it saves me !
to completely uninstall, run the below;
#./install -u
#rpm -e zimbra-openjdk
#yum remove zimbra-openjdk
Hi
Thank you for a well written How-To!
I have tried to follow it but I stumbled and fell at step 4.
After agreeing to change the system there were some errors in finding packages and so the process stopped 🙁
I’ve cleared the yum cache and removed all cached files but it’s still no show.
When I look at the yum repository list there’s no entry for Zimbra, as I think there should.
Is there any way to manually add the Zimbra repository and get on with the installation, or maybe install it the “normal” way just using yum install ?
TIA
/Kjell
Hi Bro,
I am trying same thing but the error in postfix it’s not running so, do the needful.
Hi Samir,
Could you please elaborate more, on which step you are getting error.
error
Not Found / Object Not Found (HTTP 404)
The object corresponding to the requested URL could not be found on this server.
Wait a moment and try again.
ERROR: 404
Hi I have some problem running some processes, Can you help me?
[zimbra@mail ~]$ zmcontrol restart
Host mail.mydomin.ir
Stopping zmconfigd…Done.
…..
Host mail.mydomin.ir
Starting ldap…Done.
Starting zmconfigd…Failed.
Starting zmconfigd…/opt/zimbra/bin/zmconfigdctl: line 82: kill: (22675) – No such process
failed.
Starting dnscache…Done.
Starting logger…Done.
Starting mailbox…Done.
Starting memcached…Failed.
Starting memcached…failed.
Starting proxy…Failed.
Starting proxy…nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] still could not bind()
failed.
Starting amavis…Done.
Starting antispam…Done.
Starting antivirus…Done.
Starting opendkim…Done.
Starting snmp…Done.
Starting spell…Done.
Starting mta…Failed.
Starting saslauthd…done.
postfix failed to start
Starting stats…Done.
Starting service webapp…Failed.
Starting zimbra webapp…Failed.
Starting zimbraAdmin webapp…Failed.
Starting zimlet webapp…Failed.
Starting imapd…Done.
Hi
Everything working fine. All service up and running. But Outgoing email unable to send other domains and internal
Hi
Everything working fine. All service up and running. But Outgoing email unable to send other domains and internal