Erstmal meine Konfiguration vorweg:
Debian etch
Plesk 8.6
alte Horde-Version: 3.1.7
So bin ich vorgegangen:
BACKUP!!!
Da ich viel herumexperimentiert habe habe ich mir ein kleines Script geschrieben um Horde zu backupen:
Code:
#!/bin/bash
cd /usr/share/
tar cvzf $1/psa-horde.tar.gz psa-horde/
cd /etc/
tar cvzf $1/psa-horde-etc.tar.gz psa-horde/
mysqldump horde -u admin --password=[I]xxx [/I]> $1/horde.sql
xxx muss natürlich durch das MySQL-Passwort ersetzt werden. Das Skript wird mit einer Pfad-Angabe als Parameter aufgerufen und sichert die komplette Horde-Installation dahin.
Ich habe dieses Skript auch nach jedem Update der einzelnen Horde-Applications ausgeführt - man weiß ja nie...
Horde-Administrator definieren
Zuerst einmal ist es sinnvoll zumindest einen User als Admin zu definieren, um mehr Infos zu sehen:
dafür in der
/usr/share/psa-horde/config/conf.php folgende Zeile unten anfügen (oder die bestehende suchen und ändern):
Code:
$conf['auth']['admins'] = array("meine@adresse.com");
Neue Versionen besorgen
Jetzt sollte dieser User im Horde-Menü einen neuen Punkt "Administration" sehen. Darunter mal den Punkt "Konfiguration" aufrufen und auf den Button "Auf aktuellere Versionen überprüfen" klicken. Dann werden nämlich gleich die benötigten Links zum Download der neueren Versionen eingeblendet.
Für SyncML sind folgende Pakete notwendig:
- Horde
- IMP
- Kronolith (Kalender)
- Mnemo (Notizen - wer will)
- Turba (Adressbuch)
Jetzt erstmal alle benötigten Pakete in ein temporäres Verzeichnis auf dem Server laden und auspacken. Ich geh jetzt mal davon aus, dass dieses Verzeichnis
/root/horde-update ist. Dann sollte danach folgende Verzeichnisstruktur bestehen:
Code:
horde-3.3.2
imp-h3-4.3.2
kronolith-h3-2.3
mnemo-h3-2.2.1
turba-h3-2.3.1
Dann kanns mit dem eigentlichen Update losgehen:
Horde-Framework updaten
Da alle Konfigurationsdateien standardmäßig ein
.dist angehängt haben wird beim direkten kopieren nichts überschrieben:
Code:
cp -r /root/horde-update/horde-3.3.2/* /usr/share/psa-horde
Dann das MySQL-Update ausführen:
Code:
mysql horde -u admin --password=xxx < /usr/share/psa-horde/scripts/upgrades/3.1_to_3.2.mysql.sql
Und dann die
/usr/share/psa-horde/config/conf.php editieren:
Folgendes anfügen:
Code:
$conf['urls']['token_lifetime'] = 120;
Dann mit der Zeile 2 aus der conf.xml
Code:
<!-- $Horde: horde/config/conf.xml,v 1.74.2.81 2008/11/27 05:29:45 chuck Exp $ -->
ohne die XML-Kommentarzeichen, dafür als PHP-Kommentar in der conf.php, Zeile 3 ersetzen:
Code:
// $Horde: horde/config/conf.xml,v 1.74.2.81 2007/02/02 11:03:05 jan Exp $
Anhand dessen überprüft Horde die Aktualität der conf.php. Diese sollte aber tunlichst nicht überschrieben werden, da Plesk-spezifische Änderunen drin sind.
Damit sollte das Update des Horde-Frameworks vollbracht sein. Ein Aufruf von
http://webmail.meine.domain/test.php sollte die neue Versionsnummer anzeigen. Dann mal testweise als Admin in Horde einloggen und unter Administration/Konfigruation nochmal auf neuere Versionen prüfen, da sollte Horde dann aktuell sein.
Wenn das alles geklappt hat kanns mit IMP weitergehen:
IMP Update
Erstmal die Dateien kopieren:
Code:
cp -r /root/horde-update/imp-h3-4.3.2/* /usr/share/psa-horde/imp
Dann muss wieder die conf.php aktualisiert werden. Das geht jetzt am einfachsten in dem man Horde selber verwendet. Dazu wieder als Admin einloggen und dort unter Administration/Konfiguration sollte neben Webmail(imp) stehen, dass die Konfiguration aktualisiert werden muss. Da einfach auf imp klicken und man erhält eine komfortable Maske. Es können alle Einstellungen erstmal so beibehalten werden und dann ganz unten auf "Webmail-Konfiguration erzeugen" klicken. Dann wir Horde mosern, dass er keinen Schreibrechte auf die
/usr/share/psa-horde/imp/config/conf.php hat. Das ist auch gut so, einfach die ausgegebene conf.php kopieren und über SSH in die Datei schreiben.
Dieses Prozedere muss später auch für die anderen Horde-Applications wiederholte werden.
Leider enthält die Version H3-4.3.2 von IMP noch einen Bug im Session-Handling. Ich habe das gelöst indem in in der
/usr/share/psa-horde/imp/lib/IMP.php die Zeile 337
Code:
if ($_SESSION['horde_form_secrets'][$token] + $GLOBALS['conf']['server']['token_lifetime'] < time()) {
so verändert habe:
Code:
if (($_SESSION['horde_form_secrets'][$token] + $GLOBALS['conf']['urls']['token_lifetime'] * 60) < time()) {
Dabei ist unbedingt auf die Klammersetzung zu achten, sonst gibts nur Murks...
Jetzt sollte IMP geupdatet sein. Einfach mal über die test.php testen und nochmal in Administration/Konfiguration nachschauen. Sicherheitshalber auch mal probeweise eine Mail verschicken und vor allem Mails zwischen verschiedenen Ordnern kopieren/verschieben.
Wenn alles geht kann dann mit Kronolith weitergehen:
Kronolith Update
Wieder erstmal die Dateien kopieren:
Code:
cp -r /root/horde-update/kronolith-h3-2.3/* /usr/share/psa-horde/kronolith
Dann müssen diesmal zwei SQL-Update-Scripts ausgeführt werden:
Code:
mysql horde -u admin --password=xxx < /usr/share/psa-horde/kronolith/scripts/upgrades/2.1_to_2.2.sql
mysql horde -u admin --password=xxx < /usr/share/psa-horde/kronolith/scripts/upgrades/2.2_to_2.3.sql
Und dann wieder die conf.php neu erstellen wie bei IMP auch schon. Dann wieder testen und weiter geht's mit Mnemo, wer die Notizen verwendet.
PS: Jetzt sollte SyncML für den Kalender schon gehen.
Mnemo Update
Zuerst wieder die Dateien kopieren:
Code:
cp -r /root/horde-update/mnemo-h3-2.2.1/* /usr/share/psa-horde/mnemo
Dann SQL-Update-Script ausführen:
Code:
mysql horde -u admin --password=xxx < /usr/share/psa-horde/mnemo/scripts/upgrades/2.1_to_2.2.sql
mysql horde -u admin --password=xxx < /usr/share/psa-horde/mnemo/scripts/upgrades/2.2_to_2.2.1.sql
Und wieder die conf.php wie oben erstellen. Alles testen und mit Turba weitermachen:
Turba
Turba ist zum Glück sehr einfach: Dateien kopieren und conf.php erstellen:
Code:
cp -r /root/horde-update/turba-h3-2.3.1/* /usr/share/psa-horde/turba
So, es sollte geschafft sein!
SyncML ausprobieren/einrichten (am Beispiel von Nokia S60 3rd)
Ich habe ein Nokia E71 und erläutere die Einrichtung von SyncML nur für dieses Gerät. Dürfte allerdings bei anderen Symbiangeräten ähnlich sein.
Unter System das Programm "Synchron." starten. Dann Optionen->Neues Synchron.-profil
Name: einfach vergeben
Verbindungseintell.L
Serverversion: 1.2
Server-ID: Kein
Datenträger: Internet
Zugangspunkt: Immer fragen/fest voreinstellen
Serveradresse:
http://webmail.meine.domain/rpc.php
Port: 80
Benutzername:
meine@adresse.com
Passwort: IMAP-PW
Sync-Anfr. erlauben: Nein
Alle Sync-Anfr. ann.: Nein
Netzauthentifizier.: Nein
Programme:
Kontakte:
Externe Datenbank: contacts
Kalender:
Externe Datenbank: calendar
Notizen:
Externe Datenbank: notes
Alle anderen Programme unterstützt Horde so wie wirs jetzt konfiguriert haben nicht.
So, ich hoffe diese jetzt doch recht lange Anleitung hilft soweit dem einem oder anderem. Ich werde mich jetzt mal zum Festmahl begeben, heute ist schließlich Sylvester und morgen Neujahr...