Debian Open-Xchange: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(86 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Achtung|
Anleitung ist veraltet.}}
==Allgemein==
==Allgemein==
Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich.
Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich.
Zeile 7: Zeile 11:




{{Rechteck3|'''Hinweis:'''
{{Hinweis|
:Der Server sollte mindestens 1GB Ram, besser 2GB Ram haben, damit Open-Xchange sinnvoll eingesetzt werden kann. Die Ajax- und Java basierte Oberfläche hat einen relativ großen Ressourcen-Verbrauch zur Folge.}}
Der Server sollte mindestens 1GB Ram, besser 2GB Ram haben, damit Open-Xchange sinnvoll eingesetzt werden kann. Die Ajax- und Java basierte Oberfläche hat einen relativ großen Ressourcen-Verbrauch zur Folge.}}




Voraussetzungen:
Voraussetzungen:
*[[Debian_Subversion|Subversion]]
*[[Debian_Subversion|Subversion]] zur Installation der Adminoberfläche
*[[Debian_Postfix_und_Cyrus_Imapd|Mailserver]]
*[[Debian_Postfix_und_Cyrus_Imapd|Mailserver]]
*[[Debian_Apache2|Webserver]]
*[[Debian_Apache2|Webserver]]
Zeile 23: Zeile 27:
  vi /etc/apt/sources.list
  vi /etc/apt/sources.list
Folgende Zeile anhängen:
Folgende Zeile anhängen:
  deb http://download.opensuse.org/repositories/server:/OX:/ox6/DebianLenny/ /
* Für Debian 5 (Lenny)
  deb http://software.open-xchange.com/OX6/stable/DebianLenny/ /
deb http://ftp.at.debian.org/debian/ squeeze main non-free
* Für Debian 6 (Squeeze)
deb http://software.open-xchange.com/OX6/stable/DebianSqueeze/ /
deb http://ftp.at.debian.org/debian/ squeeze main non-free


{{Rechteck3|'''Hinweis:'''
Apt-Key importieren:
:Folgende Zeilen stellen einen Befehl dar, der sich über mehrere Zeilen erstreckt.}}
wget http://software.open-xchange.com/oxbuildkey.pub -O - | apt-key add -


  apt-get install ant sun-java5-jdk open-xchange-admin-client open-xchange-admin-soap \
Anschließend muss ein update der Sourceliste durchgeführt werden
open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc \
  apt-get update
open-xchange-admin-plugin-hosting open-xchange-admin open-xchange-axis2 \
 
  open-xchange-authentication-database open-xchange-cache \
Installation der Pakete (mit Hilfe des Meta-Paketes wird eine ganze Reihe weiterer Pakete nachinstalliert):
open-xchange-charset open-xchange-common open-xchange-configjump-generic \
  apt-get install sun-java6-jdk ant open-xchange-meta-singleserver open-xchange-mailfilter  
open-xchange-configread open-xchange-control open-xchange-data-conversion-ical4j \
 
open-xchange-conversion-engine open-xchange-conversion-servlet \
   
open-xchange-global open-xchange-group-managerequest open-xchange-gui \
open-xchange-i18n open-xchange-imap open-xchange-jcharset open-xchange-mailfilter \
open-xchange-management open-xchange-monitoring open-xchange-online-help-de \
  open-xchange-passwordchange-database open-xchange-passwordchange-servlet \
open-xchange-push-udp open-xchange-resource-managerequest open-xchange-server \
open-xchange-sessiond open-xchange-settings-extensions open-xchange-smtp \
open-xchange-spamhandler-default open-xchange open-xchange-contactcollector
 
Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: '''''Tab+Enter'''''
Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: '''''Tab+Enter'''''
Die Java Einverständnis-Frage mit ja beantworten: '''''Cursor links/rechts + Enter'''''
Die Java Einverständnis-Frage mit ja beantworten: '''''Cursor links/rechts + Enter'''''


