Wie man Zimbra Collaboration Suite (ZCS) auf Ubuntu installiert
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Diese Anleitung veranschaulicht, wie man Zimbra Collaboration Suite (ZCS) auf Ubuntu 6.10 (Edgy Eft) und 6.06 (Dapper Drake) Server Systemen installiert. Zimbra ist ein open source Programm mit vielen Funktionen um E-Mail, Kalender, Kontakte und Web Dokumente in Zusammenarbeit zu verwalten. Es hat ein funktionsreiches AJAX Web Interface und ist kompatibel mit Kienten wie zum Beispiel Microsoft Outlook, Apple Mail und Novell Evolution, sodass Mail-, Kontakte- und Kalenedereinträge mit dem ZCS Server abgeglichen werden können. Weiterhin kann es mit vielen mobilen Geräten abgeglichen werden. ZCS bedient sich zahlreich vorhandener open source Projekte wie zum Beispiel Postfix, MySQL und OpenLDAP.
Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!
1 Vorbemerkung
Bitte lade die Ubuntu 6.10 oder 6.06 Server CD von http://www.ubuntu.com/download und installiere damit ein Ubuntu Basissystem. Installiere/aktiviere keine Dienste (z.B. wie LAMP oder DNS) – wenn Du Dienste installierst, musst Du diese später deaktivieren, da sie Zimbra beeinflussen können!
Nach der Installation des Basissystems werden wir eine zusätzliche Konfiguration vornehmen, z.B. das Root Konto freischalten, deinen SSH Daemon installieren, eine statische IP Adresse und einen Hostnamen eingeben.
Ich verwende in dieser Anleitung den Hostnamen mail.example.com mit der IP Adresse 192.168.0.110. Passe dies nach Deinen Vorstellungen an, aber vergewissere Dich, dass mail.example.com einen gültigen MX Record in DNS (Zimbra benötigt diesen!) hat. Ich gehe davon aus, dass Du E-Mail-Konten für example.com anstell von mail.example.com erstellen möchtest, also solltest Du auch einen MX Record für example.com haben.
In diesem Beispiel befindet sich Zimbra in einem lokalen Netzwerk (192.168.0.110 ist eine private IP Adresse) hinter einem Router, also pass auf, dass Du die öffentliche IP Adresse des Routers (1.2.3.4 in diesem Beispiel) in den DNS Records verwendest – natürlich sollte diese IP Adresse statisch sein. Falls Du eine dynamische IP Adresse hast, kannst Du zum Beispiel DynDNS.org verwenden, aber denke daran, dass die meisten öffentlichen IP Adressen heutzutage geblacklisted werden.
Wenn Du BIND auf dem authoritative Name Server für example.com einsetzt, solltest Du etwas in der Art in der Zonendatei von example.com festlegen:
[...] mail.example.com. A 1.2.3.4 mail.example.com. MX 0 mail.example.com. example.com. MX 0 mail.example.com. [...] |
Falls Dein Ubuntu Server hinter einem Router ist, pass auf, dass Du zumindest Port 25 von Deinem Router an Deinen Ubuntu Server weiterleitest.
Falls sich Dein Ubuntu Server in einem Rechenzentrum befindet, hat er wahrscheinlich eine statische, öffentliche IP Adresse und einen Hostnamen. Also kannst Du Kapitel 1.3 überspringen. Aber Du musst dennoch aufpassen, dass dieser Hostname einen gültigen MX Record hat.
1.1 Das Root-Konto freischalten
Um das Root-Konto freizuschalten, führen wir Folgendes aus
sudo passwd root
und legen ein Passwort für den Rootanwender fest.
Werde danach Rootanwender indem Du Folgendes ausführst
su
Alle weiteren Befehle dieser Anleitung werden als Rootanwender ausgeführt (wenn nicht etwas anderes geschrieben steht)!
1.2 Installation des SSH Daemon
Führe einfach Folgendes aus
apt-get install ssh openssh-server
um den SSH Daemon zu installieren.
1.3 Eine statische IP Adresse und einen Hostnamen eingeben
Bearbeite /etc/network/interfaces und passe es Deinen Vorstellungen an (in diesem Beispiel werde ich die IP Adresse 192.168.0.110 verwenden):
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 |
Starte dann Dein Netzwerk neu:
/etc/init.d/networking restart
Bearbeite dann /etc/hosts. So soll es aussehen:
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 |
Führe nun Folgendes aus
echo mail.example.com > /etc/hostname
und starte das System neu:
shutdown -r now
Führe danach dies aus
hostname
hostname -f
Beides sollte mail.example.com anzeigen.
Von nun an kannst Du einen SSH Klienten wie PuTTY verwenden und Dich von Deinem Arbeitsplatz mit Deinem Ubuntu Server verbinden und den verbliebenen Schritten des Setups folgen.
1.4 Die Ubuntu CD in /etc/apt/sources.list deaktivieren
Ich möchte alle Pakete über das Internet installieren und nicht von der Ubuntu CD. Daher deaktiviere ich jetzt die Ubuntu CD in /etc/apt/sources.list:
vi /etc/apt/sources.list
Auf Ubuntu 6.10 („Edgy Eft“) kommentiere diese Zeile aus:
[...] #deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted [...] |
Auf Ubuntu 6.06 („Dapper Drake“) ist es diese Zeile:
[...] #deb cdrom:[Ubuntu-Server 6.06 _Dapper Drake_ - Release i386 (20060531)]/ dapper main restricted [...] |
Aktualisiere dann die Paketdatenbank indem Du Folgendes ausführst
apt-get update
1.5 Dienste deaktivieren
Falls dies kein frisch aufgesetztes System ist und Du bereits Dienste ausführst (wie zum Beispiel Postfix, Apache, OpenLDAP), musst Du diese zunächst deaktivieren bevor Du Zimbra installierst. Sonst scheitert die Installation von Zimbra.
Um zum Beispiel Postfix auf Deinen System zu deaktivieren, führe dies aus
/etc/init.d/postfix stop
update-rc.d -f postfix remove
Die Befehle für die anderen Dienste ähneln diesem.
2 Die Standard-Kommandozeile ändern (nur Ubuntu 6.10 Edgy Eft)
Falls Du auf einem Ubuntu Edgy Eft arbeitest, ist /bin/sh höchstwahrscheinlich ein Symlink von /bin/dash. Jedoch brauchen wir /bin/bash und nicht /bin/dash. Daher führen wir Folgendes aus:
rm -f /bin/sh
ln -s /bin/bash /bin/sh
Wenn Du dies nicht machst, wirst Du wahrscheinlich eine Fehlermeldung wie diese während der Installation von Zimbra erhalten:
Creating SSL certificate…Done
Initializing ldap…TLS: error:02001002:system library:fopen:No such file or directory bss_file.c:352
TLS: error:20074002:BIO routines:FILE_CTRL:system lib bss_file.c:354
TLS: error:140B0002:SSL routines:SSL_CTX_use_PrivateKey_file:system lib ssl_rsa.c:648
main: TLS init def ctx failed: -1
ERROR – failed to start slapd
FAILED (1)
Auf Ubuntu Dapper Drake zeigt /bin/sh standardmäßig auf /bin/bash, also ist alles in Ordnung.
3 Installation von Zimbra
Lass uns zunächst einige Voraussetzungen für Zimbra installieren:
apt-get install curl fetchmail libpcre3 libgmp3c2 libexpat1 libxml2 libtie-ixhash-perl
Gehe danach auf http://www.zimbra.com/community/downloads.html und lade das Ubuntu 6 (.tgz) Paket nach /usr/src, zum Beispiel wie folgt:
cd /usr/src
wget http://kent.dl.sourceforge.net/sourceforge/zimbra/zcs-4.5.3_GA_733.UBUNTU6.tgz
(Ersetze die Download URL mit der, die Du von SourceForge beziehst.)
Entpacke danach die Zimbra .tgz Datei und starte den Installer:
tar xvfz zcs-4.5.3_GA_733.UBUNTU6.tgz
cd zcs/
./install.sh
Der Installer wird Dir einige Fragen stellen. Beantworte sie wie folgt:
Operations logged to /tmp/install.log.4416
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-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/collaboration_suite_collective_license_1.0.html
Press Return to continue <– <ENTER>
Install zimbra-ldap [Y] <– <ENTER>
Install zimbra-logger [Y] <– <ENTER>
Install zimbra-mta [Y] <– <ENTER>
Install zimbra-snmp [Y] <– <ENTER>
Install zimbra-store [Y] <– <ENTER>
Install zimbra-spell [Y] <– <ENTER>
The system will be modified. Continue? [N] <– y
Main menu
1) Hostname: mail.example.com
2) Ldap master host: mail.example.com
3) Ldap port: 389
4) Ldap password: set
5) zimbra-ldap: Enabled
6) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@mail.example.com
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.tukjrdnaco@mail.example.com
+Non-spam(Ham) training user: ham.rg8fvq6cd4@mail.example.com
+Global Documents Account: wiki@mail.example.com
+SMTP host: mail.example.com
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+Enable POP/IMAP proxy: no
+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.example.com:7780/aspell.php
7) zimbra-mta: Enabled
8) zimbra-snmp: Enabled
9) zimbra-logger: Enabled
10) zimbra-spell: Enabled
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? – help) <– 6
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@mail.example.com
** 4) Admin Password UNSET
5) Enable automated spam training: yes
6) Spam training user: spam.tukjrdnaco@mail.example.com
7) Non-spam(Ham) training user: ham.rg8fvq6cd4@mail.example.com
8) Global Documents Account: wiki@mail.example.com
9) SMTP host: mail.example.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) Enable POP/IMAP proxy: no
14) IMAP server port: 143
15) IMAP server SSL port: 993
16) POP server port: 110
17) POP server SSL port: 995
18) Use spell check server: yes
19) Spell server URL: http://mail.example.com:7780/aspell.php
Select, or ‚r‘ for previous menu [r] <– 4
Password for admin@mail.example.com (min 6 characters): [8BD.yZtFh] <– [specify a password for the admin user, e.g. howtoforge]
Select, or ‚r‘ for previous menu [r] <– <ENTER>
Main menu
1) Hostname: mail.example.com
2) Ldap master host: mail.example.com
3) Ldap port: 389
4) Ldap password: set
5) zimbra-ldap: Enabled
6) zimbra-store: Enabled
7) zimbra-mta: Enabled
8) zimbra-snmp: Enabled
9) zimbra-logger: Enabled
10) zimbra-spell: Enabled
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] <– <ENTER>
Save config in file: [/opt/zimbra/config.5762] <– <ENTER>
Saving config in /opt/zimbra/config.5762…Done
The system will be modified – continue? [No] <– y
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 (4.5.3_GA_733_UBUNTU6)
The ADMIN EMAIL ADDRESS created (admin@mail.example.com)
Notify Zimbra of your installation? [Yes] <– [wenn Du Zimbra über Deine Installation informieren möchtest, gib y ein, ansonsten n]
Configuration complete – press return to exit <– <ENTER>
Das war’s schon. Um zu testen, ob alle Zimbra Dienste ausgeführt werden, werde zimbra Benutzer:
su – zimbra
und führe dies aus
zmcontrol status
Die Ausgabe sollte wie folgt aussehen:
zimbra@mail:~$ zmcontrol status
Host mail.example.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
snmp Running
spell Running
Wenn nicht alle Dienste gestartet werden, führe Folgendes aus
zmcontrol start
Gib
exit
ein um wieder Rootanwender zu werden.