Need help?

Our experts have had an average response time of 13.52 minutes in October 2021 to fix urgent issues.

We will keep your servers stable, secure, and fast at all times for one fixed price.

Zimbra- Your Open Source Mail Server

by | Apr 25, 2008

Are you in the lookout for a good open source mail server?

Well, then your first stop would be Zimbra.

Zimbra provides open-source server and client software for numerous applications like messaging and collaboration: email, group calendaring, contacts, and web document management and authoring.

 

Hire Bobcares Linux Server Administrators
Get super reliable servers and delighted customers

See how we do it!

 

 

Table of Contents

  • 1. Introduction
  • 2. Zimbra requirements:
    • 2.1. Production & Testing environment
    • 2.2. Requirements – Which I used in my test machine
    • 2.3. Pre-requisite
  • 3. Installation and configuration of Zimbra
    • 3.1. Installation
  • 4. Zimbra main Configuration Setting
    • 4.1. Configuration files
  • 5. Zimbra MTA – How it works
  • 6. Zimbra Admin and Client Interface
  • 7. Other features
    • 7.1. How to Deploy Zimlet in Zimbra
  • 8. Conclusion

1. Introduction:

Are you in the lookout for a good open source mail server?

Well, then your first stop would be Zimbra.

Zimbra provides open-source server and client software for numerous applications like messaging and collaboration: email, group calendaring, contacts, and web document management and authoring.

The Zimbra server has been made available for various platforms like Linux, Mac OS X, appliances, and virtualization platforms. The Zimbra Web 2.0 Ajax client runs on most commonly used browsers like Firefox, Safari, and IE. It also features easy integration/mash-ups of web portals, business applications, and VoIP using web services.

When it comes to comparison between Zimbra and Microsoft Exchange, Zimbra is in par with Exchange in many ways. It is in fact ahead of Exchange for hosting providers and in collaboration features. One of the notable difference between Zimbra and Exchange is that Zimbra provides SOAP bindings which allows third parties to integrate additional functionality with Zimbra.

2. Zimbra requirements:

2.1 Production & Testing environment

Evaluation and Testing

  • Intel/AMD 32-bit or 64-bit CPU 1.5 GHz
  • 1 GB RAM
  • 5 GB free disk space for software and logs
  • Temp file space for installs and upgrades
  • Additional disk space for mail storage

Production environments

  • Intel/AMD CPU 32-bit 2.0 GHZ+.
  • For large deployments (more than 2000 users), 64-bit OS is recommended.
  • Minimum – 2 GB RAM (Recommend – 4 GB).
  • Temp file space for installs and upgrades.
  • 10 GB free disk space for software and logs (SATA or SCSI for performance, and RAID/Mirroring for redundancy).
  • Additional disk space for mail storage.

Firewall Configuration should be set to : No firewall, and the Security Enhanced Linux (SELinux) should be disabled. You can find detailed requirements in http://www.zimbra.com/docs/os/latest/single_server_install/System%20Requirements.2.1.html

2.2 Requirements – Which I used in my test machine

  • Operating system : Linux – Centos 5
  • /opt partition with 6 GB space
  • 1GB RAM (Zimbra requires atleast 500MB)
  • Genuine Intel(R) CPU 2140 @ 1.60GHz

2.3 Pre-requisite

  • First of all you need to make sure that Hostname is setup.
  • Setup MX record for the hostname.

3. Installation and configuration of Zimbra

3.1 Installation of Zimbra

  1. Download Zimbra and extract the archive (CentOS5 uses the Red Hat Enterprise Linux 5 binary). You can download it from http://zimbra.com/community/downloads.html. I used zcs-5.0.2_GA_1975.RHEL5.20080130221917.tgz
  2. Install fetchmail using “yum install fetchmail”
  3. Make sure to set SELinux to permissive or disabled (edit /etc/selinux/config and set SELINUX=permissive)
  4. Restart the server to ensure SELinux change took effect
  5. Run install.sh in zcs folder. Here the folder is zcs-5.0.2.
  6. This will prompt for so many questions, you need to enter proper information. These answers will be used for the configuration of Zimbra. After the completion of the questions and configuration, it will show the following information: (Here I have used the MX entry as “zimbra.zimbrainst.com”.)
      • Status: Enabled

     

      • Create Admin User: yes

     

     

      • Admin Password set

     

      • Enable automated spam training: yes

     

     

     

     

      • SMTP host: zimbra.zimbrainst.com

     

      • Web server HTTP port: 80

     

      • Web server HTTPS port: 443

     

      • Web server mode: http

     

      • 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.zimbrainst.com:7780/aspell.php

     

  7. If you want, you can modify the ports of http and https (to 8080 and 8443). In that case you can follow the instructions in window to modify the value. This will expand the information like:
      1. Common Configuration:

     

      1. zimbra-ldap: Enabled

     

      1. zimbra-store: Enabled
          • Create Admin User: yes

         

         

          • Admin Password ljy7tKJQ

         

          • Enable automated spam training: yes

         

         

         

         

          • SMTP host: zimbra.zimbrainst.com

         

          • Web server HTTP port: 80

         

          • Web server HTTPS port: 443

         

          • Web server mode: http

         

          • 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.zimbrainst.com:7780/aspell.php

         

         

     

      1. zimbra-mta: Enabled

     

      1. zimbra-snmp: Enabled

     

      1. zimbra-logger: Enabled

     

      1. zimbra-spell: Enabled

     

  8. Default Class of Service Configuration:
      • Start servers after configuration yes

     

      • Save config to file

     

      • Expand menu

     

      • Quit

     

