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.

Share this page:

6 Comment(s)