Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Anmerkung: Aktuelle Versionen setzen zwingend ein 64-bit-System voraus.
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Scalable OpenGroupware.org (SOGo) ist eine Groupware-Lösung unter GPL-Lizenz. Sie ermöglicht Benutzern den komfortablen, gemeinsamen Umgang mit E-Mail, Adressbüchern und Kalendern. Die Groupware setzt ausschließlich auf gut dokumentierte und offene Schnittstellen. Von zentraler Bedeutung ist der CalDAV-Support (CalDAV, CardDAV und GroupDAV).
Die Weboberfläche mit AJAX-Unterstützung erlaubt eine Nutzung unabhängig von Betriebssystemen oder Programmen. Eine Online-Tour und eine Online-Demo vermitteln einen ersten Eindruck des System.
Thunderbird kann mit entsprechenden Erweiterungen als Frontend genutzt werden. Mobile Endgeräte (iPhone, iPad usw.) werden direkt per CalDAV angebunden.
Ab SOGo 2.0 ist die native Anbindung von Outlook via OpenChange enthalten. Für Outlook 2003, 2007 oder 2010 verhält sich SOGo damit wie ein echter Exchange-Server, ohne dass zusätzliche Outlook-Plugins installiert werden müssen (Demo-Video - SOGo and Outlook ).
SOGo greift auf mehrere Komponenten zurück, deren Installation und Konfiguration (zumindest die Basis-Einstellungen) bereits vorab erledigt werden sollte:
Mailserver: POP- und IMAP-Server wie z.B. Postfix und Cyrus (siehe auch Mailserver Einführung)
Datenbankserver: MySQL oder PostgreSQL
Benutzerverwaltung: OpenLDAP ab Precise
Synchronisierung: Funambol (optional)
SOGo ist nicht in den offiziellen Paketquellen enthalten. Die Entwickler stellen aber eine Fremdquelle zur Verfügung. Alternativ steht mit ZEG eine vorkonfigurierte virtuelle Maschine basierend auf Ubuntu 14.04 zur Verfügung (siehe auch Virtualisierung).
Um aus der Fremdquelle zu installieren, muss man unabhängig von der Ubuntu-Version die folgende Paketquelle freischalten.
Zusätzliche Fremdquellen können das System gefährden.
Dazu die folgende Zeile manuell in die Datei /etc/apt/sources.list eintragen:
deb http://inverse.ca/ubuntu VERSION VERSION
Für VERSION
verwendet man den Codenamen der jeweiligen Ubuntu-Version. Beispiel für Ubuntu 12.04:
deb http://inverse.ca/ubuntu precise precise
Um die Fremdquelle zu authentifizieren, kann man den Signierungsschlüssel mit folgendem Befehl importieren:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x810273C4
Nach dem Aktualisieren der Paketquellen kann SOGo über das folgende Paket installiert [1] werden:
sogo
mit apturl
Paketliste zum Kopieren:
sudo apt-get install sogo
sudo aptitude install sogo
Da die Konfiguration von SOGo sehr komplex sein kann, wird nachfolgend ein einfacher Weg beschrieben, um schnell zu ersten Ergebnissen zu gelangen. Als Datenbank wird MySQL (auf dem gleichen Rechner!) verwendet und auf die Einrichtung von Funambol verzichtet. Voraussetzung ist allerdings ein funktionierender Mailserver sowie ein vorhandenes LDAP-Verzeichnis!
Über die folgenden Befehle werden sowohl eine Datenbank als auch ein Datenbankbenutzer sogo
eingerichtet. Der Benutzer erhält vollen Zugriff auf die Datenbank:
mysql -u root -p mysql> CREATE DATABASE `sogo`; mysql> CREATE USER 'sogo'@'localhost' IDENTIFIED BY 'sogo_passwd'; mysql> GRANT ALL PRIVILEGES ON `sogo`.* TO 'sogo'@'localhost' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> exit
Für den Webserver Apache wird die Datei /etc/apache2/conf.d/SOGo.conf mit folgendem Inhalt benötigt:
Alias /SOGo.woa/WebServerResources/ \ /usr/lib/GNUstep/SOGo/WebServerResources/ Alias /SOGo/WebServerResources/ \ /usr/lib/GNUstep/SOGo/WebServerResources/ AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \ /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2 <Directory /usr/lib/GNUstep/SOGo/> AllowOverride None Order deny,allow Allow from all </Directory> <LocationMatch "^/SOGo/so/ControlPanel/Products/.*UI/Resources/.*\.(jpg|png|gif|css|js)"> SetHandler default-handler </LocationMatch> ProxyRequests Off SetEnv proxy-nokeepalive 1 ProxyPreserveHost On ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 <Proxy http://127.0.0.1:20000/SOGo> RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0" RequestHeader set "x-webobjects-remote-host" "127.0.0.1" AddDefaultCharset UTF-8 Order allow,deny Allow from all </Proxy>
Anschließend werden die Module proxy
, headers
und rewrite
aktiviert und der Webserver neu gestartet:
sudo a2enmod proxy proxy_http headers rewrite sudo service apache2 restart
Für den Webserver Nginx wird die Datei /etc/nginx/sites-available/sogo mit folgendem Inhalt benötigt (der Hostname ist sinnvoll anzupassen):
server { listen 80 default; server_name HOSTNAME; ## redirect http to https ## rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; server_name HOSTNAME; root /usr/lib/GNUstep/SOGo/WebServerResources/; ssl on; ssl_certificate /etc/nginx/sslcerts/mycertificate.crt; ssl_certificate_key /etc/nginx/sslcerts/mykey.key; location = / { rewrite ^ https://$server_name/SOGo; allow all; } # For IOS 7 location = /principals/ { rewrite ^ https://$server_name/SOGo/dav; allow all; } location ^~/SOGo { proxy_pass http://127.0.0.1:20000; proxy_redirect http://127.0.0.1:20000 default; # forward user's IP address proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header x-webobjects-server-protocol HTTP/1.0; proxy_set_header x-webobjects-remote-host 127.0.0.1; proxy_set_header x-webobjects-server-name $server_name; proxy_set_header x-webobjects-server-url $scheme://$host; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; client_max_body_size 50m; client_body_buffer_size 128k; break; } location /SOGo.woa/WebServerResources/ { alias /usr/lib/GNUstep/SOGo/WebServerResources/; allow all; } location /SOGo/WebServerResources/ { alias /usr/lib/GNUstep/SOGo/WebServerResources/; allow all; } location ^/SOGo/so/ControlPanel/Products/([^/]*)/Resources/(.*)$ { alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; } location ^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\.(jpg|png|gif|css|js)$ { alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; } }
Anschließend wird die Datei verfügbar gemacht:
ln -s /etc/nginx/sites-available/sogo /etc/nginx/sites-enabled/sogo
und nginx neu gestartet:
sudo /etc/init.d/nginx restart
Im folgenden Beispiel erfolgt die Konfiguration über das Skript sogo.script. Einige Voreinstellungen wie Zeitzone und Sprache sind bereits angepasst, eigene Angaben zu LDAP und Domain müssen noch ergänzt bzw. korrigiert werden. Zur Erstellung des Skripts wechselt man zuerst den Benutzer:
sudo su - -s /bin/bash sogo
und bearbeitet die Einstellungen den eigenen Bedürfnissen entsprechend. Alle erforderlichen Parameter sind im SOGo - Installation and Configuration Guide (PDF), Kapitel "General Preferences" erläutert.
defaults write sogod SOGoTimeZone "Europe/Berlin" defaults write sogod SOGoMailDomain "example.com" defaults write sogod SOGoLanguage German defaults write sogod SOGoAppointmentSendEMailNotifications YES defaults write sogod SOGoFoldersSendEMailNotifications YES defaults write sogod SOGoACLsSendEMailNotifications YES defaults write sogod SOGoCalendarDefaultRoles '("PublicViewer","ConfidentialDAndTViewer")' defaults write sogod SOGoUserSources '({CNFieldName = cn;IDFieldName = uid;UIDFieldName = uid;baseDN = "ou=people,dc=example,dc=com";bindDN = "cn=mgr,dc=example,dc=com";bindPassword = secret;canAuthenticate = YES;displayName = "Shared Addresses"; hostname = "127.0.0.1";id = public; isAddressBook = YES;port=389;})' defaults write sogod SOGoMailingMechanism smtp defaults write sogod SOGoSMTPServer mail.example.com defaults write sogod SOGoIMAPServer mail.example.com defaults write sogod SOGoMemcachedHost 127.0.0.1 defaults write sogod SOGoEnableEMailAlarms YES defaults write sogod OCSFolderInfoURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_folder_info" defaults write sogod SOGoProfileURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_user_profile" defaults write sogod OCSEMailAlarmsFolderURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_alarms_folder" defaults write sogod OCSSessionsFolderURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_sessions_folder"
Dann werden die Rechte angepasst und das Skript ausgeführt:
chmod +x sogo.script ./sogo.script exit
Mit dem abschließenden exit
kehrt man zum vorherigen Benutzer zurück. Last, not least sollte man noch einen systemweiten Cron-Job (mit Root-Rechten) einrichten, um E-Mail-basierte Erinnerungs- und Weckfunktionen zu aktivieren:
* * * * * sogo /usr/sbin/sogo-ealarms-notify
SOGo Weboberfläche |
Der Zugriff auf SOGo erfolgt wahlweise über
die Weboberfläche via
http://<Server-IP>/SOGo
oder
http://localhost/SOGo (letzteres nur direkt auf dem Rechner mit SOGo)
geeignete E-Mail-Programme wie z.B. Thunderbird (bei Bedarf inkl. Lightning) oder Apple iCal; siehe auch Frontends
PDAs/Smartphones wie Android, Blackberry, iPhone oder Palm
Der Dienst selbst wird über folgenden Befehl gesteuert:
sudo service sogo [start|stop]
Mit sogo-tool
steht ein Werkzeug für die Kommandozeile zur Verfügung, das die Administration erleichtert. Nachfolgend nur einige Beispiele, der volle Funktionsumfang ist in der Dokumentation beschrieben.
Alle Postfächer sichern:
sudo -u sogo sogo-tool backup ausgabe-ordner ALL
Der angegebene Ordner wird automatisch erzeugt. Soll nur das Postfach eines einzelnen Benutzers gesichert werden:
sudo -u sogo sogo-tool backup ausgabe-ordner benutzer
Um ein Postfach wiederherzustellen, verwendet man zuerst:
sudo -u sogo sogo-tool restore -l ausgabe-ordner benutzer
Damit erfährt man die folderid
und weitere Informationen. Mit:
sudo -u sogo sogo-tool restore -f folderid ausgabe-ordner benutzer
wird dann ein Benutzer-Postfach - nicht-destruktiv! - wiederhergestellt. Alle Postfächer werden mit:
sudo -u sogo sogo-tool restore -f ALL ausgabe-ordner
wiederhergestellt. Mit der Option -F
statt -f
gehen alle vorhandenen Daten verloren! - es wird nur exakt die letzte Sicherung eingespielt. Nicht vergessen sollte man den Befehl:
sudo -u sogo sogo-tool restore -p ausgabe-ordner benutzer
Dieser sichert die individuellen Benutzereinstellungen zurück.
FAQ - immer wieder gestellte Fragen
Fertige SOGo Virtual Appliance (Ubuntu) für Virtualbox und VMWare
SOGo - Wikipedia
iCal4OL - kommerzielle Software zur Einbindung von Outlook
DavMail Gateway - POP/IMAP/SMTP/Caldav/Carddav/LDAP Gateway für Exchange
Hilfeseiten für Anwender (Mail, Kalender, Thunderbird, Apple iCal, iPhone, Android)
Diese Revision wurde am 25. September 2015 11:17 von aasche erstellt.