How To Install Zimbra Collaboration Suite (ZCS) On Ubuntu
Version 1.0
Author: Falko Timme
This guide shows how to install the Zimbra Collaboration Suite (ZCS) on Ubuntu 6.10 (Edgy Eft) and 6.06 (Dapper Drake) server systems. Zimbra is a full-featured, open source collaboration suite - email, group calendaring, contacts, and web document management and authoring. It has a feature-rich AJAX web interface and is compatible with clients such as Microsoft Outlook, Apple Mail, and Novell Evolution so that mail, contacts, and calendar items can be synchronised from these to the ZCS server. It can also be synchronized to many mobile devices. ZCS makes use of many existing open source projects such as Postfix, MySQL, and OpenLDAP.
I do not issue any guarantee that this will work for you!
1 Preliminary Note
Please download the Ubuntu 6.10 or 6.06 server CD from http://www.ubuntu.com/download and install a basic Ubuntu system with it. Don't install/enable any services (e.g. like LAMP or DNS) - if you do, you'll have to disable them later on as they might interfere with Zimbra!
After the installation of the base system, we'll do some additional configuration, e.g. enable the root account, install an SSH daemon, apply a static IP address and a hostname to the system.
I will use the hostname mail.example.com in this tutorial together with the IP address 192.168.0.110. Adjust this to your needs, but make sure that mail.example.com has a valid MX record in DNS (Zimbra needs this!). I assume you want to create email accounts for example.com instead of mail.example.com, so you should have an MX record for example.com as well.
In this example the Zimbra server is in a local network (192.168.0.110 is a private IP address) behind a router, so make sure you use the router's public IP address (1.2.3.4 in this example) in the DNS records - of course this IP address should be static. If you have a dynamic IP address, you could use a service such as DynDNS.org, but keep in mind that most public IP addresses are blacklisted nowadays.
So if you use BIND on the authoritative name server for example.com, you should have something like this in example.com's zone file:
[...] mail.example.com. A 1.2.3.4 mail.example.com. MX 0 mail.example.com. example.com. MX 0 mail.example.com. [...] |
If your Ubuntu server is behind router, make sure that you forward at least port 25 from your router to your Ubuntu server.
If your Ubuntu server is in a data center, it most likely has a static public IP address and a hostname, so you can skip chapter 1.3, but still you must make sure that this hostname has a valid MX record.
1.1 Enable The root Account
To enable the root account, run
sudo passwd root
and specify a password for root.
Afterwards, become root by running
su
All following commands in this tutorial are executed as root (unless something else is written)!
1.2 Install The SSH Daemon
Just run
apt-get install ssh openssh-server
to install the SSH daemon.
1.3 Apply A Static IP Address And Hostname
Edit /etc/network/interfaces and adjust it to your needs (in this example setup I will use the IP address 192.168.0.110):
vi /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.110 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 |
Then restart your network:
/etc/init.d/networking restart
Then edit /etc/hosts. Make it look like this:
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.0.110 mail.example.com mail # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
Now run
echo mail.example.com > /etc/hostname
and reboot the system:
shutdown -r now
Afterwards, run
hostname
hostname -f
Both should show mail.example.com.
From now on you can use an SSH client such as PuTTY and connect from your workstation to your Ubuntu server and follow the remaining steps from this tutorial.
1.4 Disable The Ubuntu CD In /etc/apt/sources.list
I like to install all packages over the internet instead of from the Ubuntu CD, therefore I disable the Ubuntu CD in /etc/apt/sources.list now:
vi /etc/apt/sources.list
On Ubuntu 6.10 ("Edgy Eft"), comment out this line:
[...] #deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted [...] |
On Ubuntu 6.06 ("Dapper Drake"), it's this line:
[...] #deb cdrom:[Ubuntu-Server 6.06 _Dapper Drake_ - Release i386 (20060531)]/ dapper main restricted [...] |
Then update the packages database by running
apt-get update
1.5 Disable Services
If this is no fresh system and you have some services already running (such as Postfix, Apache, OpenLDAP), you must disable them first before installing Zimbra. Otherwise Zimbra will fail to install.
For example, to disable Postfix on your system, run
/etc/init.d/postfix stop
update-rc.d -f postfix remove
The commands for the other services are similar.