Debian Open-Xchange
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.
- Diese Anleitung basiert auf Einträgen aus dem offiziellen Wiki (http://www.open-xchange.com/wik) und vor allem der Anleitung zur Einrichtung unter Debian: http://www.open-xchange.com/wiki/index.php?title=Open-Xchange_Installation_Guide_for_Debian_5.0.
- Erweitert wurden diese um eigene Erkenntnisse und Stolperstellen und Diskussionen aus den Foren unter http://www.open-xchange.com/forum.
Voraussetzungen:
- Subversion zur Installation der Adminoberfläche
- Mailserver
- Webserver
- SQL-Server
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://software.open-xchange.com/OX6/stable/DebianLenny/ /
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
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 |
-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 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.9.tar.gz
Entpacken und Rechte anpassen:
tar -C / -xvzf psoxgui.0.1.9.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>
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.
Konfiguration
Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich:
apt-get install libnss-mysql-bg 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 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 localhost --smtpserver localhost
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:
- User Tux_neu in der Open-Xchange Datenbank anlegen (→ siehe hier mittels Befehl oder → siehe hier mittels Adminoberfläche)
- Postfach anlegen (→ siehe auch hier):
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.
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
Der OX-Funambol Connector, der via Funambol Download-Seite verfügbar ist, hat ein Problem durch eine Änderung an Open-Xchange 6.18, die dazu führt, dass die Synchronisation nicht mehr funktioninert. Deshalb kommt hier eine Version zum Einsatz, die einen Patch für das Problem bereitstellt. Details dazu siehe auf folgender Seite: http://blog.peter-b.org/2010/12/11/funambol-ox-connector-open-xchange-6-18-server-error-511/
Download der nötigen Komponenten:
cd /usr/local/src/funambol wget http://blog.peter-b.org/downloads/Funambol-ox-connector-7.1.1-patched-for-ox-6.18.tgz
Open-Xchange Connector installieren:
tar xvf Funambol-ox-connector-7.1.1-patched-for-ox-6.18.tgz cd Funambol-ox-connector-7.1.1-patched-for-ox-6.18 cp ox-connector/ox-connector-7.1.1-SNAPSHOT.s4j /opt/Funambol/ds-server/modules cp ox-listener/funambol-ox-listener-7.1.1-SNAPSHOT.tar.gz /opt cd /opt tar xvf funambol-ox-listener-7.1.1-SNAPSHOT.tar.gz rm funambol-ox-listener-7.1.1-SNAPSHOT.tar.gz
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.1.1-SNAPSHOT
Ox-connector Module installieren
cd /opt/Funambol/ds-server ../bin/install
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
Hinweis: | |
|