Debian Open-Xchange: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 391: Zeile 391:




=Optional: Synchronisation mit Desktop/Mobil Clients=
=Optional: Synchronisation mit Funambol=
Um die Kontakte, Kalender und Aufgaben mit Desktop(Thunderbird, Outlook)- und Mobil-Clients(Windows Mobile, Handys) zu synchronisieren, 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.
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.


Funambol ist ein mächtiger Sync-ML Server, für den es zahlreiche Synchronisations Clients gibt. Als Beispiele seien hier nur Thunderbird, Outlook, IPhone und Windows Mobile Geräte genannt.
Voraussetzung:
*[[Debian_Funambol|Funambol]]


==Installation==
==Installation==
Standardmäßig verwendet Funambol die Datenbank Hypersonic. Nachdem bereits ein MySQL-Server vorhanden ist, empfiehlt es sich, auch für Funambol eine MySQL-Datenbank zu verwenden, damit nich noch eine zusätzliche Datenbank Engine laufen, und damit Ressourcen verbrauchen muss.


Download der nötigen Komponenten:
Download der nötigen Komponenten:
  cd /usr/local/src
  cd /usr/local/src/funambol
mkdir funambol
cd funambol
  wget ftp.gwdg.de/pub/linux/mysql/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz
  wget ftp.gwdg.de/pub/linux/mysql/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz
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
  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 durchgescrollt, 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]: '''''no'''''


Open-Xchange Connector installieren:
Open-Xchange Connector installieren:
Zeile 419: Zeile 410:
  cd /opt
  cd /opt
  unzip funambol-ox-listener-7.0.5.zip
  unzip funambol-ox-listener-7.0.5.zip
  rm funambol-ox-listener-7.0.5.zipv
  rm funambol-ox-listener-7.0.5.zip


Anlegen der Datenbank ('''''funambol-pwd''''' mit dem gew. Passwort ersetzen):
Aktivieren des ox-connector:
  mysql -u root -p
  vi /opt/Funambol/ds-server/install.properties
