Howto: Der eigene Weave Minimal Server / Firefox Sync

Vor 1 1/2 Jahren habe ich den Artikel „Firefox Lesezeichen ueberall – Selfmade!“ geschrieben, wo ich beschrieben habe, wie man mit dem Firefoxplugin Foxmarks bzw. spaeter Xmarks und einem Apache Webserver mit mod_dav enabled seine Lesezeichen auf den eigenen Server synct und so die Kontrolle ueber die Daten behaelt.

Mozilla hat vor einiger Zeit das Weave Projekt gegruendet, dass es spaeter in Sync umbenannt hat. Fuer Firefox 3.5 aufwaerts gibts ein Firefoxplugin, ab der Version 4.0 wird die Funktionalitaet direkt in Firefox enthalten sein. Das Plugin kann Lesezeichen, Passwoerter, Einstellungen, Chronik und offene Tabs an einen Server syncen und so an verschiedenen Standorten verfuegbar machen. Grund genug sich das anzugucken und grund  fuer mich, mich von Xmarks zu verabschieden.

Voraussetzung fuer eine Installation ist, dass man einen eigenen Apacheserver irgendwo laufen hat. Wenn ich das richtig ueberblicke benoetigt man die Module

aptitude install libapache2-mod-php5 php5-sqlite

Anschliessend das weave_minimal.tgz aus diesem Blogeintrag vorletzter Absatz (Mirror) herunterladen und in ein Verzeichnis im DocumentRoot entpacken. Ich persoenlich habe mir eine eigene Subdomain gemacht und in Apache einfach fix einen neuen vhost eingerichtet. Wichtig ist nur, dass man anschliessend in der Apacheconfig einen Alias setzt:

Alias /weave /PATH/TO/DOCUMENTROOT//weave/index.php

Wobei der Pfad entsprechend der lokalen gegebenheiten anzupassen ist. Nun einmal den Apache neustarten damit die Aenderungen uebernommen werden. Als naechstes geht man mit seinem Webbrowser auf die URL: http://MYDOMAIN.TLD/weave/1.0/MYUSERNAME/info/collection wobei MYDOMAIN.TLD natuerlich mit dem eigenen Domainnamen und MYUSERNAME ein Benutzername ist. Bei der Aufforderung sich einzuloggen gibt man einfach eirgendwas ein. Die Authentifizierung schlaegt fehl aber die Datenbank wird erzeugt. Danach geht man auf den Server in das Verzeichnis in dem der entpackte Tarball liegt und legt einen Benutzer an mit dem Befehl:

php5 create_user MYUSERNAME

wobei MYUSERNAME wieder durch den gewuenschten Benutzernamen zu ersetzen ist. Weiter waehlt man sein Passwort und bestaetigt dieses. Nun ist man schon fast am Ziel. Falls noch nicht geschehen das Firefox Sync Plugin installieren und den Browser neustarten.

Wenn man nun Firefox Sync ueber den Assistenten einrichtet waehlt man als erstes aus „I Have a Firefox-Sync Account“. In dem zweiten Fenster sagt man „Eigenen Server verwenden“ und gibt die Server URL mit dem anschliessenden /weave/ ein, z.B. http://MYDOMAIN.TLD/weave/ . Der Benutzername und das Passwort sind die, die man bei dem create_user angelegt hat. Nachdem man diesen Punkt mit „Weiter“ bestaetigt hat, wird man aufgefordert seinen Sync Key einzugeben. Zuerst war ich etwas irritiert, aber es ist _nicht_ das Passwort sondern eine random Zeichenkette die die eigenen Daten auf dem Server dann verschluesselt. Ich habe hier einfach ein alternatives Passwort genommen. Mit „Weiter“ und „Fertigstellen“ Bestaetigen und voila…

Firefox Lesezeichen ueberall – Selfmade!

Ich arbeite an vielen unterschiedlichen Computern und moechte ueberall die gleichen Lesezeichen immer synchron haben. Es faellt mir jedoch schwer die Daten einer Firma zu geben die mit der Auswertung meiner Daten und dann Werbung oder aehnlichem Geld verdient. Ich arbeite schon laenger mit Foxmarks und neuerdings heisst es ja Xmarks. Durch einen kleinen Beitrag in der neuen CT hab ich mich nu auch mal aufgerafft und habe die Lesezeichen auf meinen eigenen Server verfrachtet. Im folgenden die erforderlichen Schritte dahin:

aptitude install apache2
a2enmod dav
a2enmod dav_fs
a2enmod ssl
/etc/init.d/apache2 force-reload
cd /var/www/
mkdir webdav
chown www-data:www-data webdav
htpasswd -c .htpasswd-webdav USERNAME
chown root:www-data .htpasswd-webdav
chmod 640 .htpasswd-webdav

Die folgenden Zeilen in die /etc/apache2/sites-available/default-ssl hinzufuegen:

    <VirtualHost *:443>
    ServerAdmin webmaster@example.net
    ServerName webdav.example.net
    DocumentRoot /var/www/webdav
 
        SSLEngine On
        SSLCertificateFile      /etc/apache2/MYSSLCERT.pem
        SSLCertificateKeyFile   /etc/apache2/MYSSLCERT.pem
 
        <Directory /var/www/webdav/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
 
        <Location />
           DAV On
           AuthType Basic
           AuthName "Webdav"
           AuthUserFile /var/www/.htpasswd-webdav
           Require valid-user
       </Location>
 
</VirtualHost>

Apache neustarten und testen ob alles geht. Beim verbinden mit cadaver muesst Ihr das Zertifikat akzeptieren und dann mit den in der .htpasswd-webdav gespeicherten Userdaten einloggen. Wieder rauskommen tut ihr mit „quit“.

/etc/init.d/apache2 restart
aptitude install cadaver
cadaver https://webdav.example.net

So, das wars auch schon fast! Nun muesst Ihr nur noch das Xmarks Firefox-Plugin installieren und in den Einstellungen unter „Erweitert“ die Option „Eigenen Server verwenden“ aktivieren und als Lesezeichen und Passwort-URL die URL zu eurem Server angeben. ACHTUNG!: Es muss auch eine Datei angegeben werden und nicht nur ein Verzeichnis! Bsp:

  • LesezeichenURL: https://webdav.example.net/bookmarks.json
  • Passwort-URL: https://webdav.example.net/passwords.json

Ich persoenlich habe die Passwort-synchronisation jedoch deaktiviert (genauso wie auch den ganzen Extrakram unter „Entdecken“, nervt nur). Nun einmal noch im Erweitert-Tab auf „Hochladen“ klicken und zusehen und evtl. Zertifikat akzeptieren, Benutzernamen und Passwort eingeben und zusehen wie die Daten hochgeladen werden. Viel Spass :)