eigener Firefox – Weave – Server aka. eigener Firefox Sync Server

Mozilla Weave ist ein Plugin für Firefox,
über das man mehrere Firefox instanzen auf mehreren PC’s synchronisieren kann
Es werden Bookmarks, History, Passwords, Einstellungen und Tabs gesynct.

Und wenn man Spaß hat kann man seinen eigenen Weaveserver aufsetzten,
um seine Daten bei sich zu behalten.
Dazu braucht man folgende installierte komponenten:
Webserver (bei mir Lighttpd)
php
php-cli
php-sqlite

Ist das gegeben, kann man sich den weave minimal Server von hier downloaden:
Edit : ich hab den minimal Server etwas modifiziert, zu finden hier
nicht mehr supportete orginal Version hier:
http://people.mozilla.com/~telliott/weave_minimal.tgz

Dabei handelt es sich um eine Reihe von PHP-Dateien, die später den Weave  Server (bzw. Firefox Sync Server) darstellen.

Diese in ein Webverzeichnis enpacken:

tar xfv weave_minimal.tgz

Danach das ganze in ein vom Webserver ausgeliefertes verzeichnis verschieben,
bei mir ins Verzeichnis domain.com/weave ( /var/www/domain.com/weave )

Jetzt braucht man noch ein rewrite so das alle Anfragen auf die index.php umgeleitet werden laufen,
mit lighttpd geht das so :

url.rewrite = ( “^/weave/(.*)” => “/weave/index.php/$1”)

mit Apache folgendes verwenden:

Alias /weave /<path to this folder>/index.php

Jetzt können wir Prüfen, ob dies soweit geklappt hat, indem wir folgendes im Browser aufrufen:

https://<Domain oder IP des Servers>/weave/1.0/blub/info/collection

Wahlweise auch http (wobei https natürlich zu bevorzugen ist).
Beim Aufruf der obrigen Adress solle nach einem Namen (hier ist löub einzugeben) und nach einem Passwort verlangt werden (einfach irgendwas Tippen).

Wird nach dem Namen und Passwort gefragt ist alles soweit okay,
natürlich schlägt das Anmelden fehlt, aber durch den Versuch sollte die SQL_Lite DB weave_db angelegt worden sein (durch das phpscript).

Also legen wir uns jetzt einen Richtigen User an, mit dem wir nachher auch Firefox syncen können.
Das geschieht über die Comandline und das create_user.php script was im Tarball enthalten war.
Einfach in das Verzeichnis der Dateien navigieren (z.b. /var/www/domain/weave).
Und hier

php create_user.php

aufrufen und den Schritten folgend einen neuen User anlegen.
Danach die gewählten Daten in das Firefox sync plugin eintragen und der Spaß kann losgehen.

Viel Spaß damit :)
:)

This entry was posted in Synchronsiation, Technik, Uncategorized and tagged , , , , , , , , , , . Bookmark the permalink.

25 Responses to eigener Firefox – Weave – Server aka. eigener Firefox Sync Server

  1. Pingback: erweiterung des Weave Minimal Servers – FSyncMS 0.5 | ohneKontur - der Blog

  2. Thorsten says:

    Hey, ich hab den weave schon ne Weile laufen…funktioniert gut mit apache, aber beim Umstieg auf nginx stoß ich auf ein kleines Hindernis…es möchte aus der rewrite-rule unbedingt ein directory machen… log sieht so aus:

    ==> /var/log/nginx/error.log /var/log/nginx/aero2k.de.ssl.access.log <==
    xx.xx.xx.xx - - [26/Jan/2012:00:52:51 +0000] "GET /weave/1.1/blub/info/collections HTTP/1.1" 404 143 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"

    Teilweise war der Fehler etwas “klarer”, wo dann im error.log weave/index.php/index.html gesucht wurde.
    blub ist reinzensiert, der Pfad existiert. Mit apache hats noch funktioniert, nur mit nginx eben nicht mehr. Konfiguration:

    location ~ /weave/(.*)$ {
    root /var/www/aero2k.de/;

    rewrite ^/weave/(.*)$ /weave/index.php/$1 break;
    #rewrite ^/weave/(.*)$ /weave/index.php/$1$args break;
    #try_files $uri $uri/ /weave/index.php/$args break;
    # index index.php;
    allow all;
    }

    Ein workaround scheint darin zu bestehen, den request als GET zu formulieren, also index.php?url=$1. Ich bin in der index.php aber nicht fündig geworden, wie ich das denn umbauen könnte. Irgendeine Idee? Liegts am regex?

    • Thorsten says:

      Ich hab das nun doch hinbekommen…zunächst mal: ob das nun ein / oder ein ? ist, interessiert das Script nicht, das guckt eh nur auf den PATH_INFO. Dummerweise ist nginx da etwas eigen. Ich hab die billig-Variante für halb drei morgens genommen und auf REQUEST_URI umgestellt (und schneide /weave/ einfach ab).

      Die Synchronisation funktioniert nun wieder.

  3. basti says:

    @ Thorsten: kannst du mal bitte deine nginx-config posten?
    Ich versuche mich grad an dem FSyncMS in Verbindung mit nginx — noch ohne Erfolg

    • admin says:

      meine Nginx Config sieht so aus,

      location ^~ /fsync/ {
      include /etc/nginx/php.conf;
      rewrite ^/fsync/(.+)$ /fsync/index.php?/$1 last;
      break;
      }

      in der etc/nginx/php.conf befinden sich die parameter für das ausführen von php scripten…

Leave a Reply

Your email address will not be published. Required fields are marked *