Open-Xchange funktioniert nur mit der Sun-Java Umgebung korrekt. Falls bereits eine andere Java-Umgebung (z.B. GIJ bzw. GCJ) installiert und aktiviert ist, funktioniert Open-Xchange nicht. Deshalb mittels Befehl:
update-alternatives --config java
Die Java Umgebung auswählen. Der Befehl liefert z.B. folgende Ausgabe:
There are 3 alternatives which provide `java'.
  Selection    Alternative
-----------------------------------------------
          1    /usr/bin/gij-4.3
*+        2    /usr/lib/jvm/java-gcj/jre/bin/java
          3    /usr/lib/jvm/java-6-sun/jre/bin/java
Press enter to keep the default[*], or type selection number:
Im obigen Beispiel mittels 3 die Sun Java-Umgebung auswählen.
Mittels folgendem Befehl die Java-Version überprüfen:
java -version
Die Ausgabe sollte in etwa folgendermaßen aussehen:
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
Die Version sollte 1.6.0 sein. Die folgende Stelle kann evtl. abweichen und stellt kein Problem dar.
AJP-Port, auf dem Open-Xchange auf Anfragen vom Webserver lauscht:
vi /opt/open-xchange/etc/groupware/ajp.properties
Den Eintrag
AJP_PORT=8009
ändern in:
AJP_PORT=8030


===Apache konfigurieren===
===Apache konfigurieren===
Damit Open-Xchange korrekt funktioniert, müssen einige Module aktiviert und Optionen von Apache angepasst werden.
Damit Open-Xchange korrekt funktioniert, müssen einige Module aktiviert und Optionen von Apache angepasst werden.
====Generelle Einrichtung====
  a2enmod proxy
  a2enmod proxy
  a2enmod proxy_ajp
  a2enmod proxy_ajp
Zeile 54: Zeile 87:
  a2enmod deflate
  a2enmod deflate
  a2enmod headers
  a2enmod headers
a2enmod rewrite


  vi /etc/apache2/conf.d/proxy_ajp.conf
  vi /etc/apache2/conf.d/proxy_ajp.conf
Zeile 62: Zeile 96:
  </Proxy>
  </Proxy>
   
   
  ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5
  ProxyPass /axis2 ajp://127.0.0.1:8030/axis2 smax=0 ttl=60 retry=5
  ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5
  ProxyPass /ajax ajp://127.0.0.1:8030/ajax smax=0 ttl=60 retry=5
  ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5
  ProxyPass /servlet ajp://127.0.0.1:8030/servlet smax=0 ttl=60 retry=5
  ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5
  ProxyPass /infostore ajp://127.0.0.1:8030/infostore smax=0 ttl=60 retry=5
ProxyPass /publications ajp://127.0.0.1:8030/publications smax=0 ttl=60 retry=5


  vi /etc/apache2/sites-enabled/000-default
 
Folgende Zeilen am Ende '''(vor der Zeile </VirtualHost>)''' einfügen:
  vi /etc/apache2/conf.d/ox6.conf
    <Directory /var/www/ox6>
Folgende Zeilen einfügen:
        AllowOverride None
<Directory "/var/www/ox6">
        Order allow,deny
  allowOverride None
        allow from all
  Order allow,deny
    </Directory>
  allow from all
    ExpiresActive On
  Options +FollowSymLinks +SymLinksIfOwnerMatch
    ExpiresByType image/gif "access plus 23 hours"
</Directory>
    ExpiresByType image/png "access plus 23 hours"
    ExpiresByType image/jpg "access plus 23 hours"
# deflate
    ExpiresByType image/jpeg "access plus 23 hours"
AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml  text/x-js application/x-javascript
    ExpiresByType text/javascript "access plus 23 hours"
    ExpiresByType text/css "access plus 23 hours"
# pre-compressed files
    ExpiresByType text/html "access plus 23 hours"
AddType text/javascript .jsz
    ExpiresByType application/x-javascript "access plus 23 hours"
AddType text/css .cssz
    <Files ~ "\.(js|css|gif|jpe?g|png)$">
AddType text/xml .xmlz
            Header append Cache-Control "public"
    </Files>
AddEncoding x-gzip .jsz .cssz .xmlz
SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip
ExpiresActive On
<Directory /var/www/ox6/>
# Expires (via ExpiresByType to override global settings)
    ExpiresByType image/gif "access plus 6 months"
    ExpiresByType image/png "access plus 6 months"
    ExpiresByType image/jpg "access plus 6 months"
    ExpiresByType image/jpeg "access plus 6 months"
    ExpiresByType text/css "access plus 6 months"
    ExpiresByType text/html "access plus 6 months"
    ExpiresByType text/xml "access plus 6 months"
    ExpiresByType text/javascript "access plus 6 months"
    ExpiresByType text/x-js "access plus 6 months"
    ExpiresByType application/x-javascript "access plus 6 months"
    ExpiresDefault "access plus 6 months"
    Header append Cache-Control "private"
    Header unset Last-Modified
    Header unset Vary
    # Strip version
    RewriteEngine On
    RewriteRule v=\w+/(.+) $1 [L]
    # Turn off ETag
    Header unset ETag
    FileETag None
</Directory>
   
   
    DeflateFilterNote ratio
<Directory /var/www/ox6/ox.html>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript
    ExpiresByType text/html "now"
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    ExpiresDefault "now"
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    Header unset Last-Modified
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
    Header append Vary User-Agent env=!dont-vary
    # Turn off ETag
sodass das Ende des Files /etc/apache2/sites-enabled/000-default folgendermaßen aussieht:
    Header unset ETag
    ...
    FileETag None
    BrowserMatch ^Mozilla/4 gzip-only-text/html
</Directory>
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
<Directory /ox6/index.html>
    Header append Vary User-Agent env=!dont-vary
    ExpiresByType text/html "now"
  </VirtualHost>
    ExpiresDefault "now"
    Header unset Last-Modified
    Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
    # Turn off ETag
    Header unset ETag
    FileETag None
  </Directory>


Webserver neu starten um die Änderungen zu übernehmen:
Webserver neu starten um die Änderungen zu übernehmen:
  /etc/init.d/apache2 restart
  /etc/init.d/apache2 restart
====Optional: Apache mit Subdomain====
Im folgenden wird erläutert, wie Open-Xchange unter https://ox.domain.org erreichbar ist. Die Adresse kann beliebig angepasst werden. Für das SSL-Zertifikat empfiehlt sich das [[Debian_OpenSSL#Optional: Wildcard Zertifikat|Wildcard Zertifikat]], da dieses für alle Subdomains Gültigkeit hat.
   
   
vi /etc/apache2/sites-enabled/ox6_https.conf
Folgende Zeilen einfügen und die '''''domain.org''''' entsprechend anpassen:
<VirtualHost *:443>
    DocumentRoot /var/www/ox6
    DirectoryIndex index.html ox.html
    ServerName ox.'''''domain.org'''''
    SSLEngine on
    SSLCertificateKeyFile /etc/ssl/CA/key/wildcard-key.pem
    SSLCertificateFile /etc/ssl/CA/certs/wildcard-cert.pem
</VirtualHost>
Webserver neu starten um die Änderungen zu übernehmen:
/etc/init.d/apache2 restart
===Datenbank anlegen===
===Datenbank anlegen===
Open-Xchange bringt ein umfangreiches Script mit, um die Datenbank anzulegen und einzurichten. Dieses funktioniert allerdings nur, wenn dem MySQL-Superuser root kein Paswort zugeordnet ist. Zum Entfernen des Paswortes folgenden Befehl eingeben:
Open-Xchange bringt ein umfangreiches Script mit, um die Datenbank anzulegen und einzurichten. Dieses funktioniert allerdings nur, wenn dem MySQL-Superuser root kein Paswort zugeordnet ist. Zum Entfernen des Paswortes folgenden Befehl eingeben:
Zeile 113: Zeile 201:




{{Rechteck2|'''ACHTUNG:'''
{{Achtung|
:Unbedingt wieder das Root-Passwort für den MySQL-Datenbankserver vergeben, da ansonsten jeder Datenbanken und weitere User anlegen, löschen oder sich Rechte erteilen könnte:}}
Unbedingt wieder das Root-Passwort für den MySQL-Datenbankserver vergeben, da ansonsten jeder Datenbanken und weitere User anlegen, löschen oder sich Rechte erteilen könnte:}}


  mysqladmin -u root password '''''root_pwd'''''
  mysqladmin -u root password '''''root_pwd'''''
Zeile 120: Zeile 208:


===Abschließen der Installation===
===Abschließen der Installation===
Open-Xchange verwendet standardmäßig Port 2000 für die Kommunikation mit dem Mailfilter Sieve (Teil des Cyrus IMAP-Servers). Dieser Port war bisher der Standardport bei vielen Distributionen incl. Debian Lenny. Mit Debian Squeeze wurde der Port auf 4190 geändert, wie von der IANA vorgeschlagen. D.h. Open-Exchange kann den Sieve Mailfilter unter Debian Squeeze nicht mehr erreichen, was zu einer Fehlermeldung nach dem Einloggen führen würde.
Ermitteln des verwendeten Sieve-Ports:
vi /etc/services
Der Port ist in folgender Zeile ablesbar:
sieve          '''''4190'''''/tcp                        # ManageSieve Protocol
Konfiguration des Sieve Mailfilter Ports:
vi /opt/open-xchange/etc/groupware/mailfilter.properties
Eben ermittelten Sieve-Port (hier z.B. '''''4190''''') in folgender Zeile ändern:
SIEVE_PORT='''''4190'''''
Starten des Adminservers:
Starten des Adminservers:
  /etc/init.d/open-xchange-admin start
  /etc/init.d/open-xchange-admin start
Zeile 125: Zeile 226:
Vergeben eines Passwortes für den Administrator: '''''admin_pwd'''''
Vergeben eines Passwortes für den Administrator: '''''admin_pwd'''''
  cd /opt/open-xchange/sbin
  cd /opt/open-xchange/sbin
  ./oxinstaller --servername=oxserver --configdb-pass='''''ox_pwd''''' --master-pass='''''admin_pwd''''' --ajp-bind-port=localhost
  ./oxinstaller --servername=oxserver --configdb-pass='''''ox_pwd''''' --master-pass='''''admin_pwd''''' --ajp-bind-port=localhost --add-license=f-o-o-b-a-r


Adminserver neustarten, um die Änderungen des oxinstallers zu übernehmen.
Adminserver neustarten, um die Änderungen des oxinstallers zu übernehmen.
  /etc/init.d/open-xchange-admin restart
  /etc/init.d/open-xchange-admin restart
Eine Minute warten und prüfen, ob der Admin-Daemon läuft. Ansonsten macht es keinen Sinn, die folgenden Befehle auszuführen, da diese dann nicht funktionieren. Der vollständige Start des Daemons kann bis zu einer Minute dauern, auch wenn der Eingabe-prompt nach einigen Sekunden erscheint.
/etc/init.d/open-xchange-admin status


Registrieren des Servers bei der Datenbank:
Registrieren des Servers bei der Datenbank:
Zeile 146: Zeile 250:


Setzen der korrekten Eigentümerrechte:
Setzen der korrekten Eigentümerrechte:
   chown -R open-xchange.open-xchange /opt/open-xchange/
   chown -R open-xchange:open-xchange /opt/open-xchange/


Starten des Groupware-Servers:
Starten des Groupware-Servers:
Zeile 153: Zeile 257:
==User anlegen==
==User anlegen==
User die auf Open-Xchange Zugriff erhalten sollen müssen zuvor in der Datenbank angelegt werden.
User die auf Open-Xchange Zugriff erhalten sollen müssen zuvor in der Datenbank angelegt werden.
Damit später Imap-User gegen die Open-Xchange Datenbank authorisiert werden können ([[Debian_Open-Xchange#Optional: Mailserver-User gegen Open-Xchange authorisieren||&rarr; siehe hier]]) , muß noch das Passwort-Hashing-Verfahren auf CRYPT geändert werden:
Damit später Imap-User gegen die Open-Xchange Datenbank authorisiert werden können ([[Debian_Open-Xchange#Optional: Mailserver-User gegen Open-Xchange authorisieren|&rarr; siehe hier]]) , muß noch das Passwort-Hashing-Verfahren auf CRYPT geändert werden:
  vi /opt/open-xchange/etc/admindaemon/User.properties
  vi /opt/open-xchange/etc/admindaemon/User.properties
Den Eintrag DEFAULT_PASSWORD_MECHANISM von SHA auf CRYPT abändern:
Den Eintrag DEFAULT_PASSWORD_MECHANISM von SHA auf CRYPT abändern:
  DEFAULT_PASSWORD_MECHANISM=CRYPT
  DEFAULT_PASSWORD_MECHANISM=CRYPT
Admin-Daemon neu starten, damit die Änderung des Hashing-Verfahrens übernommen wird:
/etc/init.d/open-xchange-admin restart


createuser kennt folgende Optionen:
createuser kennt folgende Optionen:
Zeile 218: Zeile 325:
| --imapserver
| --imapserver
|
|
|Hostadresse des Imap-Servers. Normalerweise '''localhost'''
|Hostadresse des Imap-Servers. '''''IP_MAILSERVER'''''='''localhost'''. wenn Mailserver auf dem selben Server läuft wie OX, ansonsten IP-Adresse oder Domainname des Mailservers
|-
|-
| --smtpserver
| --smtpserver
|
|
|Hostadresse des SMTP-Servers. Normalerweise '''localhost'''
|Hostadresse des SMTP-Servers. '''''IP_MAILSERVER'''''='''localhost'''. wenn Mailserver auf dem selben Server läuft wie OX, ansonsten IP-Adresse oder Domainname des Mailservers
|}
|}
   
   
Zeile 228: Zeile 335:
Anlegen des Users Tux (Befehl besteht aus zwei Zeilen):
Anlegen des Users Tux (Befehl besteht aus zwei Zeilen):
  ./createuser -c 1 -A oxadmin -P '''''admin_pwd''''' -u '''''tux''''' -d "User Tux" -g '''''tux''''' -s Tux_Vorname \
  ./createuser -c 1 -A oxadmin -P '''''admin_pwd''''' -u '''''tux''''' -d "User Tux" -g '''''tux''''' -s Tux_Vorname \
  -p '''''tux_pwd''''' -e '''''tux@domain.org''''' --imaplogin '''''tux''''' --imapserver localhost --smtpserver localhost
  -p '''''tux_pwd''''' -e '''''tux@domain.org''''' --imaplogin '''''tux''''' --imapserver '''''IP_MAILSERVER''''' --smtpserver '''''IP_MAILSERVER'''''




==Funktionscheck==
==Funktionscheck==
Webbrowser öffnen und Adresse http://IP_Des_Servers/ox6 eingeben.
Webbrowser öffnen und Adresse '''''OX6_DOMAIN''''' (z.B. http://domain.org/ox6 bzw. https://ox.domain.org) eingeben.
Der Login-Bildschirm von Open-Exchange erscheint.
Der Login-Bildschirm von Open-Exchange erscheint.


Zeile 241: Zeile 348:




==Open-Xchangen Admin Oberfläche==
==Open-Xchange Admin Oberfläche==
Standardmäßig liefert Open-Xchange keine Möglichkeit mit, User in einer graphischen Oberfläche anzulegen bzw. zu bearbeiten. Die einzig vorgesehene Methode ist oben angeführter ellenlanger createuser-Befehl.
Standardmäßig liefert Open-Xchange keine Möglichkeit mit, User in einer graphischen Oberfläche anzulegen bzw. zu bearbeiten. Die einzig vorgesehene Methode ist oben angeführter ellenlanger createuser-Befehl.
Diesen Missstand hat Herr M. Weiss (www.kess.cc) mit seinem Admingui beseitigt.
Diesen Missstand beseitigt folgendes Admingui (http://oxgui.wordpress.com).


===Downloaden und Compilieren===
===Downloaden und installieren===
  cd /usr/local/src (evtl. mit mkdir anlegen, falls Verzeichnis nicht existiert)
  cd /usr/local/src (evtl. mit mkdir anlegen, falls Verzeichnis nicht existiert)
Aktuelle Oberfläche mittels Subversion Downloaden:
Aktuelle Oberfläche mittels downloaden:
  svn checkout https://mani.kess.cc/svn/mwOX
  wget http://oxgui.sciencesoft.at/psoxgui.0.1.16.tar.gz
Die Frage mit '''''p''''' (permanent) beantworten
Entpacken und Rechte anpassen:
  cd mwOXAdminGUI/trunk
tar -C / -xvzf  psoxgui.0.1.16.tar.gz
  vi build.xml
chown -R open-xchange:open-xchange /opt/open-xchange/etc/psoxgui
der Parameter oxhtml sollte folgendermaßen aussehen:
Open-Xchange neu starten:
  <property name="oxhtmldir" value="/var/www/ox6"/>
  /etc/init.d/open-xchange-admin restart
Mittels ant die Adminoberfläche compilieren (java):
  /etc/init.d/open-xchange-groupware restart
  ant
Ca 10s warten bis Open-Xchange komplett neu gestartet ist:
  /opt/open-xchange/sbin/listbundles
Der Befehl sollte folgende Ausgabe liefern:
...
bundlename: at.sciencesoft.oxadmingui status: ACTIVE
  ...


===Konfiguration===
===Apache Konfiguration erweitern===
  vi /opt/open-xchange/etc/admingui/open-xchange-admin
Hier soll die Apache-Konfguration für den OxAdmin optimiert werden. Die Admin Oberfläche ist normalerweise unter /servlet/webserver/index.html erreichbar, was relativ schwierig zu merken sein dürfte. Durch die Änderung ist diese durch /oxadmin erreichbar.
Folgende Einstellungen vornehmen:
 
*Adminusers(durch Komma getrennt):
Desweiteren besteht die Möglichkeit, die Oberfläche nur aus dem lokalen Netz erreichbar zu machen, während OX selbst natürlich weiterhin aus dem kompletten Internet erreichbar ist.
  ADMIN_USERS=oxadmin,tux
 
*oxadmin-Passwort (Passwort des Users oxadmin - siehe oben):
  vi /etc/apache2/conf.d/ox6.conf
OX_ADMIN_PASSWORD='''''admin_pwd'''''
Ans Ende der Datei folgende Zeilen einfügen:
*Maildomains:
Redirect /oxadmin /servlet/webserver/index.html
  MAILDOMAINS='''''domain.org'''''
  <Location /servlet/webserver/index.html>
    Order deny,allow
    Deny from All
    Allow from 192.168.0.0/255.255.255.0
</Location>
 
 
{{Hinweis|Falls die Admin-Oberfläche sowohl lokal, als auch aus dem Internet erreichbar sein soll, dann obigen Block <Location /servlet ... </Location> auskommentieren, oder löschen.}}
 
 
Nach dem Durchführen der Änderung Apache neu starten:
  /etc/init.d/apache2 restart


Konfiguration der Datei configjump.properties:
vi /opt/open-xchange/etc/groupware/configjump.properties
URL-Eingeben, unter der Oüpen-Xchange erreichbar ist. Hier zwei Beispiele (nur eine eintragen):
URL=http://'''''IP_Des_Servers'''''/ox6/admingui
URL=https://'''''Domain.org'''''/ox6/admingui


===Funktionscheck===
===Funktionscheck===
Open-Xchange Groupware-Server neustarten:
Webbrowser öffnen und folgende Checks durchführen:
/etc/init.d/open-xchange-groupware restart
* Adresse http://'''''domain.org'''''/oxadmin eingeben.
:=> Es muss eine Forbidden-Seite angezeigt werden
* Falls Virtualhost eingerichtet:
: Adresse http://'''''ox.domain.org'''''/oxadmin eingeben.
:=> Es muss eine Forbidden-Seite angezeigt werden
* Adresse http://'''''IP_DES_SERVER'''''/oxadmin eingeben
:=> Der Login Bildschirm der Adminoberfläche sollte nun erscheinen.
 
 
===Konfiguration===
Webbrowser öffnen und Adresse http://'''''IP_DES_SERVER'''''/oxadmin eingeben.
Der Loginbildschirm des Admin-Gui sollte erscheinen.
* Login mit:
OXadmin:  oxadminmaster
Passwort: '''''admin_pwd'''''
* Contextadmin festlegen
Im linken Navigationsbereich '''Kontext''' anklicken.
Haken in der Box vor ID 1 setzen und anschließend auf den Button '''ContextAdmin setzen''' klicken
ContextAdmin: oxadmin
Passwort:    '''''admin_pwd'''''
Den Button '''Speichern''' anklicken
* Defaultcontext festlegen
Haken in der Box vor ID 1 setzen und anschließend Button '''setzen''' anklicken


Webbrowser öffnen und als Adminuser (oxadmin bzw. User, die als $adminusers eingetragen wurden) einloggen [[Debian_Open-Xchange#Funktionschek|&rarr; wie hier beschrieben]].
Einstellungen öffnen
Auf den Link '''''Extras''''' klicken.
Ein neues Fenster mit der Adminoberfläche sollte sich öffnen.
Hier können neue User angelegt bzw. bestehende bearbeitet werden.


{{Rechteck3|'''Hinweis:'''
===Benutzung Adminoberfläche===
* Es ist nicht möglich, den Usernamen (Loginname) zu ändern.
Webbrowser öffnen und Adresse http://'''''IP_DES_SERVER'''''/oxadmin eingeben.
* Die beiden Passwortfelder sind leer. Wenn hier nichts eingetragen wird, bleibt das Passwort bestehen. Um ein neues zu setzen, ein neues in beide Felder eintragen.}}
Der Loginbildschirm des Admin-Gui sollte erscheinen.
* Login mit:
OXadmin:  oxadminmaster
Passwort: '''''admin_pwd'''''
* Im linken Navigationsbereich '''Kontext''' anklicken.
* Haken in der Box vor ID 1 setzen und anschließend Button '''setzen''' anklicken
Nun können Benutzer und Gruppen angelegt, geändert und gelöscht werden.
Die Benutzung sollte selbsterklärend sein.




==Optional: Mailserver-User gegen Open-Xchange authorisieren==
==Optional: Mailserver-User gegen Open-Xchange authorisieren==
Nachdem Open-Xchange eine komplette Userverwaltung mitbringt, empfiehlt es sich die Imap- und Postfix-User (SMTP-Auth) gegen die Open-Xchange Datenbank zu authorisieren. Dies hat den Vorteil, dass die Passwörter nur einmal gepflegt werden müssen. Weiterhin kann jeder User sein Passwort in der Open-Xchange Weboberfläche sehr einfach ändern.
Nachdem Open-Xchange eine komplette Userverwaltung mitbringt, empfiehlt es sich die Imap- und Postfix-User (SMTP-Auth) gegen die Open-Xchange Datenbank zu authorisieren. Dies hat den Vorteil, dass die Passwörter nur einmal gepflegt werden müssen. Weiterhin kann jeder User sein Passwort in der Open-Xchange Weboberfläche sehr einfach ändern.
{{Hinweis|
Wenn bei folgenden Schritten Konfigurationsfehler gemacht werden, funktioniert evtl. der Login beim Imap- und Postfix-Server nicht mehr. Deshalb solten alle Änderungen an bereits bestehenden Files durch auskommentieren bereits bestehender Einträge und Einfügen einer neuen Zeile erfolgen. So kann jederzeit zur Originalkonfiguration erfolgen. Nachdem "nur" die Authorisierung der user für den Mailserver umgestellt wird, hat dies keinerlei Einfluss auf das Login-Verhalten mittels Putty oder FTP-Server.}}


===Konfiguration===
===Konfiguration===
Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich:
Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich:
  apt-get install libnss-mysql libpam-mysql
  apt-get install libnss-mysql-bg libpam-mysql


{{Rechteck3|'''Hinweis:'''
{{Hinweis|
:Bei zwei Testinstallationen wurde festgestellt, dass die Datenbank von Open-Xchange nicht immer den selben Namen trägt. Einmal war dieser oxdatabase_6 und einmal oxdatabase_7. Deshalb sollte vor der Fortsetzung der Konfiguration mittels phpmyadmin (siehe [[Debian_MySQL|&rarr; siehe auch hier]]) der exakte Datenbankname -> '''''OX-DB''''' ermittelt werden und in folgenden Einstellungen enstprechend angepasst werden.}}  
Bei zwei Testinstallationen wurde festgestellt, dass die Datenbank von Open-Xchange nicht immer den selben Namen trägt. Einmal war dieser oxdatabase_6 und einmal oxdatabase_7. Deshalb sollte vor der Fortsetzung der Konfiguration mittels phpmyadmin (siehe [[Debian_MySQL|&rarr; siehe auch hier]]) der exakte Datenbankname -> '''''OX-DB''''' ermittelt werden und in folgenden Einstellungen enstprechend angepasst werden.}}  


  vi /etc/pam.d/imap  
  vi /etc/pam.d/imap  
Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen
Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen
{{Rechteck3|'''Hinweis:'''
{{Hinweis|
:Sämtliche Einträge hinter ''auth'' in eine Zeile und hinter ''accout'' in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.}}
Sämtliche Einträge hinter ''auth'' in eine Zeile und hinter ''accout'' in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.}}


  auth    optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db='''''OX-DB'''''
  auth    optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db='''''OX-DB'''''
Zeile 315: Zeile 461:
  vi /etc/libnss-mysql.cfg
  vi /etc/libnss-mysql.cfg
Folgende Zeilen einfügen:
Folgende Zeilen einfügen:
{{Rechteck3|'''Hinweis:'''
{{Hinweis|
:Einträge, die ganz links beginnen in eine Zeile schreiben. Die Zeilenumbrüche und Einrückungen wurden nur zur Erhöhung der Übersichtlichkeit eingefügt.}}
Einträge, die ganz links beginnen in eine Zeile schreiben. Die Zeilenumbrüche und Einrückungen wurden nur zur Erhöhung der Übersichtlichkeit eingefügt.}}
  getpwnam  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell  
  getpwnam  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell  
           FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id  
           FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id  
Zeile 364: Zeile 510:
Saslauth Daemon neustarten, um die Änderungen zu übernehmen.
Saslauth Daemon neustarten, um die Änderungen zu übernehmen.
  /etc/init.d/saslauthd restart
  /etc/init.d/saslauthd restart


===Cyrus-User anlegen===
===Cyrus-User anlegen===
Nachdem die User nun gegen die Open-Xchange Datenbank authorisiert werden, muß auch der Cyrus-User, der für die Administration des Imap-Servers verantwortlich ist, in der Open-Xchange Datenbank angelegt werden.
Nachdem die User nun gegen die Open-Xchange Datenbank authorisiert werden, muß auch der Cyrus-User, der für die Administration des Imap-Servers verantwortlich ist, in der Open-Xchange Datenbank angelegt werden.
Dies kann entweder via Adminoberfläche ([[Debian_Open-Xchange#Open-Xchangen Admin Oberfläche|&rarr; siehe hier]]) oder mittels folgendem Befehl erfolgen:
Dies kann entweder via Adminoberfläche ([[Debian_Open-Xchange#Open-Xchangen Admin Oberfläche|&rarr; siehe auch hier]]) oder mittels folgendem Befehl erfolgen:
  cd /opt/open-xchange/sbin
  cd /opt/open-xchange/sbin
  ./createuser -c 1 -A oxadmin -P '''''admin_pwd''''' -u cyrus -d "Cyrus Admin" -g '''''cyrus''''' -s Admin \
  ./createuser -c 1 -A oxadmin -P '''''admin_pwd''''' -u cyrus -d "Cyrus Admin" -g '''''cyrus''''' -s Admin \
  -p '''''CYRUS_PWD''''' -e '''''cyrus@domain.org''''' --imaplogin '''''cyrus''''' --imapserver localhost --smtpserver localhost
  -p '''''CYRUS_PWD''''' -e '''''cyrus@domain.org''''' --imaplogin '''''cyrus''''' --imapserver '''''IP_MAILSERVER''''' --smtpserver '''''IP_MAILSERVER'''''
 


===Neuen User anlegen===
===Neuen User anlegen===
{{Hinweis|
Nachdem die Authorisierung des IMAP-Servers auf die Open-Xchange Datenbank umgestellt wurde, sind folgende Schritte nötig, um in Zukunft einen neuen User (Imap+Open-Xchange) anzulegen.}}
Um einen komplett neuen User '''''Tux_neu''''' anzulegen müssen folgende Schritte ausgeführt werden:
Um einen komplett neuen User '''''Tux_neu''''' anzulegen müssen folgende Schritte ausgeführt werden:
* User '''''Tux_neu''''' in der Open-Xchange Datenbank anlegen ([[Debian_Open-Xchange#User anlegen|&rarr; siehe hier mittels Befehl]] oder [[Debian_Open-Xchange#Open-Xchangen Admin Oberfläche|&rarr; siehe hier mittels Adminoberfläche]])
* User '''''Tux_neu''''' in der Open-Xchange Datenbank anlegen ([[Debian_Open-Xchange#User anlegen|&rarr; siehe hier mittels Befehl]] oder [[Debian_Open-Xchange#Open-Xchangen Admin Oberfläche|&rarr; siehe hier mittels Adminoberfläche]])
Zeile 386: Zeile 538:
Die Adminoberfläche mit folgenden Befehlen verlassen:
Die Adminoberfläche mit folgenden Befehlen verlassen:
  quit
  quit


===Funktionscheck===
===Funktionscheck===
Wie unter [[Debian_Open-Xchange#Funktionscheck|&rarr; Funktionscheck]] beschrieben.
Wie unter [[Debian_Open-Xchange#Funktionscheck|&rarr; Funktionscheck]] beschrieben.


{{Hinweis|
Falls die Authorisierung nicht klappt, könnte ein falsches Hashing-Verfahren Verwendung finden. Dies kann mittels phpmyadmin ([[Debian_MySQL|&rarr; siehe auch hier]]) überprüft werden. In phpmyadmin einloggen und Datenbank '''oxdatabase_6''' öffnen. In der Tabelle '''user''' den Reiter '''Anzeigen''' auswählen. Im Feld '''passwordMech''' sollte '''CRYPT''' stehen. Falss nicht, für den betreffenden User '''Tux_Change''' das Hashing-Verfahren mit folgenden Befehl umstellen:}}
/opt/open-xchange/sbin/changeuser -A oxadmin -P '''''admin_pwd''''' -c 1 -u '''''Tux_Change''''' -p '''''Tux_PWD''''' --passwordmech {CRYPT}


==Optional: Synchronisation mit Desktop/Mobil Clients==
Um die Kontakte, Kalender und Aufgaben mit Desktop(Thunderbird, Outlook)- und Mobil-Clients(Windows Mobile, Handys) zu synchronisieren, bietet bietet sich der Syncserver Funambol (www.funambol.com) mit dem Open-Xchange Connector geradezu an. Somit stehen in den Clients und auf dem Groupware-Server immer die selben Daten zur Verfügung.


Funambol ist ein mächtiger Sync-ML Server, für den es zahlreiche Synchronisations Clients gibt. Als Beispiele seine hier nur Thunderbird, Outlook, IPhone und Windows Mobile Geräte genannt.  
==Optional: Synchronisation mit Funambol==
Die Kontakte, Kalender und Aufgaben können mittels Funambol zwischen Open-Xchange, Outlook und Thunderbird auch mit mobilen Geräten wie Windows-Mobile und SyncML fähigen Handy's abgeglichen werden. Damit stehen diese Daten in allen Programmen und via Open-Xchange von jedem Webbrowser zur Verfügung.
 
Voraussetzung:
*[[Debian_Funambol|Funambol]]
 


===Installation===
===Installation===
apt-get install unzip
Download der nötigen Komponenten:
Download der nötigen Komponenten:
  cd /usr/local/src
  cd /usr/local/src/funambol
mkdir funambol
  wget http://m2.funambol.org/repositories/artifacts/funambol/ox-module/9.0.4/ox-module-9.0.4.zip
  cd funambol
wget wget http://download.forge.objectweb.org/sync4j/funambol-7.1.1.bin
wget http://download.forge.objectweb.org/sync4j/funambol-ox-connector-7.0.5.zip
chmod +x funambol-7.1.1.bin
Fanmabol installieren
./funambol-7.1.1.bin
Die Licence-Agreement-Frage mit '''''yes''''' beantworten, nachdem diese komplett durchgescroll, bzw. mit '''''q''''' beendet wurde.
Directory to extract Funambol [/opt] <return to accept>? '''''mit Return bestätigen'''''
Do you want to start the server? [yes or no]: '''''yes'''''


Open-Xchange Connector installieren:
Open-Xchange Connector installieren:
  unzip funambol-ox-connector-7.0.5.zip
  unzip ox-module-9.0.4.zip
  cp Funambol/ox-connector/ox-connector-7.0.5.s4j /opt/Funambol/ds-server/modules
cd Funambol
  cp ox-listener/funambol-ox-listener-7.0.5.zip /opt
  cp ox-connector/ox-connector-9.0.4.s4j /opt/Funambol/ds-server/modules
  cp ox-listener/funambol-ox-listener-9.0.4.zip /opt
  cd /opt
  cd /opt
  unzip funambol-ox-listener-7.0.5.zip
  unzip funambol-ox-listener-9.0.4.zip
  rm funambol-ox-listener-7.0.5.zip
  rm funambol-ox-listener-9.0.4.zip
 
Aktivieren des ox-connector:
  vi /opt/Funambol/ds-server/install.properties
  vi /opt/Funambol/ds-server/install.properties
An die Zeile '''''modules-to-install''''' den Eintrag ''''',ox-connector-7.0.5''''' anhängen, sodass diese folgendermaßen aussieht:
modules-to-install=content-provider-7.1.2,email-connector-7.1.1,foundation-7.1.1,phones-support-7.1.0,webdemo-7.1.0,ox-connector-7.0.5


Module installieren
An die Zeile '''''modules-to-install''''' den Eintrag '''''ox-connector-9.0.4''''' anhängen, sodass diese folgendermaßen aussieht:
modules-to-install=content-provider-10.0.0,email-connector-10.0.0,foundation-10.0.0,phones-support-10.0.0,webdemo-10.0.0,ox-connector-9.0.4
 
 
Ox-connector Module installieren
  cd /opt/Funambol/ds-server
  cd /opt/Funambol/ds-server
  bin/install-modules
  ../bin/install
Die Frage zum Installieren der Datenbank für den content-provider    mit '''''y''''' beantworten
{{Achtung|
Die Frage zum Installieren der Datenbank für den email-connector      mit '''''y''''' beantworten
Die Fragen zum neu erstellen der Datenbanken '''UNBEDINGT''' für alle mit Ausnahme der letzten (ox-connector) mit nein (n) beantworten, da die anderen Datenbanken bereits bestehen. Eine Antwort mit y würde die jeweilige Datenbank/Tabelle neu initialisieren und dadurch evtl. vorhandene Daten zerstören.}}
Die Frage zum Installieren der Datenbank für das foundation Modul    mit '''''y''''' beantworten
 
Die Frage zum Installieren der Datenbank für das Modul phones-support mit '''''y''''' beantworten
* Die Frage zum Installieren der Datenbank für den content-provider    mit '''''n''''' beantworten
Die Frage zum Installieren der Datenbank für das Modul webdemo        mit '''''y''''' beantworten
* Die Frage zum Installieren der Datenbank für den email-connector      mit '''''n''''' beantworten
Die Frage zum Installieren der Datenbank für den ox-connector        mit '''''y''''' beantworten
* Die Frage zum Installieren der Datenbank für das foundation Modul    mit '''''n''''' beantworten
* Die Frage zum Installieren der Datenbank für das Modul phones-support mit '''''n''''' beantworten
* Die Frage zum Installieren der Datenbank für das Modul webdemo        mit '''''n''''' beantworten
* Die Frage zum Installieren der Datenbank für den ox-connector        mit '''''y''''' beantworten


===Konfiguration===
===Konfiguration===
  vi config/com/funambol/oxlistener/task/OXListenerTask.xml
  vi ../bin/ox-listener
  vi config/com/funambol/oxlistener/task/OXListenerOneShotTask.xml
Folgende Änderungen durchführen:
  vi config/ox/ox/OXConnector.xml
* Nach der der 1. Zeile (#!/bin/sh) folgende Zeilen einfügen:
### BEGIN INIT INFO
# Provides:          ox-listener
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:    $local_fs $remote_fs $network
# Should-Start:      $syslog $funambol
# Should-Stop:      $syslog $funambol
# Default-Start:    2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop ox-listener
# Description:      Start/stop ox-listener for Funambol a Sync server
### END INIT INFO
 
* Den Port auf dem ox-listener lauscht auf 13101 ändern, da Port 3101 bereits anderweitig verwendet wird:
JMX_PORT=13101
* Zweimal den Pfad zu Java 1.6 (JAVA_HOME) anpassen:
JAVA_HOME=$FUNAMBOL_HOME/tools/jre-1.6.0/jre
 
 
vi /opt/Funambol/config/com/funambol/oxlistener/task/OXListenerTask.xml
  vi /opt/Funambol/config/com/funambol/oxlistener/task/OXListenerOneShotTask.xml
  vi /opt/Funambol/config/ox/ox/OXConnector.xml
In allen drei Files den XML-Abschnitt abändern:
In allen drei Files den XML-Abschnitt abändern:
  <void property="OXUrl">
  <void property="OXUrl">
Zeile 454: Zeile 635:
  </void>
  </void>


Funambol neustarten:
/opt/Funambol/bin/funambol stop
/opt/Funambol/bin/funambol start
/opt/Funambol/bin/ox-listener start


===Windows-Admintool===
===Startscript===
Das Windows Admintool herunterladen (http://download.forge.objectweb.org/sync4j/funambol-admin-7.1.0.exe) und installieren.
Damit der ox-connector beim Systemstart automatisch startet, muß ein Startscript angelegt und eingerichtet werden:
Admintool starten.
ln -s /opt/Funambol/bin/ox-listener /etc/init.d/ox-listener
Doppelklick auf '''''Funambol Administration Tool'''''
update-rc.d ox-listener defaults
Im erscheinenden Popup-Fenster folgende Eingaben machen:
:Hostname/IP: IP_Des_Servers
:Port:        8080
:Username:    admin
:Password:    sa
Den Button Login anklicken
Nun sollte in der linken Liste der Funambol Server erscheinen.
Die Baum-Liste des Servers erweitern und auf '''''Users''''' doppelklicken, um zur Userverwaltung zu gelangen.
Button '''''Add''''' anklicken
Die Daten des neuen Users eingeben - z.B. User Tux.


Funambol neustarten:
/etc/init.d/funambol stop
/etc/init.d/funambol start
/etc/init.d/ox-listener start


===Thunderbird Synchronisieren===
Falls das Addon Lightning (https://addons.mozilla.org/de/thunderbird/addon/2313) installiert ist, bietet Thunderbird neben der Emailfunktionalität einen Kalender und Aufgaben, ähnlich wie MS Outlook.
{{Rechteck3:Hinweis:
:Bevor die Synchronisation gestart wird, sollte mindestens ein Kalender angelegt sein, um diesen zu synchronisieren.}}
Den Thunderbird Sync-Client (MozillaSync) für Funambol unter: https://mozilla-plugin.forge.funambol.org/files/documents/89/273/funambol-mozilla-sync-client-win32-v0.9.1.xpi downloaden und lokal speichern.
Thunderbird öffnen und das Menü '''''Extras/Add-ons''''' aufrufen.
Den Button '''''Installieren...'''''' anwählen und die eben heruntergeladene Datei auswählen.
Nach der Installation Thunderbird neu starten, um das Add-On zu aktivieren.


Das Menü '''''Extras/Funambol sync..." anwählen.
===Konfiguration mittels Windows-Admintool===
Im sich öffnenden Fenster das Menü '''''Tools/Options''''' anwählen
Das Admintool öffnen und als Admin einloggen
Unter '''''Funambol/Account''''' folgende Einstellungen vornehmen:
:Location: '''''http://IP_Des_Servers:8080/funambol/ds'''''
:Username: '''''Tux'''''
:Password: '''''Tux_pwd'''''
Unter '''''Funambol/Sync''''' folgende Einstellungen vornehmen:
:Contacts: '''''Ja''''' (angeklickt)
:Calendar: '''''Ja''''' (angeklickt)
:Tasks:    '''''Ja''''' (angeklickt)
:Synchronize: '''''every 5 minutes'''''
:Synchronize at startup: '''''Ja''''' (angeklickt)
:Contacts:Details anklicken und folgende Einstellungen vornehmen:
::Current: '''''Persönliches Adressbuch'''''
::Remote Name: '''''oxcard'''''
::Mit '''''OK''''' übernehmen
:Falls Addon Lightning installiert ist:
:Calendar/Tasks: Details anklicken und folgende Einstellungen vornehmen:
::Current:              Einen zuvor angelegten Kalender aus der Liste auswählen
::Calendar remote name: oxcal
::Tasks remote name:    oxtask
::Mit '''''OK''''' übernehmen
:Mit dem Button '''''OK''''' die Optionen übernehmen und das Optionsfenster schließen.


Im Funambol Sync-Fenster nun '''''Sync All''''' anwählen. Nun sollten sämtliche Kontakte, Termine und Aufgaben synchronisiert werden.
Open-Xchange Connector anpassen:
Im Linken Navigationsbaum auf '''Modules/ox''' klicken
'''OxConnector''' doppelklicken.
URL abändern in: '''http://localhost:80'''
Button '''Save''' anklicken


===Outlook Synchronisieren===
Funambol Outlooksync unter https://www.forge.funambol.org/servlets/OCNDirector?id=FunambolOutlookSyncClient downloaden.
Heruntergeladenes Setup-Tool starten um den Sync-Clienten zu installieren.
Nach der Installation startet der Sync-Client automatisch.
Das Menü '''''Tools/Options''''' anwählen.
Im Bereich '''''Account''''' folgende Einstellungen vornehmen:
:Location: '''''http://IP_Des_Servers:8080/funambol/ds'''''
:Username: '''''Tux'''''
:Password: '''''Tux_pwd'''''
Im Bereich '''''Sync''''' folgende Einstellungen vornehmen:
:Contacts: '''''Ja'''''  (angeklickt)
:Calendar: '''''Ja'''''  (angeklickt)
:Tasks:    '''''Ja'''''  (angeklickt)
:Notes:    '''''Nein''''' (Nichtangeklickt)
:Contacts:Details anklicken und folgende Einstellungen vornehmen:
::Sync Direction:    '''''Two Way'''''
::Include Subfolder: '''''Ja''''' (angeklickt)
::Remote name:      '''''oxscard'''''
::Mit '''''OK''''' übernehmen
:Calendar: Details anklicken und folgende Einstellungen vornehmen:
::Sync Direction:    '''''Two Way'''''
::Include Subfolder: '''''Ja''''' (angeklickt)
::Sync Outlook Appointments: Je nach Bedarf
::Remote name:      '''''oxscal'''''
::Dataformat:        '''''SIF'''''
::Mit '''''OK''''' übernehmen
:Tasks: Details anklicken und folgende Einstellungen vornehmen:
::Sync Direction:    '''''Two Way'''''
::Include Subfolder: '''''Ja''''' (angeklickt)
::Sync Outlook Appointments: Je nach Bedarf
::Remote name:      '''''oxstask'''''
::Dataformat:        '''''SIF'''''
::Mit '''''OK''''' übernehmen
:Mit dem Button '''''OK''''' die Optionen übernehmen und das Optionsfenster schließen.


Im Funambol Sync-Fenster nun '''''Sync All''''' anwählen. Nun sollten sämtliche Kontakte, Termine und Aufgaben synchronisiert werden.
===Anpassen der Clients===
Die Clients müssen ebenfalls angepasst werden, damit diese mit der Open-Xchange Datenbank synchronisieren.


In den Einstellungen der Sync-Client die Datenbanken folgendermaßen ersetzen:
:card    -> oxcard
:scard  -> oxscard
:cal    -> oxcal
:scal    -> oxscal
:task    -> oxtask
:stask  -> oxstask


===Windows Mobile Synchronisieren===
{{Hinweis|
TBD
* Hilfe zur Einstellung der Optionen [[Debian_Funambol#Clients Synchronisieren|&rarr; siehe hier]]
* Für User/Passwort müssen die User-Daten von Open-Xchange (nicht Funambol) in den Clients verwendet werden, da die Authorisierung nun Open-Xchange anstatt Funambol übernimmt.}}

Aktuelle Version vom 15. Mai 2015, 13:36 Uhr

Warning.png Achtung:

Anleitung ist veraltet.


Allgemein

Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich.


Bulbgraph.png Hinweis:

Der Server sollte mindestens 1GB Ram, besser 2GB Ram haben, damit Open-Xchange sinnvoll eingesetzt werden kann. Die Ajax- und Java basierte Oberfläche hat einen relativ großen Ressourcen-Verbrauch zur Folge.


Voraussetzungen:


Installation

Installation der Pakete

Zunächst muß das Open-Xchange Repository zur Liste der apt-get Sources angelegt werden:

vi /etc/apt/sources.list

Folgende Zeile anhängen:

  • Für Debian 5 (Lenny)
deb http://software.open-xchange.com/OX6/stable/DebianLenny/ /
deb http://ftp.at.debian.org/debian/ squeeze main non-free
  • Für Debian 6 (Squeeze)
deb http://software.open-xchange.com/OX6/stable/DebianSqueeze/ /
deb http://ftp.at.debian.org/debian/ squeeze main non-free

Apt-Key importieren:

wget http://software.open-xchange.com/oxbuildkey.pub -O - | apt-key add -

Anschließend muss ein update der Sourceliste durchgeführt werden

apt-get update

Installation der Pakete (mit Hilfe des Meta-Paketes wird eine ganze Reihe weiterer Pakete nachinstalliert):

apt-get install sun-java6-jdk ant open-xchange-meta-singleserver open-xchange-mailfilter 


Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: Tab+Enter Die Java Einverständnis-Frage mit ja beantworten: Cursor links/rechts + Enter

Open-Xchange funktioniert nur mit der Sun-Java Umgebung korrekt. Falls bereits eine andere Java-Umgebung (z.B. GIJ bzw. GCJ) installiert und aktiviert ist, funktioniert Open-Xchange nicht. Deshalb mittels Befehl:

update-alternatives --config java

Die Java Umgebung auswählen. Der Befehl liefert z.B. folgende Ausgabe:

There are 3 alternatives which provide `java'.

  Selection    Alternative
