
Zimbra is the Email Server software that rich of functions and can replace Exchange Server to reduce the cost. After bought by VMware and change the name to VMware Zimbra but the business model still the same. There is ZCS Open Source Edition that you can use without any cost. Also if you want more function like working with Outlook, iPhone, Android including large scale like clustering you can buy ZCS Network Edition that still cheaper than Exchange Server (Comparison).
This article will focus on install ZCS Open Source Edition on Ubuntu 10.04 LTS. These are requirement
- Server with fresh install Ubuntu Server 10.04 LTS (Lucid Lynx) 64-bit
- This server hostname will be webmail.zimbra.wingfoss.com
- 1 Public IP
- Domain that config DNS A and MX record to mapped with public IP on server
- In this example will use @zimbra.wingfoss.com
Preparing before install Zimbra
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get autoremove sudo apt-get install openssh-server libperl5.10 sysstat sqlite3 sudo shutdown -r now
The latest version for now is Zimbra Collaboration Suite Open Source Edition 7.1.3 GA
wget http://files.zimbra.com/downloads/7.1.3_GA/zcs-7.1.3_GA_3346.UBUNTU10_64.20110928134610.tgz tar xvfz zcs*.tgz cd zcs*
Install BIND9 for NAT 1-1
In many case, your server didn't got public IP directly. But you got public IP by NAT by network device. In this condition you have to use Split DNS as Zimbra suggest (More Info)
- Install bind9
sudo apt-get install bind9
- edit /etc/bind/named.conf.options by the line forwarders change to our DNS IP then append zone that the bottom of line
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
8.8.8.8;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
zone "zimbra.wingfoss.com" {
type master;
file "db.zimbra.wingfoss.com";
};- then create /var/cache/bind/db.zimbra.wingfoss.com don't forget to change filename to match with zone file
$ttl 38400 @ IN SOA webmail.zimbra.wingfoss.com. webmail.zimbra.wingfoss.com. ( 2011091202 10800 3600 604800 38400 ) IN NS ns1.zimbra.wingfoss.com. IN NS ns2.zimbra.wingfoss.com. IN A 192.168.100.20 IN MX 10 webmail.zimbra.wingfoss.com. @ A 192.168.100.20 ns1 A 192.168.100.20 ns2 A 192.168.100.20 webmail A 192.168.100.20
- Then edit /etc/resolv.conf and change nameserver to 127.0.0.1
search zimbra.wingfoss.com nameserver 127.0.0.1
- restart bind9
sudo /etc/init.d/bind9 restart
- Test by dig command and it should return like below
dig zimbra.wingfoss.com mx; <<>> DiG 9.7.0-P1 <<>> zimbra.wingfoss.com mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57886 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; QUESTION SECTION: ;zimbra.wingfoss.com. IN MX ;; ANSWER SECTION: zimbra.wingfoss.com. 38400 IN MX 10 webmail.zimbra.wingfoss.com. ;; AUTHORITY SECTION: zimbra.wingfoss.com. 38400 IN NS ns1.zimbra.wingfoss.com. zimbra.wingfoss.com. 38400 IN NS ns2.zimbra.wingfoss.com. ;; ADDITIONAL SECTION: webmail.zimbra.wingfoss.com. 38400 IN A 192.168.100.20 ns1.zimbra.wingfoss.com. 38400 IN A 192.168.100.20 ns2.zimbra.wingfoss.com. 38400 IN A 192.168.100.20 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Nov 4 21:00:19 2011 ;; MSG SIZE rcvd: 145
Install Zimbra
sudo ./install.sh
Operations logged to /tmp/install.log.1615
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: netcat-openbsd-1.89-3ubuntu2
FOUND: sudo-1.7.2p1-1ubuntu5.3
FOUND: libidn11-1.15-2
FOUND: libpcre3-7.8-3build1
FOUND: libgmp3c2-2:4.3.2+dfsg-1ubuntu1
FOUND: libexpat1-2.0.1-7ubuntu1
FOUND: libstdc++6-4.4.3-4ubuntu5
FOUND: libperl5.10-5.10.1-8ubuntu2.1
Checking for suggested prerequisites...
FOUND: perl-5.10.1
FOUND: sysstat
FOUND: sqlite3
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] Y
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-memcached [N] N
Install zimbra-proxy [N] 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.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/ld.so.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.UBUNTU10_64_amd64.deb...
zimbra-ldap......zimbra-ldap_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
zimbra-logger......zimbra-logger_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
zimbra-mta......zimbra-mta_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
zimbra-snmp......zimbra-snmp_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
zimbra-store......zimbra-store_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
zimbra-apache......zimbra-apache_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...
zimbra-spell......zimbra-spell_7.1.3_GA_3346.UBUNTU10_64_amd64.deb...done
Operations logged to /tmp/zmsetup.11042011-195302.log
Installing LDAP configuration database...done.
Setting defaults...
DNS ERROR resolving MX for webmail.zimbra.wingfoss.com
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [webmail.zimbra.wingfoss.com] zimbra.wingfoss.com
MX: webmail.zimbra.wingfoss.com (192.168.100.20)
Interface: 192.168.100.20
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.wingfoss.com
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.87xyz2_zvy@zimbra.wingfoss.com
+Enable automated spam training: yes
+Spam training user: spam.l1bceniwua@zimbra.wingfoss.com
+Non-spam(Ham) training user: ham.205v2giqh@zimbra.wingfoss.com
+SMTP host: webmail.zimbra.wingfoss.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://webmail.zimbra.wingfoss.com: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.wingfoss.com
+Version update source email: admin@zimbra.wingfoss.com
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)- Put number 3 to config Admin Password (Number 4) then put r to return and put a to apply Zimbra configuration
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.8588] Saving config in /opt/zimbra/config.8588...done. The system will be modified - continue? [No] Yes Operations logged to /tmp/zmsetup.11042011-205010.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 webmail.zimbra.wingfoss.com...done. Saving CA in ldap ...done. Saving SSL Certificate in ldap ...done. Setting spell check URL...done. Setting service ports on webmail.zimbra.wingfoss.com...done. Adding webmail.zimbra.wingfoss.com to zimbraMailHostPool in default COS...done. Installing webclient skins... smoke...done. pebble...done. sky...done. sand...done. bones...done. lavender...done. tree...done. lemongrass...done. carbon...done. steel...done. bare...done. waves...done. lake...done. beach...done. twilight...done. hotrod...done. oasis...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 webmail.zimbra.wingfoss.com...done. Creating domain zimbra.wingfoss.com...done. Setting default domain name...done. Creating domain zimbra.wingfoss.com...already exists. Creating admin account admin@zimbra.wingfoss.com...done. Creating root alias...done. Creating postmaster alias...done. Creating user spam.l1bceniwua@zimbra.wingfoss.com...done. Creating user ham.205v2giqh@zimbra.wingfoss.com...done. Creating user virus-quarantine.87xyz2_zvy@zimbra.wingfoss.com...done. Setting spam training and Anti-virus quarantine accounts...done. Initializing store sql database...done. Setting zimbraSmtpHostname for webmail.zimbra.wingfoss.com...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_UBUNTU10_64) The ADMIN EMAIL ADDRESS created (admin@zimbra.wingfoss.com) Notify Zimbra of your installation? [Yes] Yes Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=7.1.3_GA_3346_UBUNTU10_64&MAIL=admin@zimbra.wingfoss.com Notification complete Starting servers...done. Installing common zimlets... com_zimbra_bulkprovision...done. com_zimbra_attachcontacts...done. com_zimbra_linkedin...done. com_zimbra_cert_manager...done. com_zimbra_webex...done. com_zimbra_date...done. com_zimbra_social...done. com_zimbra_srchhighlighter...done. com_zimbra_phone...done. com_zimbra_email...done. com_zimbra_url...done. com_zimbra_adminversioncheck...done. com_zimbra_dnd...done. com_zimbra_attachmail...done. Finished installing common zimlets. Restarting mailboxd...done. Setting up zimbra crontab...done. Moving /tmp/zmsetup.11042011-205010.log to /opt/zimbra/log Configuration complete - press return to exit
- After done installing. Test by open https://webmail.zimbra.wingfoss.com:7071 and put the user admin with password
If success so we will enter to Administration page
Or you can test by go to Zimbra webmail http://webmail.zimbra.wingfoss.com then put the username admin and password
If success so you will see webmail interface
Install Zimbra patch
At the time of writing there is patch for 7.1.3 GA. You can install by
cd wget http://files2.zimbra.com/downloads/7.1.3_GA/zcs-patch-7.1.3_GA_3374.tgz tar xvfz zcs-patch-*.tgz cd zcs-patch-* sudo ./installPatch.sh sudo su - zimbra zmmailboxdctl restart zmcontrol restart exit





