SOGo Groupware#
Dokumentation einer Test-Konfiguration von SOGo als E-Mail-/Kalender-/Adressbuch-Server
Die Installation erfolgt auf Debian 9.x ("Stretch").
Ich nutze die SOGo-Pakete von SOGo.nu, weil die Version 3.2.6, die in Debian Stretch paketiert ist, beim Teilen von Kalendern und Adressbüchern mit anderen Nutzern keinen funktionierenden Dialog für die Vergabe von Zugriffsrechten besitzt.
Folgende Software-Komponenten müssen installiert und konfiguriert werden:
- LDAP-Server
- PostgreSQL-Datenbank
- Postfix SMTP-Server für den E-Mail-Transport
- Dovecot IMAP-Server für E-Mail Postfächer
- der SOGo-Server
- Apache-Webserver
OpenLDAP#
aptitude install slapd ldap-utils ldapvi
Das Passwort für den LDAP-Admin ist in diesem Schritt egal.
Den LDAP-Server ans das localhost-Interface binden. Dazu in der Datei /etc/default/slapd die Zeile SLAPD_SERVICES wie folgt anpassen:
SLAPD_SERVICES="ldap://127.0.0.1:389/ ldapi:///"
Den LDAP-Server neu starten und mit netstat die Änderung kontrollieren.
systemctl restart slapd.service
netstat -tlpn
Meine eigene Domain konfiguriere ich im LDAP mit dem Kommando
dpkg-reconfigure slapd
Folgende Antworten habe ich bei der Paketkonfiguration gegeben:
- OpenLDAP-Server-Konfiguration auslassen?
- Nein
- DNS-Domainname
- Meine E-Mail-Domain, also zum Beispiel example.com
- Name der Organisation
- Meine Organisation, zum Beispiel Linuxclub e.V.
- Administrator-Passwort
- Ein gutes Passwort für den LDAP-Admin, zum Beispiel Besonders-geheimes-LDAP-Passwort
- Passwort bestätigen
- Besonders-geheimes-LDAP-Passwort
- Zu verwendendes Datenbank-Backend
- MDB
- Soll die Datenbank entfernt werden, wenn slapd vollständig gelöscht wird?
- Nein
- Alte Datenbank verschieben?
- Ja
Zum Schluss erweitere ich das LDAP-Schema um die Erweiterungen des Mail-Programm qmail
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/qmail.ldif
Die Datei qmail.ldif wird vom Debian-Projekt nicht mitgeliefert. Ihr findet eine passende Version als Anlage zu dieser Wiki-Seite.
Ich benutze ldapvi zur Administation des LDAP.
Der Aufruf von ldapvi zum Bearbeiten des LDAP-Verzeichnis:
ldapvi -D cn=admin,dc=example,dc=com -d
Nach Eingabe des Passworts zu cn=admin,dc=example,dc=com bekommt man im vi das Folgende angezeigt:
0 dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Linuxclub e.V.
dc: example
1 cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {SSHA}mvlu89+Yq1LBiCRl05t2hNpEH55RK2M8
Ich ergänze den Knoten ou=users und meinen ersten User-Eintrag, indem ich den Inhalt wie folgt ergänze:
0 dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Linuxclub e.V.
dc: example
1 cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {SSHA}mvlu89+Yq1LBiCRl05t2hNpEH55RK2M8
add ou=users,dc=example,dc=com
ou: users
objectClass: organizationalUnit
objectClass: top
add uid=maxi,ou=users,dc=example,dc=com
uid: maxi
cn: Max Muster
givenName: Max
sn: Muster
mail: max.muster@example.com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: qmailUser
objectClass: top
mailAlternateAddress: maxi@example.com
userPassword: {ssha}4WRzS4hnn3oqd2m1mvwSMPQLB4Lff5ulxPB8ZQ==
Beim Speichern fragt ldapvi nach, ob die beiden neuen Objekt im LDAP angelegt werden sollen.