-----------------------------------------------
          1    /usr/bin/gij-4.3
*+        2    /usr/lib/jvm/java-gcj/jre/bin/java
          3    /usr/lib/jvm/java-6-sun/jre/bin/java

Press enter to keep the default[*], or type selection number:

Im obigen Beispiel mittels 3 die Sun Java-Umgebung auswählen.

Mittels folgendem Befehl die Java-Version überprüfen:

java -version

Die Ausgabe sollte in etwa folgendermaßen aussehen:

java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)

Die Version sollte 1.6.0 sein. Die folgende Stelle kann evtl. abweichen und stellt kein Problem dar.


AJP-Port, auf dem Open-Xchange auf Anfragen vom Webserver lauscht:

vi /opt/open-xchange/etc/groupware/ajp.properties

Den Eintrag

AJP_PORT=8009

ändern in:

AJP_PORT=8030

Apache konfigurieren

Damit Open-Xchange korrekt funktioniert, müssen einige Module aktiviert und Optionen von Apache angepasst werden.


Generelle Einrichtung

a2enmod proxy
a2enmod proxy_ajp
a2enmod expires
a2enmod deflate
a2enmod headers
a2enmod rewrite
vi /etc/apache2/conf.d/proxy_ajp.conf

Folgenden Inhalt einfügen:

<Proxy *>
Order deny,allow
allow from all
</Proxy>

ProxyPass /axis2 ajp://127.0.0.1:8030/axis2 smax=0 ttl=60 retry=5
ProxyPass /ajax ajp://127.0.0.1:8030/ajax smax=0 ttl=60 retry=5
ProxyPass /servlet ajp://127.0.0.1:8030/servlet smax=0 ttl=60 retry=5
ProxyPass /infostore ajp://127.0.0.1:8030/infostore smax=0 ttl=60 retry=5
ProxyPass /publications ajp://127.0.0.1:8030/publications smax=0 ttl=60 retry=5


vi /etc/apache2/conf.d/ox6.conf

Folgende Zeilen einfügen:

<Directory "/var/www/ox6">
 allowOverride None
 Order allow,deny
 allow from all
 Options +FollowSymLinks +SymLinksIfOwnerMatch
</Directory>

# deflate
AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml  text/x-js application/x-javascript

# pre-compressed files
AddType text/javascript .jsz
AddType text/css .cssz
AddType text/xml .xmlz

AddEncoding x-gzip .jsz .cssz .xmlz
SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip

ExpiresActive On

<Directory /var/www/ox6/>
# Expires (via ExpiresByType to override global settings)
   ExpiresByType image/gif "access plus 6 months"
   ExpiresByType image/png "access plus 6 months"
   ExpiresByType image/jpg "access plus 6 months"
   ExpiresByType image/jpeg "access plus 6 months"
   ExpiresByType text/css "access plus 6 months"
   ExpiresByType text/html "access plus 6 months"
   ExpiresByType text/xml "access plus 6 months"
   ExpiresByType text/javascript "access plus 6 months"
   ExpiresByType text/x-js "access plus 6 months"
   ExpiresByType application/x-javascript "access plus 6 months"
   ExpiresDefault "access plus 6 months"
   Header append Cache-Control "private"
   Header unset Last-Modified
   Header unset Vary
   # Strip version
   RewriteEngine On
   RewriteRule v=\w+/(.+) $1 [L]
   # Turn off ETag
   Header unset ETag
   FileETag None
