Opensource-Chatlösung für Unternehmen – Teil 1 (Serverinstallation)

Es ist schon ein paar Tage her, wo ich mich gefragt habe, wie ich die Kommunikation meiner Arbeitskollegen über mehrere Standorte hinweg verbessern könnte.

Schnell kam ich auf die Idee, einen Instantmessenger einzusetzen, um die Lücke zwischen Telefon und E-Mail zu schließen.

Meine Anforderungen an einen solchen Dienst sind folgende:

  • nur netzinterne Kommunikation
  • Möglichkeiten zum Datenaustausch
  • Zentrale Verwaltung der Buddylisten (damit nicht jeder einen neuen Kontakt manuell bei sich einladen muss)
  • Anbindung an einen Windows 2003 Server mit  Active Directory

Als ersten Kandidaten hatte ich den Live Communication Server 2005 von Microsoft im Einsatz. Im großen und ganzen hat diese (nicht kostenfreie) Lösung in Verbindung mit dem Windows Messenger 5.1 ganz zufriedenstellend funktioniert. Als ich eine zweite Netzwerkkarte in den Server installiert habe, gab es damit aber Probleme. Da mir dieses MS-Produkt sowieso nie sympatisch war(kostet Geld, schlechter Support, schlecht Erweiterbar) , habe ich mich dann nach einer Alternative umgesehen und auch eine gefunden.

Seit mehr als einem Jahr setzen wir nun den Jabber-Server Openfire von ignite realtime  ein. Dieser ist unter der GPL lizensiert und ist um einiges Leistungsfähiger als das MS-Produkt.

Openfire ist in Java programmiert und somit für Windows, Linux und MAC verfügbar. Es wird komplett per Webinterface administriert und ist über Plugins erweiterbar.

Installation von Openfire auf einem Windows 2003 Server mit Active-Directory-Anbindung:

Nach dem Runterladen der entsprechenden EXE-Datei (also die Version mit JRE) wird diese gestartet und mittels des Assistenten installiert.

openfire

Anschließend kann man die angegebene Adresse über einen Webbrowser aufrufen. Es funktioniert hier auch die reguläre IP-Adresse des Servers. Die Adresse ist nicht auf localhost beschränkt.

Es begrüßt einen das Setup und fragt nach der zu wählenden Sprache:

Anschließend die Servereinstellungen:

openfire-sprachwahl1

Anschließend wird nach dem Servernamen gefragt:

openfire-sprachwahl2

Auswahl ob die Intere Datenbank verwendet werden soll oder eine externe wie MySQL. Da wir unsere Daten per Active-Directory abrufen, reicht die interne aus.

openfire-datenbank

Jetzt wird es spannend:

openfire-ldap1

Anschließend sie die Active Directory Daten einzutragen.

Meine Domäne heißt: bibliothek.fh-aachen.de

In Host kommt die IP-Adresse oder der DNS-Name des Active Directory Servers. Der Port kann so bleiben.

Base DN ist die Adresse wo die Benutzeraccounts abgespeichert sind. Bei mir gibt es im Active Directory eine Organisationseinheit die Mitarbeiter heißt und alle Mitarbeiter beinhaltet.

Dort muss also:  ou=“mitarbeiter“,dc=“bibliothek“,dc=“fh-aachen“,dc=“de“ hin.

In Authentication sind nun ein Benutzername mit Kennwort zu setzen, der die Daten aus dem LDAP auslesen darf.

Mein Benutzer heißt „openfire“ und liegt im Active Directory unter „Users“

openfire-ldap2

Anschließend werden die verschiedenen LDAP-Felder zu den Datenfeldern von Openfire zugeordnet. Diese Einstellungen können so komplett übernommen werden.
Am wichtigsten ist hier das Username Field: sAMAccountName

Ob das ganze funktioniert, kann mittels des „Test Settings“-Button überprüft  werden.

openfire-ldap31

Jetzt fehlt nur noch das Group Mapping. Dieses ist nicht zwingend notwendig, wird aber für die Vorbelegung einer Buddyliste benötigt.

An dieser Stelle habe ich etwas experiementieren müssen, um die richtigen Einstellungen für ein Active-Directory zu finden:

Group Field: sAMAccountName

Member Field: member

Description Field: description

openfire-ldap41

Ein Klick auf den Testknopf zeigt hier die Mühe der Arbeit:

openfire-ldap5

Im letzten Schritt sind nun die Benutzer mit administrativen Rechten festzulegen. Dort werden nun einfach die Anmeldenamen vom Active Directory eingetragen.

openfire-ldap61

Anschließend ist es geschafft :-)!

openfire-fertig