''''''SQL_PWD''''' eingeben
create database funambol;
GRANT ALL PRIVILEGES ON funambol.* TO 'funambol'@'localhost' IDENTIFIED BY ''''''funambol-pwd'''''';
exit


Installieren der MySQL-Java-Komponente:
tar xvf mysql-connector-java-5.1.7.tar.gz
cp mysql-connector-java-5.1.7/mysql-connector-java-5.1.7-bin.jar /opt/Funambol/tools/jre-1.5.0/jre/lib/ext
Umstellen des Datenbanktyps von Hypersonic auf MySQL :
vi /opt/Funambol/ds-server/install.properties
Datenbanktyp festlegen:
dbms=mysql
Folgende Zeilen mit einem Kommentarzeichen (#) versehen, um diese zu deaktivieren:
#jdbc.classpath=../tools/hypersonic/lib/hsqldb.jar
#jdbc.driver=org.hsqldb.jdbcDriver
#jdbc.url=jdbc:hsqldb:hsql://localhost/funambol
#jdbc.user=sa
#jdbc.password=
und stattdessen folgende Zeilen dahinter einfügen:
jdbc.classpath=/opt/Funambol/tools/jre-1.5.0/jre/lib/ext/mysql-connector-java-5.1.7-bin.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/funambol?characterEncoding=UTF-8
jdbc.user=funambol
jdbc.password='''''funambol-pwd'''''
An die Zeile '''''modules-to-install''''' den Eintrag ''''',ox-connector-7.0.5''''' anhängen, sodass diese folgendermaßen aussieht:
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
  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
Ox-connector Module installieren
  cd /opt/Funambol/ds-server
  cd /opt/Funambol/ds-server
  bin/install
  bin/install
Die Frage zum Installieren der Datenbank für den content-provider    mit '''''y''''' beantworten
{{Rechteck3|Hinweis:
Die Frage zum Installieren der Datenbank für den email-connector      mit '''''y''''' beantworten
:Die Fragen zum neu erstellen der Datenbanken kann für alle mit Ausnahme der letzten (ox-connector) mit nein (n) beantwortet werden, da diese bereits bestehen und evtl. bereits mit Daten befüllt sind}}
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 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
Die Frage zum Installieren der Datenbank für den ox-connector        mit '''''y''''' beantworten


Zeile 488: Zeile 458:
     <string>com/funambol/server/security/OXOfficer.xml</string>
     <string>com/funambol/server/security/OXOfficer.xml</string>
  </void>
  </void>
Konfiguration, damit die Datenbank-Verbindung nach einiger Zeit der Inaktivität nicht beendet wird, was zu Fehlern und Synchronisationsverlust führen würde.
vi /opt/Funambol/config/com/funambol/server/db/db.xml
Folgende Zeilen einfügen vor dem XML-Tag </object>:
  <void method="setProperty">
    <string>remove​Abandoned</string​>
    <string>true​</string>
  </void>
  <void method="setProperty">
    <string>remove​AbandonedTimeout<​/string>
    <string>55</string>
  </void>
  <void method="setProperty">
    <string>valida​tionQuery</string​>
    <string>SELECT 1</string>
  </void>




==Startscript==
==Startscript==
Damit Funambol beim Systemstart automatisch startet, müssen die Startscripte angelegt und eingerichtet werden:
Damit der ox-connector beim Systemstart automatisch startet, muß ein Startscript angelegt und eingerichtet werden:
ln -s /opt/Funambol/bin/funambol /etc/init.d/funambol
  ln -s /opt/Funambol/bin/ox-listener /etc/init.d/ox-listener
  ln -s /opt/Funambol/bin/ox-listener /etc/init.d/ox-listener
update-rc.d funambol defaults
  update-rc.d ox-listener defaults
  update-rc.d ox-listener defaults


Startscript anpassen:
Funambol neustarten:
  vi /etc/init.d/funambol
  /etc/init.d/funambol stop
FUNAMBOL_HOME zuweisen:
FUNAMBOL_HOME="/opt/Funambol"
Deaktivieren der Hypersonic Datenbankengine:
COMED=false
Deaktiveren der beiden folgenden Komponenten durch davorsetzen eines Kommentarzeichens '''''#''''':
#sh $FUNAMBOL_HOME/bin/inbox-listener start > /dev/null
#sh $FUNAMBOL_HOME/bin/pim-listener start > /dev/null
 
Funambol starten:
  /etc/init.d/funambol start
  /etc/init.d/funambol start
  /etc/init.d/ox-listener start
  /etc/init.d/ox-listener start