</Directory>

<Directory /var/www/ox6/ox.html>
   ExpiresByType text/html "now"
   ExpiresDefault "now"
   Header unset Last-Modified
   Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
   # Turn off ETag
   Header unset ETag
   FileETag None
</Directory>

<Directory /ox6/index.html>
   ExpiresByType text/html "now"
   ExpiresDefault "now"
   Header unset Last-Modified
   Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
   # Turn off ETag
   Header unset ETag
   FileETag None
</Directory>

Webserver neu starten um die Änderungen zu übernehmen:

/etc/init.d/apache2 restart

Optional: Apache mit Subdomain

Im folgenden wird erläutert, wie Open-Xchange unter https://ox.domain.org erreichbar ist. Die Adresse kann beliebig angepasst werden. Für das SSL-Zertifikat empfiehlt sich das Wildcard Zertifikat, da dieses für alle Subdomains Gültigkeit hat.

vi /etc/apache2/sites-enabled/ox6_https.conf

Folgende Zeilen einfügen und die domain.org entsprechend anpassen:

<VirtualHost *:443>
   DocumentRoot /var/www/ox6
   DirectoryIndex index.html ox.html
   ServerName ox.domain.org
   SSLEngine on
   SSLCertificateKeyFile /etc/ssl/CA/key/wildcard-key.pem
   SSLCertificateFile /etc/ssl/CA/certs/wildcard-cert.pem