I kept the ports as 80 and 443 for http and https respectively.
There is an option to keep the configuration details in one config file. If you enable it, you can view the entire configuration.
Here my Zimbra configuration file is /opt/zimbra/config.12272.
After the completion of Zimbra Installation, it will show the following message:

The VERSION of zcs installed (5.0.2_GA_1975_CentOS5)
The ADMIN EMAIL ADDRESS created ([email protected])

Notify Zimbra of your installation? [Yes]
Notifying Zimbra of installation via
http://www.zimbra.com/cgi-bin/notify.cgi?VER=5.0.2_GA_1975_CentOS5&[email protected]

Notification complete

Starting servers...done.
Checking for deprecated zimlets...done.
Installing zimlets...
com_zimbra_cert_manager
com_zimbra_email
com_zimbra_date
com_zimbra_phone
com_zimbra_search
com_zimbra_url
com_zimbra_local
done.
Initializing Documents...done.
Restarting mailboxd...done.

Moving /tmp/zmsetup.03202008-111811.log to /opt/zimbra/log

4. Zimbra main Configuration Setting:

The configuration details of Zimbra during the installation can be viewed in /opt/zimbra/config.12272 (Here config.12272 is my config file)

Sample config file: (/opt/zimbra/config.12272)

[email protected]
[email protected]
CREATEDOMAIN=zimbra.zimbrainst.com
DOCREATEADMIN=yes
DOCREATEDOMAIN=yes
DOTRAINSA=yes
EXPANDMENU=no
HOSTNAME=zimbra.zimbrainst.com
HTTPPORT=80
HTTPSPORT=443
IMAPPORT=143
IMAPPROXYPORT=7143
IMAPSSLPORT=993
IMAPSSLPROXYPORT=7993
JAVAHOME=/opt/zimbra/java
LDAPHOST=zimbra.zimbrainst.com
LDAPPORT=389
MAILBOXDMEMORYPERCENT=40
MODE=http
MTAAUTHHOST=zimbra.zimbrainst.com
MYSQLMEMORYPERCENT=30
[email protected]
POPPORT=110
POPPROXYPORT=7110
POPSSLPORT=995
POPSSLPROXYPORT=7995
REMOVE=no
RUNARCHIVING=no
RUNAV=yes
RUNSA=yes
[email protected]
SMTPHOST=zimbra.zimbrainst.com
SMTPNOTIFY=yes
[email protected]
SNMPNOTIFY=yes
SNMPTRAPHOST=zimbra.zimbrainst.com
SPELLURL=http://zimbra.zimbrainst.com:7780/aspell.php
STARTSERVERS=yes
SYSTEMMEMORY=1.0
[email protected]
[email protected]
UPGRADE=yes
USESPELL=yes
ldap_dit_base_dn_config=cn=zimbra
mailboxd_directory=/opt/zimbra/mailboxd
mailboxd_keystore=/opt/zimbra/mailboxd/etc/keystore
mailboxd_keystore_password=Chaaxxgme
mailboxd_server=jetty
mailboxd_truststore=/opt/zimbra/java/jre/lib/security/cacerts
mailboxd_truststore_password=changeit
zimbraClusterType=none
zimbraFeatureBriefcasesEnabled=Enabled
zimbraFeatureIMEnabled=Disabled
zimbraFeatureNotebookEnabled=Enabled
zimbraFeatureTasksEnabled=Enabled
zimbraMtaMyNetworks=127.0.0.0/8 192.168.1.0/24
zimbraPrefTimeZoneId=(GMT-08.00) Pacific Time (US & Canada)
zimbra_ldap_userdn=uid=zimbra,cn=admins,cn=zimbra
INSTALL_PACKAGES="zimbra-apache zimbra-core zimbra-ldap
zimbra-logger zimbra-mta zimbra-snmp zimbra-spell zimbra-store "

