Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

Zimbra Collaboration Suite (ZCS) Open Source Edition v5.0 On Debian Etch


This document describes how to set up the Zimbra Collaboration Suite (ZCS) Open Source Edition v5.0 on Debian Etch. The resulting system provides a full featured collaboration-suite with many features that I can’t list all here – please have a look at the feature list. It also comes with a nice (themeable) AJAX web interface for administration and user access.

This howto is a practical guide without any warranty – it doesn’t cover the theoretical backgrounds. There are many ways to set up such a system – this is the way I chose.

 

1 Preparation

Install a standard Debian Etch system and update it. I used a network installation (only standard system).

 

2 Hostname

You have to assign the hostname to the server ip. It is very important that the fqdn entry appears before the hostname.

vi /etc/hosts

It should look like this:

127.0.0.1       localhost.localdomain localhost
192.168.0.110   server1.example.com server1

# 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

 

Afterwards insert the hostname into the hostname file …

echo server1.example.com > /etc/hostname

… and reboot the system.

reboot

When the system is up again, the output of the both commands …

hostname

… and …

hostname -f

… should be:

server1.example.com

3 DNS

You need a running DNS server in your LAN that contains a valid A & MX record for this server – otherwise Zimbra won’t work. I used another server (192.168.0.100) running mydns for this howto. Add the nameserver’s IP to the resolve configuration:

vi /etc/resolv.conf

The nameserver on your LAN has to be the first entry. It should look like this:

nameserver 192.168.0.100
nameserver 192.168.0.2

 

4 Exim

Deinstall Exim – Zimbra comes with it’s own mailserver.

apt-get remove –purge exim4 exim4-base exim4-config exim4-daemon-light

 

5 Needed packages

Let’s install some needed packages (maybe some of these packages are already installed on your system).

apt-get install libc6-i686 sudo libidn11 curl fetchmail libgmp3c2 libexpat1 libgetopt-mixed-perl libxml2 libstdc++6 libpcre3 libltdl3 ssh

 

6 Get Zimbra

Please take a look at http://www.zimbra.com/community/downloads.html to see which is the latest version. Download and unpack it.

cd /tmp/
wget http://files.zimbra.com/downloads/5.0.2_GA/zcs-5.0.2_GA_1975.DEBIAN4.0.20080130234700.tgz
tar xvfz zcs-5.0.2_GA_1975.DEBIAN4.0.20080130234700.tgz

7 Install Zimbra

7.1 Start The Installation

Be sure that no other services like sendmail, postfix or mysql are running!

cd /tmp/zcs-5.0.2_GA_1975.DEBIAN4.0.20080130234700
./install.sh -l

Read the license agreement and press “Enter” to continue. Zimbra will now check if all prequisites are installed on the system. The output should look like this:

Checking for prerequisites…
NPTL…FOUND
sudo…FOUND sudo-1.6.8p12-4
libidn11…FOUND libidn11-0.6.5-1
fetchmail…FOUND fetchmail-6.3.6-1etch1
libpcre3…FOUND libpcre3-6.7+7.4-2
libgmp3c2…FOUND libgmp3c2-2:4.2.1+dfsg-4
libxml2…FOUND libxml2-2.6.27.dfsg-2
libstdc++6…FOUND libstdc++6-4.1.1-21
openssl…FOUND openssl-0.9.8c-4etch1
libltdl3…FOUND libltdl3-1.5.22-4
Prerequisite check complete.
Checking for standard system perl…
perl-5.8.8…FOUND standard system perl-5.8.8

7.2 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-proxy [N] N

The system will be modified. Continue? [N] Y

Now the packages are being installed – this could take a while.

 

7.3 Main Menu

After the packages have been installed you’ll see the main menu. It should look like this:

Main menu

1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@server1.example.com
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.m0bqyoayc@server1.example.com
+Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
+Global Documents Account: wiki@server1.example.com
+SMTP host: server1.example.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://server1.example.com:7780/aspell.php

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)

Points that are marked with asterisks to their left have to be configured manually. As you can see you have to set the admin password. Enter “3” (without the quotes) and press “Enter” to switch to the corresponding submenu. The output should look like this:

Store configuration

1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@server1.example.com
** 4) Admin Password UNSET
5) Enable automated spam training: yes
6) Spam training user: spam.m0bqyoayc@server1.example.com
7) Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
8) Global Documents Account: wiki@server1.example.com
9) SMTP host: server1.example.com
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://server1.example.com:7780/aspell.php

Select, or ‘r’ for previous menu [r]

Enter “4” (without the quotes) and press “Enter” to modify the admin password. Now you’ll be asked for the new password.

Password for admin@server1.example.com (min 6 characters): [TR9Fm7uD]

