Weave Minimal Server für Firefox Sync

Aus
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Der Inhalt dieser Seite ist veraltet. Sie sollte entweder aktualisiert oder vom Rest des aktiven Wiki abgetrennt werden, d.h. Wiki-Links auf anderen Seiten hierauf entfernen und Ähnliches. Dies ist keine Aufforderung zum Löschen der Seite.

Einsprüche bitte auf diese Seite unterhalb der Begründung schreiben.


Begründung: Die Software ist seit Firefox 5 nicht mehr verwendbar. Ein Nachfolger ist FSyncMS.


Vorwort

Im Folgenden wird die Installation eines Weave Minimal Servers auf der Synology Diskstation beschrieben. Der Weave Minimal Server ermöglicht die Nutzung des Firefox Sync Mechanismus mit einem "Eigenen Server", so dass der Ort der Datenablage für die zu synchronisierenden Datenelemente (ja nach Konfiguration: Lesezeichen, Passworte, Einstellungen, Chronik und Tabs) die eigene Diskstation ist.

Diese Beschreibung wurde ursprünglich zu Zeiten Firefox 3.x erstellt und später auch unter Firefox 4.x ergänzt und angepasst. Leider wurde zwischenzeitlich die Weiterentwicklung des Weave-Minimal-Server eingestellt, so dass mit Einführung Firefox 5.0 offenbar eine Inkompatibilität gegeben ist. Aktuell gibt es Bemühungen auf Basis der ursprünglichen php-Skripte eine Lösung zu finden. Sobald diese vorliegt, wird diese hier zu finden sein.


  • ERGÄNZUNG:

Es ist aktuell (getestet mit Firefox 13, 14 & 15 & 16 & 20) eine php-Skript/My-SQL Variante namens FSyncMS verfügbar.

Voraussetzungen

  • Apache Server (vorzugsweise) mit SSL-Unterstützung
  • PHP mit sqlite-, mbstring- und json- Unterstützung (beides mindestens ab Firmware DSM 3.0 - 1337 gegeben, eventuell auch schon ältere Stände - nicht geprüft!)
  • Weave Minimal Server Software - Download (Link im vorletzten Absatz“here“): http://tobyelliott.wordpress.com/2009/09/11/weave-minimal-server/
  • Zugang zur Diskstation mit SSH / Telnet (z.B. Putty) als root-user

Server einrichten

  • das heruntergeladene Archiv "weave_minimal.tgz" entpacken. (z.B. mit Midnight Commander auf der DS oder Total Commander auf Windows-PC)
  • das entpackte Verzeichnis in ein Verzeichnis ausserhalb des Web-Space kopieren welches im "open_basedir" bekannt gemacht ist.

HINWEIS: Das an dieser Stelle in früheren Beschreibungen beispielhaft angegebene Verzeichnis /usr/syno/synoman/ wird bei einem Firmware-Update überschrieben, /usr/local/ bleibt hingegen erhalten und ist damit die bessere Wahl.

im hier verwendeten Beispiel sollte es dann so aussehen:

> pwd
/usr/local/php/weaveminiserver
> ll
total 372
drwxr-xr-x  2 root   root     4096 Oct 20 17:29 .
drwxr-xr-x 11 root   root     4096 Oct 13 13:32 ..
-rwxr-xr-x  1 root   root      656 Oct 12 18:31 README
-rwxr-xr-x  1 root   root     2694 Oct 12 18:31 create_user
-rwxr-xr-x  1 root   root    13800 Oct 12 18:31 index.php
-rwxr-xr-x  1 root   root     6558 Oct 12 18:31 weave_basic_object.php
-rwxr-xr-x  1 root   root    18386 Oct 12 18:31 weave_storage.php
>
  • für das neu erstellte Verzeichnis Schreibrechte setzen
> chmod 777 /usr/local/php/weaveminiserver
  • die User-Apache-Konfiguration (/usr/syno/apache/conf/httpd.conf-user) im Modul Aliase um den Eintrag "Alias /weave /[Pfad zum Weave-Verzeichnis]/index.php" erweitern.
> vi /usr/syno/apache/conf/httpd.conf-user
.
.
<IfModule alias_module>
 #
 # Redirect: Allows you to tell clients about documents that used to
 # exist in your server's namespace, but do not anymore. The client
.
. 
 # need to provide a <Directory> section to allow access to
 # the filesystem path.

Alias /weave /usr/local/php/weaveminiserver/index.php
.
.
  • Restart des User-Apache
> /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd stopped
Start User Apache Server .....
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd started
>

alternativ:

> /usr/syno/etc.defaults/rc.d/S97apache-user.sh stop
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd stopped
> /usr/syno/etc.defaults/rc.d/S97apache-user.sh start
Start User Apache Server .....
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd started
>
  • anschließend im Firefox-Browser in der Adressleiste folgende URL aufrufen
https://<servername>/weave/1.0/blah/info/collection
  • Es erscheint eine Login-Maske. Als Benutzername: "blah" und das Passwort: "garbage" eingeben. Das Login läuft auf Fehler. Danach kann man die Login-Maske schliessen. Im Ergebnis sollte jetzt im Weave-Verzeichnis die Datei "weave_db" angelegt worden sein.
