Wie eigenen Server für FirefoxSync mit 'weave-minimal' aufsetzen?

  • Guten Abend allerseits,

    Ich will schon lange meinen lokalen Sync-Server für Firefox aufsetzen, so dass ich von Mozilla unabhängig bin.
    Leider stürzen sich alle auf das protzige Owncloud, wie es scheint, oder zu mindestens Apache, was ich für eine solche Aufgabe doch als etwas krass erachte.

    Hab mich daher im Netz auf die Suche gemacht, doch auch wenn [1] gut aussieht, trotz Apache, die Seite ist auf französisch, somit für mich unverständlich.
    Auch bei [2] scheint dem so zu sein, benötigt ebenfalls Einarbeitung in Apache, wozu ich persönlich keine Zeit habe, also wurde das auch wieder fallen gelassen.

    Jetzt hab ich was ganz kompaktes beim englischen Linux-Magazin gefunden [3], was außer Python und dem weave-minimal-Paket wohl nichts weiter benötigt.
    Der Artikel leuchtet mir ein und auch die Hilfe scheint logisch genug.

    Ich hab die Pakete installiert und mit...

    Code
    weave-minimal --data-dir=/pfad/zum/Profil_Ordner/ --port=1234 --enable-registration --base-url=http://LAN.IP.VOM.RPI/


    ...den Dienst gestartet.
    Versuche ich nun jedoch FirefoxSync für den neuen, eigenen Server einzurichten, mit http://LAN.IP.VOM.RPI/ als Adresse, so heißt es, man solle bitte eine gültige Adresse eingeben.

    Meine Frage daher, was lief schief?
    Im Artikel heißt es ja auch, man solle die Adresse vom neuen Server eingeben, womit der Teil getan wäre.


    Grüße
    Hustenbold

    [1] - http://www.pihomeserver.fr/2013/06/28/ras…r-firefox-sync/
    [2] - https://www.21x9.org/firefox-eigener-sync-server/
    [3] - http://www.linux-magazine.com/Online/Blogs/P…h-Weave-Minimal

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

  • Wie eigenen Server für FirefoxSync mit 'weave-minimal' aufsetzen?? Schau mal ob du hier fündig wirst!


  • Guten Abend allerseits,

    Ich will schon lange meinen lokalen Sync-Server für Firefox aufsetzen, so dass ich von Mozilla unabhängig bin.
    Leider stürzen sich alle auf das protzige Owncloud, wie es scheint, oder zu mindestens Apache, was ich für eine solche Aufgabe doch als etwas krass erachte.

    Hab mich daher im Netz auf die Suche gemacht, doch auch wenn [1] gut aussieht, trotz Apache, die Seite ist auf französisch, somit für mich unverständlich.
    Auch bei [2] scheint dem so zu sein, benötigt ebenfalls Einarbeitung in Apache, wozu ich persönlich keine Zeit habe, also wurde das auch wieder fallen gelassen.

    Jetzt hab ich was ganz kompaktes beim englischen Linux-Magazin gefunden [3], was außer Python und dem weave-minimal-Paket wohl nichts weiter benötigt.
    Der Artikel leuchtet mir ein und auch die Hilfe scheint logisch genug.

    Ich hab die Pakete installiert und mit...

    Code
    weave-minimal --data-dir=/pfad/zum/Profil_Ordner/ --port=1234 --enable-registration --base-url=http://LAN.IP.VOM.RPI/

    Hi!

    Im Startup-Script ist ein Port (1234) angegeben und vermutlich lauscht der Dienst auch auf diesem.
    Versuch es doch mal mit:

    Code
    http://LAN.IP.VOM.RPI:1234/

    Sven

  • Hast Du "--data-dir=/pfad/zum/Profil_Ordner/" mit dem richtigen Wert ersetzt?

    also zum Beispiel mit "--data-dir=/home/pi/"?


  • Hast Du "--data-dir=/pfad/zum/Profil_Ordner/" mit dem richtigen Wert ersetzt?

    also zum Beispiel mit "--data-dir=/home/pi/"?

    Ich hab ein zuvor erstelltes Verzeichnis auf der externen Festplatte angegeben, welche unter /media/extern/ gemounted wurde, alles ohne Sonderzeichen, wobei das sowieso egal ist, dank Autocompletion.

    Hab jetzt auch nochmal simpel 'weave-minimal --enable-registration' ausprobiert, doch auch hier keinerlei Erfolg.


    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

  • Poste mal bitte die Ausgabe des Befehls:

    Code
    netstat -tulpen


    (bitte in Kode!)


    Ich hab da eine Vermutung: Und zwar das weave-minimal auf 127.0.0.1 lauscht und somit keine Verbindungen von aussen zulässt - dazu müsste es entweder auf der eth0 IP lauschen oder eben auf 0.0.0.0 für egal welches Device...

  • Hab das jetzt mal selber probiert, den Parameter --base-url=http://LAN.IP.VOM.RPI/ will er irgendwie nicht, egal was ich da angebe es wird immer * Running on http://127.0.0.1:8080/ angezeigt :-/

    Dann hab ich es über einen Port Bouncer versucht, pbnc.cfg:

    Gestartet: perl pbnc.pl pbnc.cfg

    Und dann in Firefox mich versucht mich auf Port 8180 zu verbinden - das klappte ebenfalls nicht (Ungültiger Benutzerkonto-Name ...)
    Dann habe ich weave-minimal mit der Option

    Code
    --register=test:t3sting!


    gestartet, dann wurde ein benutzer "test" angelegt, danach den weave-minimal normal gestartet:

    Code
    weave-minimal --data-dir=/var/lib/weave-minimal/


    Und versucht mich zu verbinden - das klappte dann!

    Aber irgendwie muss das doch auch ohne pbnc/iptables gehen :huh:

  • Das ist soweit ich das verstehe nur um auch SSL nutzen zu können: using apache and mod_proxy, with SSL

    Das hab ich aber auch schon probiert bzw war das mein erster Versuch vor dem pbnc, aber leider funktionierte das noch weniger :(
    ..wobei ich zugeben muss das ich nicht weiss wo genau diese 4 Zeilen eingetragen werden müssen, hatte es in "default" ans ende der <VirtualHost *> eingetragen... Danach hatte ich dann auch versucht einen seperaten <IfModule mod_proxy.c> Eintrag zu machen usw und hatte gestern abend auch eine HowTo geschrieben die ich aber noch nicht gepostet hab weils eben nicht so funktionierte wie es soll :(

    Hier die HowTo:

    Spoiler anzeigen
    Zitat


    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.


    quelle: http://blog.pregos.info/2010/12/08/how…r-firefox-sync/


    Ich beschreib mal die Installationswege auf Deutsch:

    Zunächst das für python benötigte Paket installieren:

    Code
    apt-get install python-setuptools

    Danach erfolgt die Installation von weave-minimal:

    Code
    easy_install -U weave-minimal

    Aus Sicherheitsgründen sollte man weave-minimal aber nicht als root laufen lassen - es würde sich also anbieten den bereits vorhandenen " pi " Benutzer zu verwenden, oder man legt über useradd weave einen neuen Benutzer an...

    Jetzt fehlt noch ein Script damit weave-minimal auch nach einem System-Neustart gestartet werden würde:

    Code
    nano /etc/init.d/weave-minimal

    Mit folgendem Inhalt:

    Script ausführbar machen:

    Code
    chmod +x /etc/init.d/weave-minimal

    In den Runlevel integrieren:

    Code
    update-rc.d weave-minimal defaults


    ..Somit würde das Programm schonmal automatisch beim hoch fahren des Systems gestartet und beim herunter fahren auch wieder beendet werden..


    Soweit sogut - Nun muss noch die apache2 Konfiguration angepasst werden, da weave-minimal leider nur auf 127.0.0.1 auf Verbindungen wartet also keine Verbindungen von Aussen zulässt..
    Dazu bearbeiten wir nun folgende Datei:

    Code
    nano /etc/apache2/mods-available/proxy.conf

    Und passt die Zeilen entsprechend an dass es dann so aussieht:

    Nun noch die benötigten Proxy Module einschalten:

    Code
    a2enmod proxy
    a2enmod proxy_http

    Anschliesend apache2 neu starten:

    Code
    /etc/init.d/apache2 restart


    Warum wir das gemacht haben? Der Proxy leitet Verbindungen nach local um und somit tricksen wir weave-minimal aus :)
    (anders habe ich es hier leider nichts zum laufen bringen können)


    Anschliesend nicht das Script nutzen sondern weave-minimal manuell ausführen da die Registration gebraucht wird, damit die nachfolgende Client Einrichtung auch funktioniert ;)

    Code
    weave-minimal --data-dir=/var/lib/weave-minimal/ --port=8180 --enable-registration


    Client einrichten

    Firefox starten, in die Einstellungen gehen und zum Tab Sync wechseln, auf Firefox-Sync einrichten klicken.
    Dann unten auf " Ich habe ein Benutzerkonto " klicken, danach unten links auf " Ich habe das Gerät nicht bei mir " und stellt dann folgendes ein:

    • Benutzerkonto: name@gmail.com
    • Password: Sup3rS3cur$!Passw0rd
    • Server: Eigenen Server verwenden: http://raspberry.ip/%20sync/
      (das Slash ( / ) am Ende ist wichtig aber auch die %20 sind Absicht, das ist der html Code für ein Leerzeichen!)
    • Wiederherstellungs-Schlüssel: nicht!vergessen

    Bevor ihr jetzt auf Weiter klickt(!), klickt bitte erst unten links auf Sync-Einstellungen und wählt zum einen die Daten aus die ihr Syncronisieren wollt aber zum anderen tragt ihr bitte auch einen eindeutigen Gerätenamen ein, also zB wie der Computername zzgl. euren Vornamen o.ä.

    Dann klickt ihr auf Fertig und auf Weiter

    Um die Daten auf einen anderen Rechner zu Syncronisieren, müsst ihr die selben Zugangsdaten nutzen, also Benutzerkonto und Password..

    Wenn ihr damit fertig seid, drückt ihr in der Konsole die Tastenkombination STRG+c zum beenden der aktuellen weave-minimal Instanz und startet es dann über das init.d Script (weil die registration neuer Clients beendet ist, also ohne --enable-registration)


    Wenn man das ganze auch übers Internet nutzen möchte sollte man aber unbedingt noch SSL einrichten damit die Daten auch verschlüsselt übertragen werden!

    (poste ich gerne bei Erfolg noch mal im richtigen Bereich)

  • das kommt nicht in die httpd.conf sondern in die
    /etc/apache2/mods-available/proxy.conf
    Danach noch einen Symlink nach /etc/apache2/mods-enable erstellen und den Indianer neu starten.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Wo man "<IfModule mod_proxy.c>" einträgt ist relativ egal, auf 2 anderen Servern von mir funktioniert das (nur nicht mit weave) über die httpd.conf :)

  • Hallo zusammen,

    Also ich hab jetzt nochmal 'netstat -tulpen' sowie im Anschluss erneut 'weave-minimal --enable-registration --register=Benutzer:Passwort' ins Terminal eingegeben, das Ergebnis war wie erwartet, jedenfalls für netstat.

    Code
    $ netstat -tulpen
    Aktive Internetverbindungen (Nur Server)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
    tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1001       169075      1805/python     
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          2630        2011/sshd       
    udp        0      0 192.168.0.12:123        0.0.0.0:*                           0          2534        1970/ntpd       
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           0          2533        1970/ntpd       
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           0          2529        1970/ntpd

    Beim 'weave-minimal' bekam ich hingegen folgende Meldung auf den Versuch, das ganze mit dem --register Parameter auszuführen.

    Code
    $ weave-minimal --register=Benutzer:Passwort
    Traceback (most recent call last):
      File "/usr/local/bin/weave-minimal", line 9, in <module>
        load_entry_point('weave-minimal==1.1', 'console_scripts', 'weave-minimal')()
      File "/usr/local/lib/python2.7/dist-packages/weave_minimal-1.1-py2.7.egg/weave/__init__.py", line 258, in main
        app.initialize(encode(username), passwd, options.data_dir)
    TypeError: initialize() takes exactly 3 arguments (4 given)

    Ab hier weiß ich nun nicht mehr weiter, denn meine Python-Kenntnisse sind brutalst beschränkt ;)


    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]


  • Wo man "<IfModule mod_proxy.c>" einträgt ist relativ egal, auf 2 anderen Servern von mir funktioniert das (nur nicht mit weave) über die httpd.conf :)

    Klar funktioniert das.
    Ist nur unsauber.
    In die httpd.conf kommt mal gar nix rein.
    Wenn du VHOSTs nutzt kommt das mit in die entsprechende VHOST Config.
    Keine VHOSTs in die /etc/apache2/sites-available/default
    Systemweit halt in die proxy.conf
    Dafür hat der Apache so einen Wust an config's. Ist halt kein XAMPP :)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (9. Oktober 2013 um 18:25)

  • Hm also lauscht er bei dir auch auf 127.0.0.1:8080 :(

    Meine python Kentnisse sind leider auch arg beschränkt - weiss nichtmals wo genau die Scripte abgelegt sind :-/

    Hast du es auch probier indem du einen vorhandenen --data-dir angegeben hast?
    Also zB

    Code
    mkdir /var/lib/weave-minimal/
    weave-minimal --data-dir=/var/lib/weave-minimal/ --register=Benutzer:Passwort

    (und ggf den Besitzer des Verzeichnisses auf " pi.pi " ändern falls du weave-minimal als pi ausführst)

    Dann sollte er sowas ausgeben:

    Code
    [info] database for `Benutzer` created at `/var/lib/weave-minimal/Benutzer.a7316ea1377f4c1b`

    Danach ohne den --register Parameter ausführen:

    Code
    weave-minimal --data-dir=/var/lib/weave-minimal/

  • So, ich hab dann mal für euch gegoogled :
    https://github.com/posativ/weave-minimal/issues/11
    So einfach kann das sein.
    Suchbegriff in Tante Google : weave-minimal binds to localhost

    Okay, danke Imperator, damit wäre dieser Teil des Rätsels gelöst.
    Ein Hinweis im Hilfetext unter Aufruf von 'weave-minimal --help' wäre da wohl kaum der Rede wert gewesen.

    Nun denn, die Frage vom Anfang, wie ich mich zu meinem Dienst verbinde, bleibt dennoch bestehen, wenn auch der Dienst jetzt auf 0.0.0.0:8080 läuft.

    In dem Serverfeld heißt es nach wie vor, ich möge bitte eine gültige Adresse angeben :(
    http://192.168.x.y/ genügt dem guten Firefox hier wohl nicht.


    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!