InhaltsverzeichnisEin umfangreich(er)es Tutorial zum Aufsetzen des "offiziellen" Python Firefox Sync ServersAls Server verwendet der Autor ein Debian Squeeze. Das Tutorial vervollständigt das offizielle Tutorial http://docs.services.mozilla.com/howtos/run-sync.html, da einige Schritte übernommen wurden ist der Inhalt CC-SA 2.5 . Getestet hat der Autor das MYSQL backend, dieser Weg der Konfiguration ist wahrscheinlich anspruchsvoller als der mit SQlite, letzteres Backend wird also (vorerst) nicht beschrieben, bis es jmd. hinzufügt. Der Autor hofft, dass euch nichts an dem Artikel fehlt und es euch deshalb nicht so geht wie bei dem offiziellen TuT, welches bei einer Datenbank in /tmp mit der Doku aufhört. Wer sich PostgreSQL als Backend wünscht: http://blog.davekoelmeyer.co.nz/2011/12/11/set-up-firefox-sync-to-connect-to-a-postgresql-database/ Update Mozilla hat in der Woche nach dem erstellen dieses Tutorials ein bisschen Doku nachgetragen. Zwar ist sie immer noch nicht vollständig aber immerhin sind mal mögliche weitere parameter gelistet. Wer ein größeres Setup plant, sollte auf jeden Fall die offizielle mit beachten. Sie behandelt auch memcached sql backends und Ähnliches. Laufzeitumgebung einrichten
sudo aptitude install python-dev mercurial sqlite3 python-virtualenv libmysqlclient-dev libapache2-mod-wsgi
hg clone https://hg.mozilla.org/services/server-full cd server-full make build bin/easy_install Mysql-Python
Konfiguration
[global] clean_shutdown = false [captcha] use = true public_key = RECAPTCHA_PUB_KEY private_key = RECAPTCHA_PRIV_KEY use_ssl = true [storage] backend = syncstorage.storage.sql.SQLStorage sqluri = mysql://weave:PASSWORT@loccalhost/weave standard_collections = false use_quota = true quota_size = 5120 pool_size = 100 pool_recycle = 3600 reset_on_return = true display_config = true create_tables = true [auth] backend = services.auth.sql.SQLAuth sqluri = mysql://weave:PASSWORT@localhost/weave #sqluri = sqlite:////tmp/test.db pool_size = 100 pool_recycle = 3600 create_tables = true fallback_node = http://127.0.0.1:5000/ [smtp] host = localhost port = 25 sender = weave@mozilla.com [cef] use = true file = syslog vendor = mozilla version = 0 device_version = 1.3 product = weave
Permissions anpassenDa wir in der folgenden virtualhost-conf den Nutzer, bzw die Gruppe des wsgi-scripts auf sync setzen und es unter diesen Berechtigungen ausführen lassen, können wir diesen Nutzer auch den gesamten Ordner „geben“. chown -R sync:sync $DOCROOT/ffsync Danach entziehen wir others alle Berechtigungen, sollten noch welche existieren: chmod -R u=rwX,g=rwX,o= $DOCROOT/ffsync/ Fallback Lokal Server startenFFSync benötigt aus welchem Grund auch immer, sofern man einen public server betreibt, einen lokalen „Fallback Node“, der mit der sync.ini Konfiguriert wird. (Ohne diesen bekommt man im schlimmsten Fall ohne irgendwelche Fehlermeldungen keinen Sync hin)
Nun muss dieser Prozess allerdings für die gesamte Laufzeit des Apache am Laufen gehalten werden, eine Lösung mithilfe der daemontools und passendem Beispiel gibt's hier Apache-Vhost KonfigurationEin Beispiel für eine CFG mit SSL wäre folgende Konfiguration, das Installationsverzeichnis ist $DOCROOT/ffsync: <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> WSGIProcessGroup sync WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 WSGIPassAuthorization On WSGIScriptAlias /ffsync /var/www/ffsync/sync.wsgi <Directory /var/www/ffsync> Order allow,deny Allow from all AllowOverride None AddHandler cgi-script .cgi AddHandler wsgi-script .wsgi </Directory> Alias /user/1.0 /var/www/ffsync/1.0/index.php Alias /user/1 /var/www/ffsync/1.0/index.php ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ff_sync.crt # CHANGE SSLCertificateKeyFile /etc/ssl/private/ff_sync.key # CHANGE <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule> Möglicherweise muss man zusätzlich zu dem Directory-Eintrag enthaltenen Extension-Registrierung für .wsgi im ffsync-Ordner auch noch einen solchen Eintrag in der /etc/apache2/httpd.conf tätigen:
Client einrichten
Links |