Enter a desired password and press “Enter“. Afterwards press “Enter” to switch back to the main menu. The configuration is now complete and the output should look like this:

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)

Enter “a” (without the quotes) and press “Enter” to apply the configuration. You’ll be asked a few questions – answer them as follows.

Save configuration data to a file? [Yes] Enter
Save config in file: [/opt/zimbra/config.5422]
Saving config in /opt/zimbra/config.5422…done.
The system will be modified – continue? [No] Y

Now Zimbra configures itself with the given configuration. This could take a while – the output should look like this:

Operations logged to

/tmp/zmsetup.02062008-135354.log
Setting local config values…done.
Setting up CA…done.
Creating SSL certificate…done.
Initializing ldap…done.
Setting replication password…done.
Setting Postfix password…done.
Setting amavis password…done.
Deploying CA to /opt/zimbra/conf/ca …done.
Creating server entry for server1.example.com…done.
Setting spell check URL…done.
Setting service ports on server1.example.com…done.
Adding server1.example.com to zimbraMailHostPool in default COS…done.
Installing skins…
hotrod
lavender
waves
steel
sky
bones
yahoo
sand
lemongrass
beach
bare
done.
Setting zimbraFeatureIMEnabled=FALSE…done.
Setting zimbraFeatureTasksEnabled=TRUE…done.
Setting zimbraFeatureBriefcasesEnabled=TRUE…done.
Setting zimbraFeatureNotebookEnabled=TRUE…done.
Setting MTA auth host…done.
Setting TimeZone Preference…done.
Creating domain server1.example.com…done.
Creating user admin@server1.example.com…done.
Creating postmaster alias…done.
Creating user wiki@server1.example.com…done.
Creating user spam.m0bqyoayc@server1.example.com…done.
Creating user ham.ygch0qyz1@server1.example.com…done.
Setting spam training accounts…done.
Initializing store sql database…done.
Setting zimbraSmtpHostname for server1.example.com…done.
Initializing logger sql database…done.
Initializing mta config…done.
Configuring SNMP…done.
Setting services on server1.example.com…done.
Setting up zimbra crontab…done.
Setting up syslog.conf…done.

After all you’ll be asked if you want to notify Zimbra of your installation. Press “Enter” if you want to do that, or enter “N” (without the quotes) and press “Enter” if you disagree to that. Afterwards the system will be initialized – it should look like this:

Starting servers…done.
Checking for deprecated zimlets…done.
Installing zimlets…
com_zimbra_date
com_zimbra_url
com_zimbra_cert_manager
com_zimbra_phone
com_zimbra_search
com_zimbra_local
com_zimbra_email
done.
Initializing Documents…done.
Restarting mailboxd…done.

Moving /tmp/zmsetup.02062008-135354.log to /opt/zimbra/log

Press “Enter” to exit. Let’s look if all Zimbra services are running proper – switch to the Zimbra account …

su – zimbra

… and enter the command:

zmcontrol status

The output should look like this:

Host server1.example.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
snmp Running
spell Running
stats Running

If one or more services have not been started, enter the command:

zmcontrol start

Switch back to the root account via:

exit

8 Zimbra Web Interface

I’ll show you some screenshots, but no detailed information about the usage of the web interface – the possible settings are too extensive. Please have a look at the admin guide and the wiki.

8.1 Administration Console

You can access the administration web interface via https://server1.example.com:7071/zimbraAdmin/ . Log in with the username “admin” (without the quotes) and the password that you assigned to this account at step 7.3.

admin_login

Welcome to the administration console – make yourself familar with it.

admin_status

If you want to have mail adresses like $user@example.com instead of $user@server1.example.com you have to create a new domain. Click on “Domains” in the main menu on the left side and afterwards on “New” in the window menu (Manage Domains).

add_domain1

Enter “example.com” (without the quotes) as domain name, set the domain status to active and click on “Finish“.

add_domain2

add_domain3

Click on “Accounts” in the main menu on the left side and afterwards on “New” in the window menu (Manage Accounts) to create a new user.

add_user1

A wizard will guide you through the creation of the new account. Take care that you select the right domain (example.com) for this account. Note: I created the account olli@example.com .

add_user2

Afterwards mark the new account in the accounts-list and click on “Edit“.

add_user4

Log out and proceed with the next step.

 

8.2 User Access

Open http://server1.example.com within your browser and log in with the user account that you created at step 8.1.

user_login

Make familar with the web interface.

user_console

Debian: http://www.debian.org/
Zimbra: http://www.zimbra.com/
Zimbra documentation: http://www.zimbra.com/community/documentation.html
Zimbra Wiki: http://wiki.zimbra.com/

Comments

comments