==Windows-Admintool==
==Konfiguration mittels Windows-Admintool==
Das Windows Admintool herunterladen (http://download.forge.objectweb.org/sync4j/funambol-admin-7.1.0.exe) und installieren.
Das Admintool öffnen und als Admin einloggen
Admintool starten.
Doppelklick auf '''''Funambol Administration Tool'''''
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.
 
 
'''Neuen User anlegen'''
*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.
:In der Liste Roles '''User''' selektieren
:Button Save anklicken um den User anzulegen
:Evtl. den Button Cancel anklicken, um ins User Hauptmenü zurückzukehren
*Den Button '''Search''' klicken
:Eine Liste aller User erscheint. Der neu angelegte User sollte neben den bereits existenten Usern admin und guest erscheinen.
 
 
'''Passwort des Admin Users ändern:'''
*Die Baum-Liste des Servers erweitern und auf '''''Users''''' doppelklicken, um zur Userverwaltung zu gelangen.
*Den Button '''Search''' klicken
:Eine Liste aller definierter User erscheint.
:admin doppelklicken bzw. admin einfach anklicken und Button Edit anwählen
:Neues Passwort unter '''Password''' und '''Confirm Password''' eintragen
 


Open-Xchange Connector anpassen:
Open-Xchange Connector anpassen:
Zeile 567: Zeile 481:




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


==Optional HTTPS-Verschlüsselung==
In den Einstellungen der Sync-Client die Datenbanken folgendermaßen ersetzen:
Wenn eine Synchronisierung via Internet durchgeführt werden soll, empfiehlt es sich dies nur verschlüsselt zu tun. Aber auch in einem lokalen Netzwerk hat die Verschlüsselung ihre Berechtigung. Während die unverschlüsselte Synchronisierung via Port 8080 erfolgt, geschieht dies bei SSL-Verschlüsselung via Port 8443. 
:card   -> oxcard
 
:scard  -> oxscard
 
:cal     -> oxcal
'''Keystore/Zertifikat erzeugen:'''
:scal   -> oxscal
 
:task   -> oxtask
{{Rechteck3|'''Hinweis:'''
:stask  -> oxstask
Funambol und die Sync-Clients sind sehr "pingelig", was die Zertifikate anbelangt. Der Common-Name (CN) des Zertifikates muß unbedingt mit der Serveradresse übereinstimmen, da ansonsten überhaupt keine Synchronisation möglich ist. Es ist nicht so wie bei Webbrowsern, die eine Warnung anzeigen, falls beides nicht übereinstimmen sollte. Bei Funambol kommt keinerlei Synchronisation zustande. Bei folgendem Befehl enttspricht der CN der Frage '''''first and last name'''''}}
 
keytool -genkey -alias tomcat -keyalg RSA
Als Passwort unbedingt '''''changeit''''' vergeben, da ansonsten Apache Tomcat nicht darauf zugreifen kann. Die anschließenden Fragen folgendermaßen beantworten:
:first and last name: sync.domain.org  (siehe Hinweis)
:organizational unit: Server Administration
:organization:        Private
:City or Location:   Unknown
:State or Proivince:  Unknown
:Country Code:        DE
:IS CN=sync.domain.org... correct? : y
:Enter Keypasswort for <tomcat> : RETURN
Dadurch wird unter /root/.keystore der Keystore angelegt, der das nötige Zertifikat enthält.
 
 
'''Zertifikat exportieren:'''
keytool -export -alias tomcat -file /root/sync.'''''domain'''''.cer
 
/root/sync.'''''domain'''''.cer auf den Windows-Pc übertragen, z.B. mittels WinSCP.
Übertragenes File im Windows-Explorer doppelklicken, und den Fragen folgen, um es zu importieren.
 
 
'''HTTPS in Funambol aktivieren:'''
vi /opt/Funambol/tools/tomcat/conf/server.xml
den folgenden Abschnitt auskommentieren (Java Kommentarzeichen '''''<! --''''' und '''''-- >''''' vor bzw, nach dem Block entfernen)
< !--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
     clientAuth="false" sslProtocol="TLS" />
-- >
sodass dieser folgendermaßen aussieht:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
 
'''Funambol neustarten:'''
/opt/Funambol/bin/funambol stop
/opt/Funambol/bin/funambol start
 
Den Port 8443 im Router auf den Debian Server weiterleiten.
 
 
==Clients Synchronisieren==
Für die Synchronisierung von Clients stehen Zahlreiche Plugins zur Verfügung (siehe hier: https://www.forge.funambol.org/download/). Im folgenden wird die Synchronisation für Thunderbird, Outlook, Windows Mobil und SyncML fähige Handy's erläutert.
 
{{Rechteck3|'''Hinweis:'''
Beim ersten Syncvorgang, sollten bei allen folgenden Beschreibungen zunächst nur Kontakte synchronisiert werden, da erst die Zeitzone ([[Debian_Open-Xchange#Einstellen der Zeitzone|&rarr; siehe hier]]) der Endgeräte korrekt eingestellt werden sollte. Dies ist wichtig für die Synchronisierung von Terminen, da es durch Zeitzonenunterschiede zu Veschiebungen +/- einige Stunden kommen kann. Erst wenn die Zeitzone am Endgerät selbst und in der Adminoberfläche korrekt eingestellt sind, sollte die Synchronisierung von Terminen vorgenommen werden.}}
 
 
===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.
Im sich öffnenden Fenster das Menü '''''Tools/Options''''' anwählen
Unter '''''Funambol/Account''''' folgende Einstellungen vornehmen:
:Location: http:  '''''http://IP_Des_Servers:8080/funambol/ds'''''
:Location: https: '''''https://sync.domain.org:8443/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.
 
===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:  '''''http://IP_Des_Servers:8080/funambol/ds'''''
:Location: https: '''''https://sync.domain.org:8443/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.
 
 
===SyncML fähiges Handy===
Zahlreiche neuere Handy's sind SyncML fähig und können damit direkt mit dem Funambol-Server synchronisiert werden. Eine Software auf dem PC ist nicht erforderlich, die meist ohnehin nur mit Outlook synchronisieren kann.
Ein weiterer Vorteil ist, dass die Synchronisierung auch aus der Ferne -z.B. via GPRS/GSM/UMTS von unterwegs, oder via Internet mit einem WLAN fähigen Handy an einem WLAN Hotspot - erfolgen kann. Weitere Alternative ist via Bluetooth ([[Debian_Bluetooth|&rarr; siehe hier]]).
 
Aufgrund der Vielzahl verschiedener Handy's und dadurch bedingt bedienvarianten, kann hier keine allgemeingültige Anleitung gegeben werden. Es wird beispielhaft die Einrichtung eines Sony Ericsson Handy's demontriert.
 
*Menü Einstellungen/Verbindungen/Synchronisierung
*Neues Konto
*SyncML
*Name: z.B. Funambol-Server
*Reiter Allgemein
:Serveradresse: http:  '''''http://IP_Des_Servers:8080/funambol/ds'''''    (funktioniert natürlich nur bei lokaler Bluetooth-Verbindung)
:Serveradresse: https: '''''https://sync.domain.org:8443/funambol/ds'''''  (funktioniert auch bei Internet/GSM/GPRS/UMTS)
:Benutzername: '''''Tux'''''
:Kennwort:    '''''Tux_pwd'''''
*Reiter Anwendungen
:Kontakte, Kalender und Aufgaben aktivieren
*Reiter Anw.-Einstellungen
:Kontakte
::Datenbankname: oxcard
::Benutzername:  leer lassen
::Kennwort:      leer lassen
:Kalender
::Datenbankname: oxcal
::Benutzername:  leer lassen
::Kennwort:      leer lassen
:Aufgaben
::Datenbankname: oxtask
::Benutzername:  leer lassen
::Kennwort:      leer lassen
*Reiter Erweitert
:Sync-Intervall: Je nach Bedarf
:Verbindung Zulassen: Heimatnetz
:Verbindung
::Verbinden mit: WLAN,GPRS/GSM/UMTS,Bluetooth-Verbindung je nach gewünschter Verbindungsart
::Lokale Verb zulassen: Ein
:Geschützte Verbindung: bei http-Verbindung: aus  / bei https-Verbindung: ein
:Remoteinitialisierung: Immer fragen
:Remotesicherhet: leer lassen
 
Verbindung herstellen
Synchronisierung starten.
 
===Windows Mobile Synchronisieren===
TBD
 
 
==Einstellen der Zeitzone==
Für die Synchronisierung von Kalendern und Terminen ist die Zeitzone entscheidend. Wenn die Zeitzonen der Geräte und Server nicht übereinstimmen, können Versetzungen der Termine +/- einige Stunden auftreten.
 
Zunächst am Endgerät, das synchronisiert werden soll, die Zeitzone richtig einstellen.
 
Nachdem ein Gerät einmal Kontakt zum Server hatte, wird ein Device-Eintrag angelegt, der unter der Admin-Oberfläche unter Devices erreichbar ist.


Adminoberfläche öffnen und einen Doppelklick auf '''Devices''' durchführen
Für Hinweise zur Einstellung der Optionen [[Debian_Funambol#Clients Synchronisieren|&rarr; siehe hier]].
Dann auf den Button '''Search''' klicken.
Eine Liste aller Devices erscheint nun.
Das Device Doppelklicken
Als Timezone Europe/Berlin auswählen
Die Änderung mittels Button '''Save''' übernehmen.
Evtl. den Button '''Cancel''' anklicken, um in die Device-Liste zurückzukehren

Version vom 21. April 2009, 18:12 Uhr

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.


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:

deb http://download.opensuse.org/repositories/server:/OX:/ox6/DebianLenny/ /
Hinweis:
Folgende Zeilen stellen einen Befehl dar, der sich über mehrere Zeilen erstreckt.
apt-get install ant sun-java5-jdk open-xchange-admin-client open-xchange-admin-soap \
open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc \
open-xchange-admin-plugin-hosting open-xchange-admin open-xchange-axis2 \
open-xchange-authentication-database open-xchange-cache \
open-xchange-charset open-xchange-common open-xchange-configjump-generic \
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 Die Java Einverständnis-Frage mit ja beantworten: Cursor links/rechts + Enter


Apache konfigurieren

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

a2enmod proxy
a2enmod proxy_ajp
a2enmod expires
a2enmod deflate
a2enmod headers
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: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
vi /etc/apache2/sites-enabled/000-default

Folgende Zeilen am Ende (vor der Zeile </VirtualHost>) einfügen:

    <Directory /var/www/ox6>
       AllowOverride None
       Order allow,deny
       allow from all
    </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

sodass das Ende des Files /etc/apache2/sites-enabled/000-default folgendermaßen aussieht:

    ...
    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>

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


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

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

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

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

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

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. Normalerweise localhost
--smtpserver Hostadresse des SMTP-Servers. Normalerweise localhost


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 localhost --smtpserver localhost


Funktionscheck

Webbrowser öffnen und Adresse http://IP_Des_Servers/ox6 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 hat Herr M. Weiss (www.kess.cc) mit seinem Admingui beseitigt.

Downloaden und Compilieren

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

Aktuelle Oberfläche mittels Subversion Downloaden:

svn checkout https://mani.kess.cc/svn/mwOX

Die Frage mit p (permanent) beantworten

cd mwOXAdminGUI/trunk
vi build.xml

der Parameter oxhtml sollte folgendermaßen aussehen:

<property name="oxhtmldir" value="/var/www/ox6"/>

Mittels ant die Adminoberfläche compilieren (java):

ant

Konfiguration

vi /opt/open-xchange/etc/admingui/open-xchange-admin

Folgende Einstellungen vornehmen:

  • Adminusers(durch Komma getrennt):
ADMIN_USERS=oxadmin,tux
  • oxadmin-Passwort (Passwort des Users oxadmin - siehe oben):
OX_ADMIN_PASSWORD=admin_pwd
  • Maildomains:
MAILDOMAINS=domain.org

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

Open-Xchange Groupware-Server neustarten:

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

Webbrowser öffnen und als Adminuser (oxadmin bzw. User, die als $adminusers eingetragen wurden) einloggen → 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.

Hinweis:
  • Es ist nicht möglich, den Usernamen (Loginname) zu ändern.
  • 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.


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.

Konfiguration

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

apt-get install libnss-mysql libpam-mysql
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

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:

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 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 localhost --smtpserver localhost

Neuen User anlegen

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.


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

Download der nötigen Komponenten:

cd /usr/local/src/funambol
wget ftp.gwdg.de/pub/linux/mysql/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz
wget http://download.forge.objectweb.org/sync4j/funambol-ox-connector-7.0.5.zip

Open-Xchange Connector installieren:

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

Aktivieren des ox-connector:

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


Ox-connector Module installieren

cd /opt/Funambol/ds-server
bin/install
Hinweis:
Die Fragen zum neu erstellen der Datenbanken kann für alle mit Ausnahme der letzten (ox-connector) mit nein (n) beantwortet werden, da diese bereits bestehen und evtl. bereits mit Daten befüllt sind

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

Den Port auf dem ox-listener lauscht auf 13101 ändern, da Port 3101 bereits anderweitig verwendet wird:

JMX_PORT=13101
vi config/com/funambol/oxlistener/task/OXListenerTask.xml
vi config/com/funambol/oxlistener/task/OXListenerOneShotTask.xml
vi 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

Für Hinweise zur Einstellung der Optionen → siehe hier.