4.1. Configuration files of Zimbra:

Main Apache Configuration entry – /opt/zimbra/conf/httpd.conf
Zimbra configuration password entries – /opt/zimbra/conf/localconfig.xml

Zimbra’s configuration files are mainly located in the folder /opt/zimbra/conf/. All the postfix related things are located in /opt/zimbra/postfix.
You can see several configuration files such as amavisd.conf, httpd.conf, clamd.conf, freshclam.conf, dspam.conf, my.cnf, php.ini, postfix related configurations in it.

5. Zimbra MTA – How it works:

The following pictures will give you better idea about Zimbra MTA (Mail Transfer Agent) working. In order to reduce the article length I am avoiding this section.

6. Zimbra Admin and Client Area:

Zimbra Admin and Client area can be accessed using the following URLs https://HOSTNAME:7071 and https://HOSTNAME (if it is port 80).
Here Zimbra Admin login is:
https://zimbra.zimbrainst.com:7071
username : [email protected] (corresponding value of CREATEADMIN)

Client area (or webmail) can be accessed using https://HOSTNAME (Here it is https://zimbra.zimbrainst.com). I have used the default port 80 during the setup. You can create the login details using Zimbra-admin area.

The CREATEADMIN (here it is [email protected]) will also have login to Client area (https://zimbra.zimbrainst.com).

Spell Checker can be accessed directly using https://HOSTNAME:7780/aspell.php (Here it is http://zimbra.zimbrainst.com:7780/aspell.php).

7. Other features

  • Zimlets – Integrating the Zimbra Collaboration Suite (ZCS) with third party information systems and content as well as creating “mash-up” user interfaces within the Zimbra suite itself.
  • Chat/IM – Beta version
  • Document Workflow
  • Shared Folders/GroupWare

7.1 How to Deploy Zimlet in Zimbra

The Zimbra mail server binaries are located in the location /opt/zimbra/bin. The binary /opt/zimbra/bin/zmzimletctl will help you in implementing or deploying new zimlet.

Try the following option to list the deployed Zimlet: /opt/zimbra/bin/zmzimletctl listZimlets

The deployed zimlets are usually located in the section /opt/zimbra/jetty-6.1.5/webapps/service/zimlet/. It will be like com_zimbra_email.

The extra zimlets are located in /opt/zimbra/zimlets-extra/ and /opt/zimbra/zimlets-admin-extra/.

The /opt/zimbra/zimlets-admin-extra/ is mainly used to deploy the functions in Admin – interface and other one (/opt/zimbra/zimlets-extra/) is for Client (webmail) part.

If you want to deploy the Amazone – Zimlet, do the following:

cd /opt/zimbra/zimlets-extra/
/opt/zimbra/bin/zmzimletctl deploy com_zimbra_amzn.zip
/opt/zimbra/bin/zmzimletctl listZimlets

You can also deploy the same using Zimbra-Admin interface.

8 Conclusion

All in all, Zimbra has a pleasant GUI coupled with an excellent MTA design with Postfix. And moreover and most importantly, it is providing an OpenSource edition.

The future seems to be promising for Zimbra 🙂

Reference

1. http://zimbra.com
2. http://wiki.zimbra.com/index.php?title=Zimbra_MTA


Articles By Joseph Symon

About the author: Joseph Symon has been working in Bobcares for more than 2 years. He has marked his presence in the company by his contributions towards enriching the knowledge level in the company. He is a linux expert, especially in installing and configuring systems and customizing them for specific needs. He is also passionate about learning new techologies.


8 Comments

  1. hiren patel

    Thanks for the blog if possible can the site owner put some live configuration videos of zimbra mail server configuration and trouble shoots .

    best regards

    HirenPatel

  2. Mohammed Niyaz

    Apt guide & a complete end to end blog for configuring zimbra mail server. Thanks a ton for this info provided on your blog.
    Niyaz

  3. Naveed Khan

    Thats great but can u put more detail about configurations
    Naveed Khan

  4. Install Software

    Another great post.
    Thanks for the tips and help.
    Everyone, bookmark this site.

  5. Vivek Nayee

    Thankyou soo much for the information. I mean it truely, and very well apreciated work for the documentation part. A true sign of following the open source and spreading the knowledge. Thanks again.

  6. Keshav Reddy

    Thanks DUDE. Really helpful.

Reviews

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF