Kolab 2 und Univention Groupware Server (UGS)
Tutorial zur Installation und Konfiguration
Dieser Bericht gibt einen Einblick in die Konzepte, Installation und Konfiguration der beiden Groupware-Lösungen Kolab 2 und des auf Kolab 2 basierenden Univention Groupware Servers.
Einführung
Eine Groupware hat die Aufgabe, die Kommunikation innerhalb von kleinen und großen Organisationen und Benutzergruppen durch eine gemeinsame Verwaltung von Terminen, Kontakten, Aufgaben und E-Mails zu verbessern.
Die freie Groupware Kolab wurde ab dem Jahr 2002 im Auftrag des BSI von den drei Firmen erfrakon aus Stuttgart, Intevation aus Osnabrück und Klarälvdalens Datakonsult AB aus Schweden entwickelt. Ziel dabei war es, eine Alternative zu Microsoft Exchange zu entwickeln, die auf Open-Source-Technologien beruht und auch einen Linux-Client mit KDE einbindet. Im Sommer 2003 wurde Kolab 1 vorgestellt und zwei Jahre später der Nachfolger Kolab 2. Die drei Entwicklerfirmen bildeten im vergangenen Jahr das Kolab-Konsortium, um professionelle Unterstützung für den Einsatz von Kolab zu leisten.
Das Kolab-Konsortium hat sich im Herbst 2005 mit dem Bremer Linux-Spezialisten Univention auf eine weitgehende Kooperation geeinigt. Kern der Vereinbarung ist die Integration von Kolab 2 in die Linux-Komplettlösung Univention Corporate Server (UCS). Das Produkt trägt den Namen Univention Groupware Server (UGS).
Kolab 2
Die Grundidee hinter der Groupware-Lösung Kolab 2 ist es, alle Daten der Groupware-Teilnehmer in einem IMAP-Server zu speichern. Also neben E-Mails auch Termine, Aufgaben und persönliche Kontakte. Diese Daten werden in MIME/XML-Strukturen auf dem IMAP-Server hinterlegt.
Als IMAP-Server wird der Cyrus IMAPD in der Version 2.2 verwendet. Zusätzlich finden in Kolab 2 weitere Standardprogramme und -technologien ihren Einsatz, dazu gehören unter anderem Cyrus SASL, Postfix, OpenLDAP, OpenSSL und Apache.
Auf dem Linux-Desktop setzt der KDE-Groupware-Client Kontact, entweder in der Version 1.2 aus KDE 3.5, oder aus dem proko2-Branch, die Fähigkeiten des Kolab-2-Servers am besten um. Vorzugsweise wird Outlook als Windows-Client verwendet, dabei wird ein kommerzielles Outlook-Plugin, ein Connector, benötigt. Es besteht dabei auch die Möglichkeit, dass Benutzer einen Linux-Client und einen Windows-Client parallel verwenden, aber dazu später mehr.
Die Postfächer der Benutzer können auf beliebig vielen Kolab-Servern verteilt werden, wodurch ein hohe Skalierbarkeit erreicht wird.
Installation
Die Bestandteile von Kolab 2 liegen als OpenPKG-Pakete in Source-Form oder als vorkompilierte Pakete für Debian Woody und Debian Sarge vor. Nachdem die Sourcen oder die binären Pakete heruntergeladen wurden, können diese mit dem Befehl
sh obmtool kolab
übersetzt bzw. installiert werden. Falls die Sourcen verwendet werden, so kann die Übersetzung der Quellen je nach Rechnergeschwindigkeit einige Stunden dauern.
Nach erfolgreicher Installation der Pakete muss die Kolab-Umgebung konfiguriert werden. Die Konfiguration wird mit dem Programm kolab_bootstrap
gestartet, dabei wird zunächst überprüft, ob die benötigten Ports bereits belegt sind. Auf einer Standard-Debian-Sarge-Installation läuft in der Regel bereits der Mail Transport Agent (MTA) exim auf Port 25.
sarge:/# /kolab/etc/kolab/kolab_bootstrap -b KOLAB BOOTSTRAP Check for running webserver on port 80 Check for running webserver on port 443 Check for running imap server on port 143 Check for running imap server on port 220 Check for running imap server on port 585 Check for running imap server on port 993 Check for running pop3 server on port 109 Check for running pop3 server on port 110 Check for running pop3 server on port 473 Check for running pop3 server on port 995 Check for running smtp server on port 25 Error: Found smtp server running on Port 25 Check your installation! You must stop the service smtp server before running Kolab You may try to execute "/kolab/bin/openpkg rc all stop" initially sarge:/#
Nach dem Beenden des entsprechenden Dienstes kann die Konfiguration erneut gestartet werden.
sarge1:~/kolab-binary# /etc/init.d/exim4 stop Stopping MTA: exim4. sarge1:~/kolab-binary# /kolab/etc/kolab/kolab_bootstrap -b KOLAB BOOTSTRAP Check for running webserver on port 80 Check for running webserver on port 443 Check for running imap server on port 143 Check for running imap server on port 220 Check for running imap server on port 585 Check for running imap server on port 993 Check for running pop3 server on port 109 Check for running pop3 server on port 110 Check for running pop3 server on port 473 Check for running pop3 server on port 995 Check for running smtp server on port 25 Check for running smtp server on port 465 Check for running ftp server on port 21 Check for running Amavis Virus Scanner Interface on port 10024 Check for running Kolab daemon on port 9999 Check for running OpenLDAP server on port 636 Check for running OpenLDAP server on port 389 Check for running Sieve server on port 2000 Excellent all required Ports are available! LDAP repository is empty - assuming fresh install
Anschließend werden in dem Skript kolab_bootstrap unterschiedliche Informationen abgefragt, beispielsweise ob dies der erste Kolab-Server ist und diverse Konfigurationen für die Zertifikatsgenerierung. Für den ersten Kolab-Server können die Abfragen wie folgt beantwortet werden:
Hostname including Domain Name: sarge.kolab.test Do you want to set up (1) a master Kolab server or (2) a slave [1] (1/2): 1 Please enter your Maildomain - if you do not know your mail domain use the fqdn from above [kolab.test]: kolab.test Please choose a manager password [rS4ji0Ed65TPLZFy]: kolabtest Enter fully qualified hostname of slave kolab server e.g. thishost.domain.tld [empty when done]: Do you want to create CA and certificates [y] (y/n): y Enter organization name [Kolab]: Univention Enter organizational unit [Test-CA]: CA certificate filename (or enter to create) Enter pass phrase for /kolab/etc/kolab/ca/private/cakey.pem: Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
Am Ende sollte die Ausgabe der folgenden ähnlich sein.
kolab is now ready to run! please run '/kolab/bin/openpkg rc all start' Use login=manager and passwd=kolabtest when you log into the webinterface https://sarge.kolab.test/admin ! sarge:/#
Und die Kolab-Dienste können gestartet werden.
sarge:/# /kolab/bin/openpkg rc all start OpenPKG: start: openpkg, openldap, sasl, spamassassin, amavisd, apache, clamav OpenPKG: start: dcron, imapd, postfix, proftpd, kolabd. sarge:/#