> ll
total 372
drwxrwxrwx  2 root   root     4096 Oct 20 17:29 .
drwxr-xr-x 11 root   root     4096 Oct 13 13:32 ..
-rwxr-xr-x  1 root   root      656 Oct 12 18:31 README
-rwxr-xr-x  1 root   root     2694 Oct 12 18:31 create_user
-rwxr-xr-x  1 root   root    13800 Oct 12 18:31 index.php
-rwxr-xr-x  1 root   root     6558 Oct 12 18:31 weave_basic_object.php
-rw-r--r--  1 nobody nobody 314368 Oct 20 17:29 weave_db
-rwxr-xr-x  1 root   root    18386 Oct 12 18:31 weave_storage.php
>
  • Nun ist noch mit Hilfe des PHP-Script "create_user" im Weave-Verzeichnis ein Synchronisations-User einzurichten.

HINWEIS: für "username" nur kleine Alphazeichen verwenden. (siehe auch unter "Bekannte Probleme")

> pwd
/usr/local/php/weaveminiserver
> php create_user
(c)reate, (d)elete or change (p)assword: "c"
Please enter username: "user"
Please enter password: "password"
>

Die Installation des Weave-Minimal-Server ist damit abgeschlossen. Es muß noch der Firefox Sync Client konfiguriert werden.

Firefox Sync Client konfigurieren

Die Konfiguration des Sync-Client zwischen Firefox 3.x und 4.x unterscheidet sich im Wesentlichen darin, dass in Version 3.x das AddOn Firefox Sync installiert werden muß während ab Version 4.0 diese Funktion standardmäßig integriert ist. Für beide Konfigurationen gilt, dass das Einrichten eines neuen Sync-Users aus der Firefox-Konfigurationsoberfläche (wie bei der Verwendung des Firefox-Sync-Server sonst üblich) vom Weave-Minimal-Server nicht unterstützt wird. Das Anlegen der Sync-User muß grundsätzlich wie oben beschrieben mit dem PHP-Script auf der Diskstation vor der Konfiguration des Firefox erfolgen.

Firefox 3.x

  • zunächst muß das AddOn Firefox Sync installiert werden
  • dann unter "Extras" den Menüpunkt "Sync einrichten" auswählen
  • die Auswahl für das Einrichten eines vorhandenen Sync-Konto wählen
  • "Eigenen Server" auwählen, sowie Server-URL (https://<servername>/weave/) und User / Passwort wie mit PHP-Script "create_user" angelegt eingeben (vgl. letzten Punkt unter "Server einrichten")
  • Anschließend wird eine Verbindung zum Weave-Server aufgebaut und zur Eingabe des SyncKey aufgefordert. (Bei dem ersten einzurichtenden Client kann ein möglichst langer kryptischer Key vergeben werden. Ab dem zweiten und allen weiteren Clients ist dieser Key dann zu nutzen.)

Firefox 4.x

  • ab Firefox 4.0 ist die Sync-Funktion integriert
  • unter "Einstellungen" den Reiter "Sync" auswählen
  • Button "Firefox-Sync einrichten" klicken
  • unter "Ich habe schon ein Firefox-Sync-Benutzerkonto" den Button "Verbinden" klicken
  • dann auf der Maske "Gerät hinzufügen" den Link "Ich habe das Gerät nicht bei mir" wählen
  • dann auf der Maske "Anmeldung" den zuvor mit dem PHP-Script eingerichteten User (Benutzerkonto) und Passwort angeben
  • unter "Server" den Eintrag "Eigenen Server verwenden ..." auswählen und die URL des Weave-Minimal-Server angeben (https://<servername>/weave/)
  • anschliessend noch einen/den SyncKey eingeben (Bei dem ersten einzurichtenden Client kann ein möglichst langer kryptischer Key vergeben werden. Ab dem zweiten und allen weiteren Clients ist dieser Key dann zu nutzen.)
  • das Setup ist damit abgeschlossen
  • vor der ersten Syncronisation mit "Fertig stellen" jetzt noch unter "Sync Einstellungen" optional die zu syncronisierenden Datenelemente einschränken und eine der drei Syncronisationsmethoden für die Erstsyncronisation wählen (Vorsicht! hierbei kann man schon mal was falsch machen :-)
  • Und wenn Euch Mozilla Firefox nun noch gratuliert dürft Ihr stolz auf Euch sein!

Firefox 5.x

  • die hier vorgestellt Lösung funktioniert leider nicht mehr mit Firefox 5

Bekannte Probleme

  • Im "Benutzernamen" des Syncronisations-User dürfen keine Großbuchstaben oder Sonderzeichen enthalten sein. Ein solcher Benutzer kann zwar mit dem PHP-Script "create_user" angelegt werden, die Anmeldung durch den Client führt jedoch zu einem Login-Fehler.
  • Nach einem Firmware-Update der Diskstation muß der Alias-Eintrag in der httpd.conf-user neu eingetragen und der Apache noch einmal durchgestartet werden (Verbesserungvorschläge hierzu sind herzlich willkommen!)
  • Die hier vorgestellte Lösung funktioniert nicht mit Firefox 5