In this post, i will share with you on how to install zimbra open source mail server on Redhat Enterprise Linux 5.5 server. According to wikipedia, Zimbra Collaboration Suite (ZCS) is a groupware product created by Zimbra, Inc. It was located in Palo Alto, California, USA. In September 2007, The company was purchased by Yahoo! and subsequently purchased by VMware on January 12, 2010. Two current available version of the zimbra are zimbra open-source version and zimbra network version. Zimbra Network is commercial edition of Zimbra Collaboration Suite.
Before we start to install the zimbra mail server, there are a few prerequisites that must be install and must be configure.
1. Stop sendmail and linux iptables firewall service as below:
[root@mail ~]# /etc/init.d/sendmail stop or [root@mail ~]# service sendmail stop [root@mail ~]# chkconfig sendmail off [root@mail ~]# /etc/init.d/iptables stop or [root@mail ~]# service iptablesstop [root@mail ~]# chkconfig iptables off
2. The following packages required need to be installed before installing ZCS:
– NPTL (Native POSIX Thread Library – installed by default)
– sudo
– libidn
– gmp, and
– libstdc++
– perl
– sysstat
– sqlite
Please run this youn install to install all those packages:
[root@mail ~]# yum install nc, sudo, libidn, gmp, libstdc++, perl, sysstat, sqlite -y
3. Configure DNS server. In this example, i will use the server as a DNS server. So the ip of the DNS and mail server is the same.
[root@mail ~]# vi /var/named/chroot/var/named/zimbra.local
; ; Addresses and other host information. ; @ IN SOA zimbra.local. hostmaster.zimbra.local. ( 2011030801 ; Serial 43200 ; Refresh 3600 ; Retry 3600000 ; Expire 2592000 ) ; Minimum ; Define the nameservers and the mail servers IN NS ns.zimbra.local. IN A 192.168.1.42 IN MX 10 mail.zimbra.local. mail IN A 192.168.1.42 ns IN A 192.168.1.42
[root@mail ~]# vi /var/named/chroot/etc/named.conf
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; forwarders { 8.8.8.8; }; }; include "/etc/rndc.key"; // We are the master server for zimbra.local zone "zimbra.local" { type master; file "zimbra.local"; };
4. Configure hosts file correctly:
[root@mail ~]# cat /etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.1.42 mail.zimbra.local mail
5. Verify the DNS records using host command. Host command is one of the bind utilities. Beside host, you also can use dig and nslookup to test your dns configuration.
[root@mail ~]# host -t mx zimbra.local zimbra.local mail is handled by 10 mail.zimbra.local.
6. Download the software from zimbra website.
[root@mail ~]# wget http://files.zimbra.com/downloads/7.1.3_GA/zcs-7.1.3_GA_3346.RHEL5.20110928134520.tgz
7. Extract the ZCS package and run ./install.sh to start installation.
[root@mail ~]# tar xzvf zcs-7.1.3_GA_3346.RHEL5.20110928134520.tgz [root@mail ~]# cd zcs-7.1.3_GA_3346.RHEL5.20110928134520 [root@mail zcs-7.1.3_GA_3346.RHEL5.20110928134520]# ./install.sh Operations logged to /tmp/install.log.2674 Checking for existing installation... zimbra-ldap...NOT FOUND zimbra-logger...NOT FOUND zimbra-mta...NOT FOUND zimbra-snmp...NOT FOUND zimbra-store...NOT FOUND zimbra-apache...NOT FOUND zimbra-spell...NOT FOUND zimbra-convertd...NOT FOUND zimbra-memcached...NOT FOUND zimbra-proxy...NOT FOUND zimbra-archiving...NOT FOUND zimbra-cluster...NOT FOUND zimbra-core...NOT FOUND PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE. ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT. License Terms for the Zimbra Collaboration Suite: http://www.zimbra.com/license/zimbra_public_eula_2.1.html Do you agree with the terms of the software license agreement? [N] y Checking for prerequisites... FOUND: NPTL FOUND: nc-1.84-10 FOUND: sudo-1.7.2p1-5 FOUND: libidn-0.6.5-1.1 FOUND: gmp-4.1.4-10 FOUND: /usr/lib/libstdc++.so.6 Checking for suggested prerequisites... FOUND: perl-5.8.8 FOUND: sysstat FOUND: sqlite Prerequisite check complete. Checking for installable packages Found zimbra-core Found zimbra-ldap Found zimbra-logger Found zimbra-mta Found zimbra-snmp Found zimbra-store Found zimbra-apache Found zimbra-spell Found zimbra-memcached Found zimbra-proxy Select the packages to install Install zimbra-ldap [Y] Install zimbra-logger [Y] Install zimbra-mta [Y] Install zimbra-snmp [Y] Install zimbra-store [Y] Install zimbra-apache [Y] Install zimbra-spell [Y] Install zimbra-memcached [N] Install zimbra-proxy [N] Checking required space for zimbra-core checking space for zimbra-store Installing: zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell The system will be modified. Continue? [N] y Removing /opt/zimbra Removing zimbra crontab entry...done. done. Cleaning up zimbra init scripts...done. Cleaning up /etc/ld.so.conf...done. Cleaning up /etc/prelink.conf...done. Cleaning up /etc/security/limits.conf...done. Finished removing Zimbra Collaboration Suite. Installing packages zimbra-core......zimbra-core-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-ldap......zimbra-ldap-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-logger......zimbra-logger-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-mta......zimbra-mta-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-snmp......zimbra-snmp-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-store......zimbra-store-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-apache......zimbra-apache-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done zimbra-spell......zimbra-spell-7.1.3_GA_3346.RHEL5-20110928134520.i386.rpm...done Operations logged to /tmp/zmsetup.12202011-035130.log Installing LDAP configuration database...done. Setting defaults... DNS ERROR resolving MX for mail.zimbra.local It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] Create domain: [mail.zimbra.local] zimbra.local MX: mail.zimbra.local (192.168.1.42) Interface: 192.168.1.42 Interface: 127.0.0.1 done. Checking for port conflicts Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: admin@zimbra.local ******* +Admin Password UNSET +Anti-virus quarantine user: virus-quarantine.iqk4l5dgz@zimbra.local +Enable automated spam training: yes +Spam training user: spam.f8azigt_ug@zimbra.local +Non-spam(Ham) training user: ham.ddnnjfq5a@zimbra.local +SMTP host: mail.zimbra.local +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://mail.zimbra.local: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.local +Version update source email: admin@zimbra.local 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-logger: Enabled 7) zimbra-spell: Enabled 8) Default Class of Service Configuration: r) Start servers after configuration yes s) Save config to file x) Expand menu q) Quit Address unconfigured (**) items (? - help) 3 Store configuration 1) Status: Enabled 2) Create Admin User: yes 3) Admin user to create: admin@zimbra.local ** 4) Admin Password UNSET 5) Anti-virus quarantine user: virus-quarantine.iqk4l5dgz@zimbra.local 6) Enable automated spam training: yes 7) Spam training user: spam.f8azigt_ug@zimbra.local 8) Non-spam(Ham) training user: ham.ddnnjfq5a@zimbra.local 9) SMTP host: mail.zimbra.local 10) Web server HTTP port: 80 11) Web server HTTPS port: 443 12) Web server mode: http 13) IMAP server port: 143 14) IMAP server SSL port: 993 15) POP server port: 110 16) POP server SSL port: 995 17) Use spell check server: yes 18) Spell server URL: http://mail.zimbra.local:7780/aspell.php 19) Configure for use with mail proxy: FALSE 20) Configure for use with web proxy: FALSE 21) Enable version update checks: TRUE 22) Enable version update notifications: TRUE 23) Version update notification email: admin@zimbra.local 24) Version update source email: admin@zimbra.local Select, or 'r' for previous menu [r] 4 Password for admin@zimbra.local (min 6 characters): [KGl9iDfP2] password Store configuration 1) Status: Enabled 2) Create Admin User: yes 3) Admin user to create: admin@zimbra.local 4) Admin Password set 5) Anti-virus quarantine user: virus-quarantine.iqk4l5dgz@zimbra.local 6) Enable automated spam training: yes 7) Spam training user: spam.f8azigt_ug@zimbra.local 8) Non-spam(Ham) training user: ham.ddnnjfq5a@zimbra.local 9) SMTP host: mail.zimbra.local 10) Web server HTTP port: 80 11) Web server HTTPS port: 443 12) Web server mode: http 13) IMAP server port: 143 14) IMAP server SSL port: 993 15) POP server port: 110 16) POP server SSL port: 995 17) Use spell check server: yes 18) Spell server URL: http://mail.zimbra.local:7780/aspell.php 19) Configure for use with mail proxy: FALSE 20) Configure for use with web proxy: FALSE 21) Enable version update checks: TRUE 22) Enable version update notifications: TRUE 23) Version update notification email: admin@zimbra.local 24) Version update source email: admin@zimbra.local Select, or 'r' for previous menu [r] r Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-store: Enabled 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-logger: Enabled 7) zimbra-spell: Enabled 8) Default Class of Service Configuration: r) Start servers after configuration yes s) Save config to file x) Expand menu q) Quit *** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) a Save configuration data to a file? [Yes] yes Save config in file: [/opt/zimbra/config.8980] yes Saving config in yes...done. The system will be modified - continue? [No] yes Operations logged to /tmp/zmsetup.12202011-035130.log Setting local config values...done. Setting up CA...done. Deploying CA to /opt/zimbra/conf/ca ...done. Creating SSL certificate...done. Installing mailboxd SSL certificates...done. Initializing ldap...done. Setting replication password...done. Setting Postfix password...done. Setting amavis password...done. Setting nginx password...done. Setting BES searcher password...done. Creating server entry for mail.zimbra.local...done. Saving CA in ldap ...done. Saving SSL Certificate in ldap ...done. Setting spell check URL...done. Setting service ports on mail.zimbra.local...done. Adding mail.zimbra.local to zimbraMailHostPool in default COS...done. Installing webclient skins... steel...done. carbon...done. tree...done. sand...done. beach...done. smoke...done. waves...done. sky...done. bones...done. bare...done. oasis...done. pebble...done. twilight...done. lake...done. lemongrass...done. lavender...done. hotrod...done. Finished installing webclient skins. Setting zimbraFeatureTasksEnabled=TRUE...done. Setting zimbraFeatureBriefcasesEnabled=TRUE...done. Setting MTA auth host...done. Setting TimeZone Preference...done. Initializing mta config...done. Setting services on mail.zimbra.local...done. Creating domain zimbra.local...done. Setting default domain name...done. Creating domain zimbra.local...already exists. Creating admin account admin@zimbra.local...done. Creating root alias...done. Creating postmaster alias...done. Creating user spam.f8azigt_ug@zimbra.local...done. Creating user ham.ddnnjfq5a@zimbra.local...done. Creating user virus-quarantine.iqk4l5dgz@zimbra.local...done. Setting spam training and Anti-virus quarantine accounts...done. Initializing store sql database...done. Setting zimbraSmtpHostname for mail.zimbra.local...done. Configuring SNMP...done. Checking for default IM conference room...not present. Initializing default IM conference room...done. Setting up syslog.conf...done. You have the option of notifying Zimbra of your installation. This helps us to track the uptake of the Zimbra Collaboration Suite. The only information that will be transmitted is: The VERSION of zcs installed (7.1.3_GA_3346_RHEL5) The ADMIN EMAIL ADDRESS created (admin@zimbra.local) Notify Zimbra of your installation? [Yes] no Notification skipped Starting servers...done. Installing common zimlets... com_zimbra_email...done. com_zimbra_linkedin...done. com_zimbra_attachmail...done. com_zimbra_webex...done. com_zimbra_bulkprovision...done. com_zimbra_date...done. com_zimbra_dnd...done. com_zimbra_attachcontacts...done. com_zimbra_url...done. com_zimbra_social...done. com_zimbra_srchhighlighter...done. com_zimbra_phone...done. com_zimbra_cert_manager...done. com_zimbra_adminversioncheck...done. Finished installing common zimlets. Restarting mailboxd...done. Setting up zimbra crontab...done. Moving /tmp/zmsetup.12202011-035130.log to /opt/zimbra/log Configuration complete - press return to exit
8. Your installation completed.
Zimbra Webmail URL for users:
http://mail.zimbra.local
Zimbra Admin console URL for zimbra administrator :
https://mail.zimbra.local:7071