Opengroupware.org ist eine webbasiertes Groupware-Plattform. Sie ist frei verfügbar und kann über ein (kostenpflichtiges) Plugin auch als Ersatz für einen Exchangeserver für Microsoft Outlook dienen. Seinen eigentlichen Charme entwickelt es aber im nativen Einsatz, denn ohne Client-Installation kann jeder Benutzer auf seine Termine, Mails und Gruppenkalender zugreifen. Als Schmankerl gibt es noch eine rudimentäre Projekt und Dokumentenverwaltung dazu.
Die folgende Installationsanleitung beschreibt die Einrichtung eines Ogo-Servers auf einem Debian 3.1 (sarge)-System. Sie beinhaltet die Installation der Groupware-Software und eines Mail-Servers mit IMAP unterstützung, Abholung von Mails per POP3 vom Internetprovider und Versand ins Internet mittels eines SMTP-Relay-Servers.
Wie immer sei gesagt: Alles folgende kommt ohne Garantie. Ich bin für Verbesserungsvorschläge und Ergänzungen offen und dankbar. Und jetzt geht's endlich los.
Installation des Grundsystems und der Opengroupware-Pakete
Ich installiere ein Debian Sarge 3.1R1. Die Installation ist auf einer nicht gerade ultraneuen oder exotischen Hardware unproblematisch. Bei der Hardwareauswahl muss natürlich die Anzahl der Nutzer berücksichtigt werden, aber Ogo ist eigentlich genügsam. Bei der Dimensionierung der Festplatte(n) muss bedacht werden, dass durch den Betrieb des IMAP-Mailservers erstmal alle Mails der Benutzer auf dem Server liegen bleiben. Auch alle Termine und Dokumente werden in der Datenbank auf dem Server gespeichert.
Bei der Partitionierung ist zu bedenken, das die Maildatenbanken und die PostgreSQL-Datenbank des Ogo standardmäßig auf /var liegen.
Nach Installation des Grundsystems trifft man erstmal keine weitere Paketauswahl, das kommt hinterher nach Bedarf. Also lässt man den Server erstmal mit dem Grundsystem starten, geht durch die Konfigurationen (sind nur wenige, die Mail-Konfiguration überspringt man, die kommt erst später), und meldet sich als root an. Dann installiert man erst mal ein paar must-have's:
# apt-get install vim less
Zwischenspiel: Wie man sieht, benutze ich den Editor "vim" zum editieren von Dateien. Hier kann man natürlich seinen Lieblingseditor installieren. Für alle, die noch keinen Lieblingseditor haben, habe ich hier auf der Homepage eine
Kurzanleitung eingestellt.
Dann wird eine zusätzliche Quelle in die Datei "/etc/apt/sources.list" eingetragen:
# vi /etc/apt/sources.list
deb http://download.opengroupware.org/nightly/packages/debian sarge trunk
Jetzt geht die Installiererei der Pakete los:
# apt-get update
# apt-get install apache
# apt-get install postgresql
# apt-get install opengroupware.org libapache-mod-ngobjweb xml-core opengroupware.org-environment opengroupware.org-webmail-tools opengroupware.org-skyaptnotify
# apt-get install opengroupware.org1.1-webui-i18n-de
# apt-get install opengroupware.org1.1-webui-theme-blue
Jetzt kann man den Ogo schonmal starten:
# /etc/init.d/opengroupware.org start
Damit der Zugriff auf die Datenbank von den Rechnern im Netzwerk klappt, schreibt man eine neue Konfigurationsdatei für die PostgreSQL-Datenbank und startet diese neu:
# mv /etc/postgresql/pg_hba.conf /etc/postgresql/pg_hba.conf.old
# vi /etc/postgresql/pg_hba.conf
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 0.0.0.0 255.255.255.255 reject
# /etc/init.d/postgresql restart
# /etc/init.d/opengroupware.org restart
Wenn die Installation so wie hier vorgegeben durchgeführt wird, stellt das Paket openoffice.org-environment den Apache Webserver so ein, dass der Ogo-Server über "http://[ip-des-servers]/OpenGroupware" angesprochen werden kann
Wenn das nich der Fall sein sollte, muss man in der Konfigurationsdatei des Apache "/etc/apache/httpd.conf" noch folgendes vor der letzten Zeile eingefügt werden:
<LocationMatch "^/OpenGroupware/*">
SetHandler ngobjweb-adaptor
SetAppPort 20000
</LocationMatch>
Alias /OpenGroupware.woa/WebServerResources/ /usr/share/opengroupware.org-1.1/www/
<Directory /usr/share/opengroupware.org-1.1/www/>
Order allow,deny
Allow from all
</Directory>
(Danke für den Code an Martin Hauptmann aus dem Ogo-Forum und für den Hinweis darauf an Henrik Kiepe)
Jetzt noch den Apache neu starten mit "/etc/init.d/apache restart". Das war's für den OGO, der läuft jetzt. Er ist jetzt im Browser über "http://[ip_des_servers]/OpenGroupware" zu erreichen.
Installation und Einrichtung des Postfix-Servers (Mailversand)
Nun geht's an den Mailserver. Ich hab ihn mal auf der selben Maschine aufgesetzt, grundsätzlich spricht aber nichts dagegen, einen dedizierten Mailserver zu benutzen. Man kann das im Ogo bei den Benutzern einstellen. Jetzt aber weiter im Text:
# apt-get install postfix
Nach der Installation kommen einige Fragen zur Konfiguration. Bei der Grundkonfiguration den Punkt "Internet with smarthost" wählen und den Hostnamen und den smtp-server angeben. Hierzu noch eine Anmerkung: Diese Konfiguration beruht darauf, dass wir die Mail für alle Benutzer über einen SMTP-Relayserver schicken können. Das muss natürlich der Provider zulassen. Ich schicke ja Mails mit den unterschiedlichsten Absendern. Die meisten Provider erlauben dass, wenn eine Anmeldung am SMTP-Server erfolgt. Dies wird hier in der Konfiguration berücksichtigt.
# apt-get install postfix-tls
# apt-get install libsasl2-modules libsasl2-modules-kerberos-heimdal libsasl2-modules-gssapi-heimdal
# apt-get install sasl2-bin
Jetzt editiert man die Datei /etc/postfix/main.cf, sie muss folgende Zeilen enthalten:
relayhost = [smtp-server des Providers]
mailbox_transport = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
und die /etc/postfix/master.cf bekommt die Zeile:
cyrus unix - n n - - pipe user=cyrus argv=/usr/sbin/cyrdeliver -e -r ${sender} -m ${extension} ${user}
Die Datei /etc/postfix/sasl_passwd enthält folgenden Eintrag (Beispiel für 1und1)
smtp.1und1.de m12345678-1:mypass
"m12345678-1" und "mypass" sind durch den Postfachnamen und das dazugehörige Passwort zu ersetzen. Die Rechte der Datei sollten auf 600 gesetzt werden:
# chmod 600 /etc/postfix/sasl_passwd
Jetzt konvertiert man die Datei in .db-Format:
# postmap /etc/postfix/sasl_passwd
und startet Postfix erneut:
/etc/init.d/postfix reload
Installation des IMAP-Servers (Cyrus)
Und jetzt installiert man noch den imap-Server, der für die Aufbewahrung der Post der Benutzer zuständig ist. Durch die zentrale Datenhaltung der Mails kann der Benutzer seine Mails auf jedem Rechner im Netz verwalten. Als erstes kommen mal wieder die notwendigen Pakete auf das System:
# apt-get install cyrus21-imapd cyrus21-common cyrus21-pop3d cyrus21-admin
Danach wird die Konfigurationsdatei /etc/imapd.conf eingerichtet (Details in man imapd.conf). Hier können grundsätzlich die Standardeinstellungen beibehalten werden, jedoch muss ein Administrator bezeichnet werden (hier der Benutzer cyrus):
# ==========================================================
# /etc/imapd.conf
# ==========================================================
[...]
admins: cyrus
[...]
# === EOF /etc/imapd.conf ==================================
Anschließend wird Cyrus mit den neuen Einstellungen gestartet:
# /etc/init.d/cyrus21 restart
Nun muss noch der Benutzer cyrus angelegt werden. Da Cyrus die Authentifizierung über SASL vornimmt geschieht dies so:
# saslpasswd2 -c cyrus
Das Cyrus-System wird mit cyradm verwaltet. So wird es aufgerufen:
# cyradm --user cyrus localhost
Vor hier aus können dann Benutzer angelegt, Rechte verändert, Quota festgelegt und Ordner verwaltet werden. Alle verfügbaren Befehle auflisten (dabei ist "localhost>" die Eingabeaufforderung):
localhost> help
Neue (Toplevel-)Mailbox für einen Benutzer anlegen (dann hat dieser Benutzer ein Cyrus-Account!):
localhost> cm user.[Benutzername]
Dann noch die Mailbenutzer mit
# saslpasswd2 -c benutzer
einrichten. Idealerweise nimmt man die gleichen User und Passwörter wie im Ogo.
Mails für die Benutzer bei einem Provider abholen.
Meistens werden die "echten" Mailadressen der Ogo-Benutzer ja bei einem Provider gehostet. Nun kann man zur Abrundung der Konfiguration noch "fetchmail" installieren, um die Post beim Provider abzuholen und an den IMAP-Server für die lokalen Benutzer weiterzuleiten. Wie gewohnt installiert man das Paket mit:
apt-get install fetchmail
Dann erstellt man eine Datei /etc/fetchmairc/
# ==========================================================
# /etc/fetchmailrc
# ==========================================================
set syslog
poll [Mail-Server] protocol [Protokoll] \
user "[Benutzername]" password "[Passwort]" \
smtpname [IMAP-Benutzername];
# --- ggf. weitere poll-Einträge
Die Werte in den eckigen Klammern müssen durch die entsprechenden Daten des Providers ersetzt werden. Als Protokoll kommt in der Regel pop3 zu Einsatz. Die Rechte der Datei muss man wie folgt setzen:
# chmod 600 /etc/fetchmailrc
# chown fetchmail /etc/fetchmailrc
Mit einem beherzten
# /etc/init.d/fetchmail restart
wird dann fetchmail aktiviert und holt fortan alle 5 Minuten die Post ab.
Mit dieser Konfiguration sollte ein reibungsloser Betrieb des Ogo-Servers möglich sein. Natürlich kann an einigen Schräubchen noch verfeinert und verbessert werden.
Zunächst einmal sollte man sich in die Möglichkeiten des Ogo-Servers anhand der Dokus auf der
Homepage einarbeiten.


Ogo-Server installieren