</VirtualHost> 

Webserver neu starten um die Änderungen zu übernehmen:

/etc/init.d/apache2 restart


Datenbank anlegen

Open-Xchange bringt ein umfangreiches Script mit, um die Datenbank anzulegen und einzurichten. Dieses funktioniert allerdings nur, wenn dem MySQL-Superuser root kein Paswort zugeordnet ist. Zum Entfernen des Paswortes folgenden Befehl eingeben:

mysqladmin -u root -p password ' '    (Kein Leerzeichen zwischen den zwei ' Zeichen)

Das alte root_pwd eingeben, um das Paswort endgültig zu löschen.

Einrichten der Datenbank (ox_pwd mit einem sinnvollen Passwort für die Datenbank ersetzen):

/opt/open-xchange/sbin/initconfigdb --configdb-pass=ox_pwd -a


Warning.png Achtung:

Unbedingt wieder das Root-Passwort für den MySQL-Datenbankserver vergeben, da ansonsten jeder Datenbanken und weitere User anlegen, löschen oder sich Rechte erteilen könnte:

mysqladmin -u root password root_pwd

Abschließen der Installation

Open-Xchange verwendet standardmäßig Port 2000 für die Kommunikation mit dem Mailfilter Sieve (Teil des Cyrus IMAP-Servers). Dieser Port war bisher der Standardport bei vielen Distributionen incl. Debian Lenny. Mit Debian Squeeze wurde der Port auf 4190 geändert, wie von der IANA vorgeschlagen. D.h. Open-Exchange kann den Sieve Mailfilter unter Debian Squeeze nicht mehr erreichen, was zu einer Fehlermeldung nach dem Einloggen führen würde.

Ermitteln des verwendeten Sieve-Ports:

vi /etc/services

Der Port ist in folgender Zeile ablesbar:

sieve           4190/tcp                        # ManageSieve Protocol

Konfiguration des Sieve Mailfilter Ports:

vi /opt/open-xchange/etc/groupware/mailfilter.properties

Eben ermittelten Sieve-Port (hier z.B. 4190) in folgender Zeile ändern:

SIEVE_PORT=4190


Starten des Adminservers:

/etc/init.d/open-xchange-admin start

Vergeben eines Passwortes für den Administrator: admin_pwd

cd /opt/open-xchange/sbin
./oxinstaller --servername=oxserver --configdb-pass=ox_pwd --master-pass=admin_pwd --ajp-bind-port=localhost --add-license=f-o-o-b-a-r

Adminserver neustarten, um die Änderungen des oxinstallers zu übernehmen.

/etc/init.d/open-xchange-admin restart

Eine Minute warten und prüfen, ob der Admin-Daemon läuft. Ansonsten macht es keinen Sinn, die folgenden Befehle auszuführen, da diese dann nicht funktionieren. Der vollständige Start des Daemons kann bis zu einer Minute dauern, auch wenn der Eingabe-prompt nach einigen Sekunden erscheint.

/etc/init.d/open-xchange-admin status

Registrieren des Servers bei der Datenbank:

./registerserver -n oxserver -A oxadminmaster -P admin_pwd 

Anlegen eines lokalen Filestore:

mkdir /var/opt/filestore
chown open-xchange:open-xchange /var/opt/filestore
./registerfilestore -A oxadminmaster -P admin_pwd -t file:///var/opt/filestore

Registrieren der Groupware Datenbank:

./registerdatabase -A oxadminmaster -P admin_pwd -n oxdatabase -p ox_pwd -m true

Context anlegen (Befehl besteht aus zwei Zeilen ; domain.org durch reale Domain ersetzen):

./createcontext -A oxadminmaster -P admin_pwd -c 1 -u oxadmin -d "Context Admin" -g Admin -s User \
-p admin_pwd -L defaultcontext -e oxadmin@domain.org -q 1024 --access-combination-name=all

Setzen der korrekten Eigentümerrechte:

 chown -R open-xchange:open-xchange /opt/open-xchange/

Starten des Groupware-Servers:

/etc/init.d/open-xchange-groupware start

User anlegen

User die auf Open-Xchange Zugriff erhalten sollen müssen zuvor in der Datenbank angelegt werden. Damit später Imap-User gegen die Open-Xchange Datenbank authorisiert werden können (→ siehe hier) , muß noch das Passwort-Hashing-Verfahren auf CRYPT geändert werden:

vi /opt/open-xchange/etc/admindaemon/User.properties

Den Eintrag DEFAULT_PASSWORD_MECHANISM von SHA auf CRYPT abändern:

DEFAULT_PASSWORD_MECHANISM=CRYPT

Admin-Daemon neu starten, damit die Änderung des Hashing-Verfahrens übernommen wird:

/etc/init.d/open-xchange-admin restart

createuser kennt folgende Optionen:

Long Parameter Short Parameter Bedeutung
--adminuser -A Adminuser der zur Authorisierung nötig ist. Normalerweise oxadmin
--adminpass -P Passwort admin_pwd des Users oxadmin
--contextid -c Context-ID. Normalerweise 1
--username -u Username (Loginname)
--displayname -d Displayname: In Open-Xchange angezeigter Name
--password -p Passwort des neu anzulegenden Users
--email -e Emailadresse des neuen Users
--givenname -g Givenname: Z.B. Vorname des Users
--surname -s Nachname des Users
--language -l Defaultsprache der Open-Xchange Oberfläche des neuen Users. Kann auch in den Optionen später vom Nutzer selbst geändert werden.
--department -x Abteilung
--company -z Firma
--imaplogin Loginname des Nutzers auf dem Imap-Server
--imapserver Hostadresse des Imap-Servers. IP_MAILSERVER=localhost. wenn Mailserver auf dem selben Server läuft wie OX, ansonsten IP-Adresse oder Domainname des Mailservers
--smtpserver Hostadresse des SMTP-Servers. IP_MAILSERVER=localhost. wenn Mailserver auf dem selben Server läuft wie OX, ansonsten IP-Adresse oder Domainname des Mailservers


Anlegen des Users Tux (Befehl besteht aus zwei Zeilen):

./createuser -c 1 -A oxadmin -P admin_pwd -u tux -d "User Tux" -g tux -s Tux_Vorname \
-p tux_pwd -e tux@domain.org --imaplogin tux --imapserver IP_MAILSERVER --smtpserver IP_MAILSERVER


Funktionscheck

Webbrowser öffnen und Adresse OX6_DOMAIN (z.B. http://domain.org/ox6 bzw. https://ox.domain.org) eingeben. Der Login-Bildschirm von Open-Exchange erscheint.

Mit den Login-Daten des User Tux einloggen. Die Open-Xchange Weboberfläche erscheint.

In den Bereich Einstellungen wechseln, um diese dem persönlichen Geschmack anzupassen. Z.B. Einstellen der Sprache auf Deutsch, Zeit-und Datumsformat, Userdaten, usw.


Open-Xchange Admin Oberfläche

Standardmäßig liefert Open-Xchange keine Möglichkeit mit, User in einer graphischen Oberfläche anzulegen bzw. zu bearbeiten. Die einzig vorgesehene Methode ist oben angeführter ellenlanger createuser-Befehl. Diesen Missstand beseitigt folgendes Admingui (http://oxgui.wordpress.com).

Downloaden und installieren

cd /usr/local/src (evtl. mit mkdir anlegen, falls Verzeichnis nicht existiert)

Aktuelle Oberfläche mittels downloaden:

wget http://oxgui.sciencesoft.at/psoxgui.0.1.16.tar.gz

Entpacken und Rechte anpassen:

tar -C / -xvzf  psoxgui.0.1.16.tar.gz
chown -R open-xchange:open-xchange /opt/open-xchange/etc/psoxgui

Open-Xchange neu starten:

/etc/init.d/open-xchange-admin restart
/etc/init.d/open-xchange-groupware restart

Ca 10s warten bis Open-Xchange komplett neu gestartet ist:

/opt/open-xchange/sbin/listbundles

Der Befehl sollte folgende Ausgabe liefern:

...
bundlename: at.sciencesoft.oxadmingui status: ACTIVE
...

Apache Konfiguration erweitern

Hier soll die Apache-Konfguration für den OxAdmin optimiert werden. Die Admin Oberfläche ist normalerweise unter /servlet/webserver/index.html erreichbar, was relativ schwierig zu merken sein dürfte. Durch die Änderung ist diese durch /oxadmin erreichbar.

Desweiteren besteht die Möglichkeit, die Oberfläche nur aus dem lokalen Netz erreichbar zu machen, während OX selbst natürlich weiterhin aus dem kompletten Internet erreichbar ist.

vi /etc/apache2/conf.d/ox6.conf

Ans Ende der Datei folgende Zeilen einfügen:

Redirect /oxadmin /servlet/webserver/index.html
<Location /servlet/webserver/index.html>
   Order deny,allow
   Deny from All
   Allow from 192.168.0.0/255.255.255.0
</Location>


Bulbgraph.png Hinweis:
Falls die Admin-Oberfläche sowohl lokal, als auch aus dem Internet erreichbar sein soll, dann obigen Block <Location /servlet ... </Location> auskommentieren, oder löschen.


Nach dem Durchführen der Änderung Apache neu starten:

/etc/init.d/apache2 restart


Funktionscheck

Webbrowser öffnen und folgende Checks durchführen:

  • Adresse http://domain.org/oxadmin eingeben.
=> Es muss eine Forbidden-Seite angezeigt werden
  • Falls Virtualhost eingerichtet:
Adresse http://ox.domain.org/oxadmin eingeben.
=> Es muss eine Forbidden-Seite angezeigt werden
  • Adresse http://IP_DES_SERVER/oxadmin eingeben
=> Der Login Bildschirm der Adminoberfläche sollte nun erscheinen.


Konfiguration

Webbrowser öffnen und Adresse http://IP_DES_SERVER/oxadmin eingeben. Der Loginbildschirm des Admin-Gui sollte erscheinen.

  • Login mit:
OXadmin:  oxadminmaster
Passwort: admin_pwd
  • Contextadmin festlegen

Im linken Navigationsbereich Kontext anklicken. Haken in der Box vor ID 1 setzen und anschließend auf den Button ContextAdmin setzen klicken

ContextAdmin: oxadmin
Passwort:     admin_pwd

Den Button Speichern anklicken

  • Defaultcontext festlegen

Haken in der Box vor ID 1 setzen und anschließend Button setzen anklicken


Benutzung Adminoberfläche

Webbrowser öffnen und Adresse http://IP_DES_SERVER/oxadmin eingeben. Der Loginbildschirm des Admin-Gui sollte erscheinen.

  • Login mit:
OXadmin:  oxadminmaster
Passwort: admin_pwd
  • Im linken Navigationsbereich Kontext anklicken.
  • Haken in der Box vor ID 1 setzen und anschließend Button setzen anklicken

Nun können Benutzer und Gruppen angelegt, geändert und gelöscht werden. Die Benutzung sollte selbsterklärend sein.


Optional: Mailserver-User gegen Open-Xchange authorisieren

Nachdem Open-Xchange eine komplette Userverwaltung mitbringt, empfiehlt es sich die Imap- und Postfix-User (SMTP-Auth) gegen die Open-Xchange Datenbank zu authorisieren. Dies hat den Vorteil, dass die Passwörter nur einmal gepflegt werden müssen. Weiterhin kann jeder User sein Passwort in der Open-Xchange Weboberfläche sehr einfach ändern.

Bulbgraph.png Hinweis:

Wenn bei folgenden Schritten Konfigurationsfehler gemacht werden, funktioniert evtl. der Login beim Imap- und Postfix-Server nicht mehr. Deshalb solten alle Änderungen an bereits bestehenden Files durch auskommentieren bereits bestehender Einträge und Einfügen einer neuen Zeile erfolgen. So kann jederzeit zur Originalkonfiguration erfolgen. Nachdem "nur" die Authorisierung der user für den Mailserver umgestellt wird, hat dies keinerlei Einfluss auf das Login-Verhalten mittels Putty oder FTP-Server.


Konfiguration

Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich:

apt-get install libnss-mysql-bg libpam-mysql
Bulbgraph.png Hinweis:

Bei zwei Testinstallationen wurde festgestellt, dass die Datenbank von Open-Xchange nicht immer den selben Namen trägt. Einmal war dieser oxdatabase_6 und einmal oxdatabase_7. Deshalb sollte vor der Fortsetzung der Konfiguration mittels phpmyadmin (siehe → siehe auch hier) der exakte Datenbankname -> OX-DB ermittelt werden und in folgenden Einstellungen enstprechend angepasst werden.

vi /etc/pam.d/imap 

Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen

Bulbgraph.png Hinweis:

Sämtliche Einträge hinter auth in eine Zeile und hinter accout in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.

auth    optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd=ox_pwd db=OX-DB
        [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1]
        usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1
account required pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd=ox_pwd db=OX-DB
        [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid]  [where=user.cid=1]
        usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1
cp /etc/pam.d/imap /etc/pam.d/sieve
cp /etc/pam.d/imap /etc/pam.d/smtp
vi /etc/libnss-mysql.cfg

Folgende Zeilen einfügen:

Bulbgraph.png Hinweis:

Einträge, die ganz links beginnen in eine Zeile schreiben. Die Zeilenumbrüche und Einrückungen wurden nur zur Erhöhung der Übersichtlichkeit eingefügt.

getpwnam  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell 
          FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id 
          AND login2user.id=prg_contacts.userid AND login2user.uid='%1$s' LIMIT 1
getpwuid  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell
          FROM login2user,user,prg_contacts WHERE user.cid=1 AND login2user.id=user.id AND prg_contacts.userid=user.id 
          AND user.uidNumber='%1$u' LIMIT 1
getspnam  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,user.shadowLastChange,0,0,-1,-1,'A' 
          FROM login2user,user WHERE login2user.cid=1 AND login2user.id=user.id AND login2user.uid='%1$s' LIMIT 1
getpwent  SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell
          FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id
          AND login2user.id=prg_contacts.userid
getspent  SELECT login2user.uid,user.userPassword,user.shadowLastChange,0,0,-1,-1,'A' FROM login2user,user
          WHERE login2user.cid=1 AND login2user.id=user.id;
getgrnam  SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1 AND identifier='%1$s' LIMIT 1
getgrgid  SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1 AND gidNumber='%1$u' LIMIT 1
getgrent  SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1
memsbygid SELECT login2user.uid FROM login2user,groups,groups_member WHERE groups.cid=1 AND groups.id=groups_member.id
          AND  groups_member.member=login2user.id AND groups.gidNumber='%1$u'
gidsbymem SELECT groups.gidNumber FROM groups,groups_member,user,login2user WHERE groups.cid=1
          AND groups_member.member=user.id AND user.id=login2user.id AND groups.id=groups_member.id
          AND login2user.uid='%1$s';
host      localhost
database  OX-DB
username  openexchange
password  ox_pwd
vi /etc/libnss-mysql-root.cfg

Folgende Zeilen einfügen:

username    openexchange
password    ox_pwd
vi /etc/nsswitch.conf

Alle vorhandenen Zeilen auskommentieren (#Zeichen davor setzen) und folgende Zeilen einfügen:

passwd:         files mysql
group:          files mysql
hosts:          files dns

Rechte anpassen, um das Datenbank-Passwort im File libnss-mysql-root.cfg vor fremdem Zugriff zu schützen:

chmod 600 /etc/libnss-mysql-root.cfg
chmod 600 /etc/libnss-mysql.cfg
chmod 600 /etc/pam.d/imap 
chmod 600 /etc/pam.d/sieve
chmod 600 /etc/pam.d/smtp


Saslauth Daemon neustarten, um die Änderungen zu übernehmen.

/etc/init.d/saslauthd restart


Cyrus-User anlegen

Nachdem die User nun gegen die Open-Xchange Datenbank authorisiert werden, muß auch der Cyrus-User, der für die Administration des Imap-Servers verantwortlich ist, in der Open-Xchange Datenbank angelegt werden. Dies kann entweder via Adminoberfläche (→ siehe auch hier) oder mittels folgendem Befehl erfolgen:

cd /opt/open-xchange/sbin
./createuser -c 1 -A oxadmin -P admin_pwd -u cyrus -d "Cyrus Admin" -g cyrus -s Admin \
-p CYRUS_PWD -e cyrus@domain.org --imaplogin cyrus --imapserver IP_MAILSERVER --smtpserver IP_MAILSERVER


Neuen User anlegen

Bulbgraph.png Hinweis:

Nachdem die Authorisierung des IMAP-Servers auf die Open-Xchange Datenbank umgestellt wurde, sind folgende Schritte nötig, um in Zukunft einen neuen User (Imap+Open-Xchange) anzulegen.

Um einen komplett neuen User Tux_neu anzulegen müssen folgende Schritte ausgeführt werden:

cyradm --user cyrus localhost

Passwort CYRUS_PWD eingeben Folgende cm Befehle (create Mailbox) eingeben

cm user.Tux_neu
cm user.Tux_neu.Drafts
cm user.Tux_neu.Outbox
cm user.Tux_neu.Sent
cm user.Tux_neu.Trash

Die Adminoberfläche mit folgenden Befehlen verlassen:

quit


Funktionscheck

Wie unter → Funktionscheck beschrieben.

Bulbgraph.png Hinweis:

Falls die Authorisierung nicht klappt, könnte ein falsches Hashing-Verfahren Verwendung finden. Dies kann mittels phpmyadmin (→ siehe auch hier) überprüft werden. In phpmyadmin einloggen und Datenbank oxdatabase_6 öffnen. In der Tabelle user den Reiter Anzeigen auswählen. Im Feld passwordMech sollte CRYPT stehen. Falss nicht, für den betreffenden User Tux_Change das Hashing-Verfahren mit folgenden Befehl umstellen:

/opt/open-xchange/sbin/changeuser -A oxadmin -P admin_pwd -c 1 -u Tux_Change -p Tux_PWD --passwordmech {CRYPT}


Optional: Synchronisation mit Funambol

Die Kontakte, Kalender und Aufgaben können mittels Funambol zwischen Open-Xchange, Outlook und Thunderbird auch mit mobilen Geräten wie Windows-Mobile und SyncML fähigen Handy's abgeglichen werden. Damit stehen diese Daten in allen Programmen und via Open-Xchange von jedem Webbrowser zur Verfügung.

Voraussetzung:


Installation

apt-get install unzip

Download der nötigen Komponenten:

cd /usr/local/src/funambol
wget http://m2.funambol.org/repositories/artifacts/funambol/ox-module/9.0.4/ox-module-9.0.4.zip

Open-Xchange Connector installieren:

unzip ox-module-9.0.4.zip
cd Funambol
cp ox-connector/ox-connector-9.0.4.s4j /opt/Funambol/ds-server/modules
cp ox-listener/funambol-ox-listener-9.0.4.zip /opt
cd /opt
unzip funambol-ox-listener-9.0.4.zip
rm funambol-ox-listener-9.0.4.zip

Aktivieren des ox-connector:

vi /opt/Funambol/ds-server/install.properties

An die Zeile modules-to-install den Eintrag ox-connector-9.0.4 anhängen, sodass diese folgendermaßen aussieht:

modules-to-install=content-provider-10.0.0,email-connector-10.0.0,foundation-10.0.0,phones-support-10.0.0,webdemo-10.0.0,ox-connector-9.0.4


Ox-connector Module installieren

cd /opt/Funambol/ds-server
../bin/install
Warning.png Achtung:

Die Fragen zum neu erstellen der Datenbanken UNBEDINGT für alle mit Ausnahme der letzten (ox-connector) mit nein (n) beantworten, da die anderen Datenbanken bereits bestehen. Eine Antwort mit y würde die jeweilige Datenbank/Tabelle neu initialisieren und dadurch evtl. vorhandene Daten zerstören.

  • Die Frage zum Installieren der Datenbank für den content-provider mit n beantworten
  • Die Frage zum Installieren der Datenbank für den email-connector mit n beantworten
  • Die Frage zum Installieren der Datenbank für das foundation Modul mit n beantworten
  • Die Frage zum Installieren der Datenbank für das Modul phones-support mit n beantworten
  • Die Frage zum Installieren der Datenbank für das Modul webdemo mit n beantworten
  • Die Frage zum Installieren der Datenbank für den ox-connector mit y beantworten

Konfiguration

vi ../bin/ox-listener

Folgende Änderungen durchführen:

  • Nach der der 1. Zeile (#!/bin/sh) folgende Zeilen einfügen:
### BEGIN INIT INFO
# Provides:          ox-listener
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Should-Start:      $syslog $funambol
# Should-Stop:       $syslog $funambol
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop ox-listener
# Description:       Start/stop ox-listener for Funambol a Sync server
### END INIT INFO
  • Den Port auf dem ox-listener lauscht auf 13101 ändern, da Port 3101 bereits anderweitig verwendet wird:
JMX_PORT=13101
  • Zweimal den Pfad zu Java 1.6 (JAVA_HOME) anpassen:
JAVA_HOME=$FUNAMBOL_HOME/tools/jre-1.6.0/jre


vi /opt/Funambol/config/com/funambol/oxlistener/task/OXListenerTask.xml
vi /opt/Funambol/config/com/funambol/oxlistener/task/OXListenerOneShotTask.xml
vi /opt/Funambol/config/ox/ox/OXConnector.xml

In allen drei Files den XML-Abschnitt abändern:

<void property="OXUrl">
    <string>http://oxfnbl.funambol.com:80</string>
</void>

in

<void property="OXUrl">
    <string>http://localhost:80</string>
</void>
vi /opt/Funambol/config/Funambol.xml

Den XML-Tag

<void property="officer">
    <string>com/funambol/server/security/UserProvisioningOfficer.xml</string>
</void>

abändern in:

<void property="officer">
    <string>com/funambol/server/security/OXOfficer.xml</string>
</void>


Startscript

Damit der ox-connector beim Systemstart automatisch startet, muß ein Startscript angelegt und eingerichtet werden:

ln -s /opt/Funambol/bin/ox-listener /etc/init.d/ox-listener
update-rc.d ox-listener defaults

Funambol neustarten:

/etc/init.d/funambol stop
/etc/init.d/funambol start
/etc/init.d/ox-listener start


Konfiguration mittels Windows-Admintool

Das Admintool öffnen und als Admin einloggen

Open-Xchange Connector anpassen: Im Linken Navigationsbaum auf Modules/ox klicken OxConnector doppelklicken. URL abändern in: http://localhost:80 Button Save anklicken


Anpassen der Clients

Die Clients müssen ebenfalls angepasst werden, damit diese mit der Open-Xchange Datenbank synchronisieren.

In den Einstellungen der Sync-Client die Datenbanken folgendermaßen ersetzen:

card -> oxcard
scard -> oxscard
cal -> oxcal
scal -> oxscal
task -> oxtask
stask -> oxstask
Bulbgraph.png Hinweis:
  • Hilfe zur Einstellung der Optionen → siehe hier
  • Für User/Passwort müssen die User-Daten von Open-Xchange (nicht Funambol) in den Clients verwendet werden, da die Authorisierung nun Open-Xchange anstatt Funambol übernimmt.