Comments
Great how-to! Have a question
Great how-to! Have a question though. I'm to the part where I configure bind9 and I wanted to make sure I understand it correctly.
So I have the A and MX records of my test domain pointed to a public IP address (69.555.5.555 for example). The server sits behind a firewall, which routes external traffic to a private IP (10.0.1.5).
In /etc/bind/named.conf.options, the forward address should be the public IP address (69.555.5.555), right? And in the /var/cache/bind/db.* file, the A records should use the local IP (10.0.1.5), right?
Glad that having people read
Glad that having people read my posted :).
In /etc/bind/named.conf.options the forward address should be "DNS Server" like 8.8.8.8 (Google DNS). But you understand correctly about /var/cache/bind/db.*.
This is a great tutorial. I
This is a great tutorial. I have looked everywhere for something like this. Great job....
Thanks for this great post.
Thanks for this great post.
Since, I am also in the process of moving our environment from exchange to zimbra open source on Ubuntu, request you to post the Ubuntu server 10.04 LTS installation steps too.
Thanks a zillion in advance
Regards Venu
You can see Ubuntu Server 10
You can see Ubuntu Server 10.04 LTS installation steps here http://www.wingfoss.com/content/install-ubuntu-server-10.04-64-bit
Thanks a zimbrillion !!!
Thanks a zimbrillion !!!
hello very good tutorial
hello very good tutorial
this tutorial is for Ubuntu 10.04 desktop, or just Ubuntu Server 10.04 thank you
Never try on Ubuntu Desktop
Never try on Ubuntu Desktop but it should work on both Desktop and Server
Hello! Nice tutorial!
Hello! Nice tutorial! I have a question, the installation and config of bind9 is for DNS right? I already have a DNS and its Windows, do I still need to install and configure bind? thanks a lot!
-Restart and Pray-
You can use Windows DNS. But
You can use Windows DNS. But remember it should be private DNS and use only for Zimbra Server.
How can you encript your web
How can you encript your web mail page?
sudo -u zimbra /opt/zimbra
sudo -u zimbra /opt/zimbra/bin/zmtlsctl https
I prefer redirect instead of
I prefer redirect instead of https
sudo -u zimbra /opt/zimbra/bin/zmtlsctl redirect
https://webmail.zimbra
https://webmail.zimbra.wingfoss.com
Another of How-To,
Another of How-To,
Sorry for asking too primative or basics as I am both new to Ubuntu/Linux distros and Zimbra. In fact, I'm a non-techie and been able to install exchange server and manage.
I'm so impressed by the capabilities of zimbra as well as Ubuntu, I'm now on the process of introducing ubuntu desktops (specifically Kubuntu) for its richer-than-windows-features and ease-of-use and capabilities.
Specifically, i've this business requirements as below :
A. Mail flow control/access: 1. 2 groups of IDs - Personal-IDs called PA & Business-IDs called BA.
A person will be given access to one PA and one-or-more BAs.
BA id should be mapped/shared to the PA. Access to BA should be thru their PA login only.
BA ids can send/receive mails to/from both internal & external domains.
PA ids can send/receive mails to/from internal domain only, whether the recepient is PA or BA.
B. Mailing lists with moderation capability.
Help is solicited.
Thanks in advance.
Regards Venu