Open-Xchange ist eine Workgroup Software der extra Klasse. Die gesamte Software läuft in allen gängigen Browsern, auch im iPhone, und bietet mit allen WEB 2 Standards eine hervorragend leicht zu bedienende und überschaubare Oberfläche. Will man seine Mails, Kontakte und Termine in der Gruppe bzw. Unternehmen proffesionel regeln, so ist man mit Open-XChange gut beraten. Mehr Informationen zu Open-XChange erhält man auf der offiziellen Webseite Open-XChange.

Die Software gibt es auch als “Community Edition” unter der GPL Lizenz. Sie steht also kostenlos zur verfügung. Ich geh hier auf die Installation unter Ubuntu 8.04 ein. Obwohl die Installtionsschritte auch auf der Webseite des Herstellers in english stehen, gibt es da oft viele Fragen. Manche wünschen sich die Beschreibung auch mal in deutsch.
Die Voraussetzung für diese Installation ist ein funktionierendes Ubuntu 8.04 System mit laufähiger Mail Server Installation. Eines vorweg genommen, OX ist kein Mail Server, sondern “nur” die Oberfläche für diesen.
Ein Mail Server kann hier ein Postfix als Mailserver und Cyrus oder Dovecot oder ein anderes Programm für die Postfachverwatung sein.
Cyrus bietet den Vorteil, dass er SIEVE von Haus aus mitbringt. SIEVE ist ein “Filter”, der beim Eingang der Mails ins Postfach, vorgegebene Aufgaben ausführt. Dies kann eine Abwesenheitsnotiz, oder das Verschieben der Mail ins Spamverzeichnis sein, und vieles mehr. Bei Dovecot z.B. muss Dovecot mit SIEVE als Dienst manuel Kompeliert werden. Bei der standard Installation als Paket ist zwar Sieve dabei, aber nicht als Dienst und somit lässt sich das SIEVE Plugin im OX nicht verwenden.
Ich verwende Dovecot, da es viele Vorteile gegenüber Cyrus hat. Auf dieses Thema will ich hier aber nicht näher eingehen da es zu umfangreich ist.
Dazu erweitern wir unser Ubuntu Repository folgend:
$ sudo vim /etc/apt/sources.list [...] deb http://download.opensuse.org/repositories/server:/OX:/ox6/xUbuntu_8.04/ /
Aktuallisieren das Repository:
$ sudo aptitude update
und installieren anschließend die Open-XChange Pakete:
$ sudo aptitude install mysql-server \ open-xchange open-xchange-authentication-database \ open-xchange-admin-client open-xchange-admin-lib \ open-xchange-admin-plugin-hosting open-xchange-admin-plugin-hosting-client \ open-xchange-admin-plugin-hosting-lib open-xchange-configjump-generic \ open-xchange-admin-doc open-xchange-contactcollector \ open-xchange-conversion open-xchange-conversion-engine \ open-xchange-conversion-servlet open-xchange-crypto \ open-xchange-data-conversion-ical4j open-xchange-dataretention \ open-xchange-dataretention-csv open-xchange-genconf open-xchange-genconf-mysql \ open-xchange-imap open-xchange-mailfilter \ open-xchange-management open-xchange-monitoring \ open-xchange-passwordchange-database open-xchange-passwordchange-servlet \ open-xchange-pop3 open-xchange-publish open-xchange-publish-basic \ open-xchange-publish-infostore-online open-xchange-publish-json \ open-xchange-publish-microformats open-xchange-push-udp \ open-xchange-resource-managerequest open-xchange-server \ open-xchange-settings-extensions open-xchange-smtp \ open-xchange-spamhandler-default open-xchange-sql open-xchange-subscribe \ open-xchange-xerces-sun open-xchange-subscribe-json \ open-xchange-subscribe-microformats open-xchange-subscribe-crawler \ open-xchange-templating open-xchange-timer open-xchange-unifiedinbox \ open-xchange-admin-plugin-hosting-doc open-xchange-charset \ open-xchange-control open-xchange-easylogin \ open-xchange-group-managerequest open-xchange-i18n open-xchange-jcharset \ open-xchange-sessiond \ open-xchange-configjump-generic-gui \ open-xchange-gui open-xchange-online-help-de \ open-xchange-online-help-en open-xchange-online-help-fr
Bei der Installation kommt eine Warnung, dass die Pakete nicht signiert sind. Diese bestätigen wir mit “Y”.
So weit so gut. Jetzt haben wir OX auf unseren System und müssen es noch Konfigurieren. Dazu legt OX seine Informationen in eine MySQL Datenbank ab. Ich geh hier von einer laufenden MySQL Server Installation ab.
Allerdings geht OX davon aus, das kein root Password gesetzt wurde. Dies ist und sollte die falsche Annahme sein. Daher schalten wir das Password für die dauer der Installation ab.
mysqladmin password "" -p
Der Befehl muss mit dem “alten” Password bestätigt werden. Bitte nicht vergessen nach der Installation das Password wieder zu setzten!
mysqladmin password "mein-super-geheimes-password"
Zusätzlich ergänze ich während der Installation die Pfadangaben mit dem Pfad zur OX
echo PATH=$PATH:/opt/open-xchange/sbin/ >> ~/.bashrc && . ~/.bashrc
Jetzt haben wir alle Vorbereitungen erledigt und können endlich OX konfigurieren.
Als erstes initialisieren wir die Open-Xchange configdb Datenbank. Dies erledigen wir mit dem initconfigdb script.
$ /opt/open-xchange/sbin/initconfigdb --configdb-pass=<mein_db_password> -a
Mit der -i Option kann eine Bereits vorhandene Open-Xchange configdb Datenbank gelöscht werden. Hier handelt es sich nicht um die oxdatabase_6 Datenbank.
Vor dem starten des Admin Dienstes, müßen alle Konfigurationsdateien richtig gesetzt werden.
Die option –configdb-pass ist das Kennwort für die zuvor erstellte Open-Xchange Datenbank, die Option –master-pass ist das Kennwort des Open-Xchangeadminmasters Benutzers, welcher bei der Ausführung des oxinstaller scripts erstellt wird.
$ /opt/open-xchange/sbin/oxinstaller --add-license=YOUR-OX-LICENSE-CODE \ --servername=oxserver --configdb-pass=mein_db_password \ --master-pass=admin_master_password --ajp-bind-port=localhost
Notiz: Im cluster Betrieb muss die Option
-–ajp-bind-port mit * gesetzt sein.
Seit der Version 6.12 ist die Option -–add-license=YOUR-OX-LICENSE-CODE dazu gekommen. Wer aber nicht plant Open-xchange zu Lizensieren, kann auch die Option -–no-license verwenden.
Nach dem initialisieren der configuration, starten wir den Open-Xchange Administration Dienst:
$ sudo /etc/init.d/open-xchange-admin start
Als nächstes registrieren wir den lokalen Server in der Datenbank.
Also in der Open-Xchange configdb
$ sudo /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P <admin_master_password>
Jetzt benötigen wir noch ein lokales Verzeichnis, in den Open-Xchange seine Daten ablegen kann. In diesen Verzeichnis findet sich alle Infostore Inhalte und alle Dateianhänge aus Groupware Objekten. Dafür benötigt der Open-Xchange Groupware Dienst, bzw. der Benutzer unter dem er ausgeführt wird, Zugriffsberechtigungen auf das Verzeichnis.
$ sudo mkdir /var/opt/filestore $ sudo chown open-xchange:open-xchange /var/opt/filestore
Nun registrieren wir noch unser Verzeichnis beim Open-Xchange Server:
$ sudo /opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P <admin_master_password> -t file:///var/opt/filestore
Zu letzt registrieren wir die Groupware Datenbank. In dieser werden alle Groupware spezifischen Daten gespeichert:
$ sudo /opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P <admin_master_password> -n oxdatabase -p <db_password> -m true
Die Installation ist so weit fertig. Es muss nur muss noch das Web Interface/GUI im Apache Web Server eingebunden werden. Dies erledigen wir mit dem mod_proxy_ajp Modul. Um die Geschwindigkeit der GUI zu verbessern, ist die Verwendung der Module mod_expires und mod_deflate zwingend notwendig. Diese Module begrenzen die Client-Anfragen und komprimieren den Datenfluss.
$ sudo a2enmod proxy $ sudo a2enmod proxy_ajp $ sudo a2enmod expires $ sudo a2enmod deflate $ sudo a2enmod headers
Die Module müssen noch aktiviert werden:
$ sudo /etc/init.d/apache2 force-reload
Nun müssen wir für das Modul mod_proxy_ajp eine neue Apache Konfigurationsdatei erstellen:
$ vim /etc/apache2/conf.d/proxy_ajp.conf Order deny,allow allow from all ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5 ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5 ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5 ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5 ProxyPass /publications ajp://127.0.0.1:8009/publications smax=0 ttl=60 retry=5
Anschließend ändern wir die default Webseiten konfiguration damit die Open-Xchange GUI angezeigt wird:
$ vim /etc/apache2/sites-available/default <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /var/www/> AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /ox6/ </Directory> ExpiresActive On ExpiresByType image/gif "access plus 23 hours" ExpiresByType image/png "access plus 23 hours" ExpiresByType image/jpg "access plus 23 hours" ExpiresByType image/jpeg "access plus 23 hours" ExpiresByType text/javascript "access plus 23 hours" ExpiresByType text/css "access plus 23 hours" ExpiresByType text/html "access plus 23 hours" ExpiresByType application/x-javascript "access plus 23 hours" <Files ~ "\.(js|css|gif|jpe?g|png)$"> Header append Cache-Control "public" </Files> DeflateFilterNote ratio AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary </VirtualHost>
Anschließend starten wir den Apache Server neu, damit alle Änderungen aktiv werden.
Jetzt ENDLICH können die Open-Xchange Groupware, bzw. den Service, starten:
Wenn wir jetzt die Adresse unseres Servers im Browser angeben und /ox6/ ( http://mein_server/ox6/ ) anhängen, sehen wir das Anmeldefenster vom Open-Xchange.
Nur haben wir bis jetzt keinen Benutzer angelegt. Das erledigen wir am besten jetzt. Vorab sei aber gesagt, das Open-Xchange mit sogenannten Contex arbeitet. Ein Contex ist eine Zusammenfassung von Benutzern. Im Grunde kann mann für jedes Unternehmen einen Contex anlegen. Innerhalb eines Contex konnen die Benutzer alle Groupware Funktionen nutzen. Somit macht man den Open-Xchange auch “Mandanten fähig”.
Also legen wir einen Contex an, in dem wir unsere Benutzer anlegen und Groupware Fuktionen nutzen. Dies ist auch der default Contex.
$ /opt/open-xchange/sbin/createcontext -A oxadminmaster -P admin_master_password -c 1 \ -u oxadmin -d "meine Firma" -g Admin -s User -p admin_password -L defaultcontext \ -e oxadmin@meineFirma.de -q 1024 -l de_DE -t Europe/Berlin --access-combination-name=all
Jetzt fehlt uns nur noch ein Benutzer zum Testen:
$ /opt/open-xchange/sbin/createuser -c 1 -A oxadmin -P admin_password -u testuser \ -d "Test User" -g Test -s User -p secret -e testuser@example.com \ --imaplogin testuser --imapserver 127.0.0.1 --smtpserver 127.0.0.1
Ein freies grafisches Interface zum Anlegen vom Contex und Benutzern
OX mit TSL Anbindung
Officielles installations Manual (english)
Dennis Knutti
21. März 2010 um 01:27Hi,
ich wollte mich nur bedanken, sauberes OX install script. Seit langem mal wieder was brauchbares, sauber aufbereitetes!!!!
Besten Dank und Gruß aus berlin
Dennis Knutti
Marius
19. Mai 2010 um 10:20Hallo,
vielen Dank für die verständliche Zusammenfassung
Hier noch zwei Verständnisfragen:
1. darf die “Community Edition” für kommerziell eingesetzt werden ?
2. wenn ja, ist der Funktionsumfang identisch im Vergleich zu den Kaufversionen ?
Bei Punkt 2, die Nutzung von OXtender (weil kostenpflichtig) nicht relevant.
Andersrum ausgedrückt, läßt sich dies als InHouse Lösung für ca. 25 User(–> nur Browserbasiert) schlüsselfertig, komerziell und völlig lizenzfrei (–> Serverplattform und OX) realisieren ?
Oder müssten dabei, Einschränkungen im Funktionsumfang in Kauf genommen werden ?
MW
admin
23. Juni 2010 um 10:09Ja sie darf.
Nur erhält man keinen Support. Also wenn Sie wirklich damit Ihr Geld verdienen, oder vom Mail abhängig sind, sollten sie die Kommerzielle Version später mal kaufen. Eine neu Installation ist nicht notwendig. In der gekauften Version gibt es ausserdem paar Funktionen mehr.