How To Install Zimbra 8.6 on Linux CentOS 7.0

Share on LinkedIn

This post will walk you through the steps of installing Zimbra 8.6 on CentOS 7.0 and the instructions should work the same for RHEL 7.

There were some CentOS services that were deprecated in 7.0. Two particular that I was comfortable with. Iptables and Ifconfig.

Instructions for installing the iptables feature on CentOS 7.0 can be found here.
Instructions for installing the ifconfig feature on CentOS 7.0 can be found here.

 

Configure DNS Entries on your local DNS server
Setup DNS A Record
Ensure you have a Reverse lookup zone
Setup MX Record

Configure Host Settings
Login as root user
su root

Install pre-requisites
yum install wget make nc sudo sysstat libtool-ltdl glibc perl-core ntp unzip libaio

Set hostname
hostname mail.yourdomain.com

Edit hostname file
nano /etc/hostname
mail.yourdomain.com

Add Hosts Entries
nano /etc/hosts

By default, this is what’s present:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Comment out (required for disabling ipv6)
#::1               localhost localhost.localdomain localhost6 localhost6.localdomain6

Add the following:
<server IP>   mail.yourdomain.com MAIL
<local DNS IP> mail.yourdomain.com

Press “Ctl+X” to exit
Select “Y” to save changes
Press “Enter” to get back to CL

 

Disable other services and firewall
service postfix stop
chkconfig postfix off
service ip6tables stop
chkconfig ip6tables off

 

Disable SELINUX
Enter this at command line:
setenforce 0

Update selinux config file
nano /etc/selinux/config
selinux=permissive

Press “Ctl+X” to exit
Select “Y” to save changes
Press “Enter” to get back to CL

 

Completely disable the ipv6 module
To completely disable IPv6 in your system, all you have to do is save the following line in a file inside/etc/modprobe.d/.
cd /etc/modprobe.d/
nano disable-ipv6

Add this to the new file:
ipv6 /bin/true

Press “Ctl+X” to exit
Select “Y” to save changes
Press “Enter” to get back to CL

 

Configure iptables to allow email server traffic
nano /etc/sysconfig/iptables

Add the following

-A INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 110 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 143 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 389 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 465 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 993 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 995 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 7071 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 7025 -j ACCEPT

Press “Ctl+X” to exit
Select “Y” to save changes
Press “Enter” to get back to CL

 

Download Zimbra Installation
Latest Version 8.6.0 GA Release
http://www.zimbra.com/downloads/zimbra-collaboration-open-source

 

Move Zimbra Download File To New VM
I downloaded the package to my local Windows workstation. From a Windows machine, an additional tool is required.  There are a few options but I downloaded and used WinSCP v 5.5.2. It works.

Copy downloaded Zimbra .tgz file (in this case zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz) from local workstation to /tmp/ directory on new VM. Simple click, drag and drop copies the file.

 

Decompress and Install Zimbra
From the CL, decompress the file by running the following command:
tar xzf zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz

 

Navigate to the newly created/renamed directory:
cd zcs-8.6.0_GA_1153.RHEL7_64.20141215151110

su root
./install.sh

To uninstall (which you will need to do if you run into issues with the installation)
./install.sh -u

 

Change admin password to a more complex password  (this is the admin console login)
“r” to return to previous screen
“a” to apply the changes
Yes to save config to file
Enter to save to default config file
Yes to modify system

Save config in file: [/opt/zimbra/config.23168]
Moving /tmp/zmsetup01072015-114839.log to /opt/zimbra/log

When complete, change user to zimbra
su – zimbra

Check status of Zimbra
zmcontrol status

 

Verify Mail Server is Operational
Open a browser and navigate to https://mail.yourdomain.com (webmail console)

Login using admin and password

 

Open a browser and navigate to https://mail.yourdomain.com:7071 (admin console)
Login using admin and password

 

Once logged into your admin panel, continue configuration
Configure->Global Settings->MTA

Add hostname of your server (in this case, mail)

Added New Domain yourdomain.com

Setup admin@yourdomain.com with Global Admin rights

Deleted domain created at setup mail.yourdomain.com

Create user accounts

Create distribution lists

Create aliases

 

Production

To put this server into production, you will need to:
1. Contact your ISP and request a PTR record or reverse DNS.
2. Acquire a certificate from a trusted source.
3. Setup an MX record with your domain registrar

 

Customizations
Rebranding is limited with the OSS license. Ensure your read and understand the licensing agreement.

Favicon Locations
/opt/zimbra/jetty-distribution-9.1.5.v20140505/webapps/zimbraAdmin/img/logo/favicon.ico
/opt/zimbra/jetty-distribution-9.1.5.v20140505/webapps/zimbra/img/logo/favicon.ico

 

Changing the Page Title

As zimbra user (su – zimbra):
vi /opt/zimbra/jetty/webapps/zimbra/WEB-INF/classes/messages/ZmMsg.properties
[change value for zimbraTitle = <new value>]
vi /opt/zimbra/jetty/webapps/zimbra/WEB-INF/classes/messages/ZhMsg.properties
[change value for zimbraTitle = <new value>]

The first is for the advanced client and the second is for the basic client.
You will need to restart jetty and clear your browser cache/restart browser to see change take effect

As zimbra user,
zmmailboxdctl restart

 

You will most likely run into some issues depending on your environment so good luck!

World Clock App

Providing support on a global scale has it’s challenges. One such challenge is knowing the time zones. This is important when scheduling international calls or video conferences. It’s also important when providing support to multi-national end users.

In my search for a world clock, I found this neat little one called World Clock Portable. Easy to download, install and configure. Give it a shot. If you don’t like it or need it, uninstall it.

Visit the download site HERE. You shouldn’t receive any pop-ups or extras you don’t want. If this changes, let me know and I’ll find a better source.