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
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
- 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
- Install fetchmail using “yum install fetchmail”
- Make sure to set SELinux to permissive or disabled (edit /etc/selinux/config and set SELINUX=permissive)
- Restart the server to ensure SELinux change took effect
- Run install.sh in zcs folder. Here the folder is zcs-5.0.2.
- 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 user to create: admin@zimbra.zimbrainst.com
-
- Admin Password set
-
- Enable automated spam training: yes
-
- Spam training user: spam.n2xvfp2a@zimbra.zimbrainst.com
-
- Non-spam(Ham) training user: ham.htr37bbj@zimbra.zimbrainst.com
-
- Global Documents Account: wiki@zimbra.zimbrainst.com
-
- 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
-
- 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:
-
- Common Configuration:
-
- zimbra-ldap: Enabled
-
- zimbra-store: Enabled
-
- Create Admin User: yes
-
- Admin user to create: admin@zimbra.zimbrainst.com
-
- Admin Password ljy7tKJQ
-
- Enable automated spam training: yes
-
- Spam training user: spam.n2xvfp2a@zimbra.zimbrainst.com
-
- Non-spam(Ham) training user: ham.htr37bbj@zimbra.zimbrainst.com
-
- Global Documents Account: wiki@zimbra.zimbrainst.com
-
- 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
-
- zimbra-store: Enabled
-
- zimbra-mta: Enabled
-
- zimbra-snmp: Enabled
-
- zimbra-logger: Enabled
-
- zimbra-spell: Enabled
-
- 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 (admin@zimbra.zimbrainst.com) 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&MAIL=admin@zimbra.zimbrainst.com 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)
AVUSER=admin@zimbra.zimbrainst.com CREATEADMIN=admin@zimbra.zimbrainst.com 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 NOTEBOOKACCOUNT=wiki@zimbra.zimbrainst.com POPPORT=110 POPPROXYPORT=7110 POPSSLPORT=995 POPSSLPROXYPORT=7995 REMOVE=no RUNARCHIVING=no RUNAV=yes RUNSA=yes SMTPDEST=admin@zimbra.zimbrainst.com SMTPHOST=zimbra.zimbrainst.com SMTPNOTIFY=yes SMTPSOURCE=admin@zimbra.zimbrainst.com SNMPNOTIFY=yes SNMPTRAPHOST=zimbra.zimbrainst.com SPELLURL=http://zimbra.zimbrainst.com:7780/aspell.php STARTSERVERS=yes SYSTEMMEMORY=1.0 TRAINSAHAM=ham.htr37bbj@zimbra.zimbrainst.com TRAINSASPAM=spam.n2xvfp2a@zimbra.zimbrainst.com 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 : admin@zimbra.zimbrainst.com (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 admin@zimbra.zimbrainst.com) 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://wiki.zimbra.com/index.php?title=Zimbra_MTA
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.
Very well written article about Zimbra. Thanks for sharing.
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
Apt guide & a complete end to end blog for configuring zimbra mail server. Thanks a ton for this info provided on your blog.
Niyaz
Thats great but can u put more detail about configurations
Naveed Khan
Another great post.
Thanks for the tips and help.
Everyone, bookmark this site.
Such a nice Blog on Dedicated Server…
Thanks
http://www.i2k2.com/
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.
Thanks DUDE. Really helpful.