Debian MozillaSync

Aus Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Mittels Mozilla Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) und dem hier vorgestellten Mozilla Syncserver (Weave) kann auf elegante und sichere Art und Weise (https-Übertragung) die Bookmarks, Passwörter und geöffnete Tabs synchronisiert werden.

Der komplette Syncdiesnt besteht aus zwei Teilen. Der Sync-Server kümmert sich um die Synchronisation der Firefox-Daten. Der reg-server kümmert sich um die User authorisierung. Sämtliche Sync- und userdaten werden in einer MySQL-Datenbank abgelegt. Die Installation ist leider etwas aufwändiger, da kein Debian Paket zur Verfügung steht.

Voraussetzung:


Installation

Download

Download Verzeichnis erstellen und downloaden:

mkdir /usr/local/src/mozilla_sync
cd /usr/local/src/mozilla_sync
wget http://hg.mozilla.org/services/sync-server/archive/fc6beddf7e61.tar.gz -O sync-server.tar.gz
wget http://hg.mozilla.org/services/reg-server/archive/0a3be81af7cc.tar.gz -O reg-server.tar.gz

entpacken:

tar -xvf sync-server.tar.gz
tar -xvf reg-server.tar.gz

Verschieben auf den Webserver und Rechte anpassen:

mkdir /var/www/weave
mv sync-server-fc6beddf7e61 /var/www/weave/sync-server
mv reg-server-0a3be81af7cc /var/www/weave/reg-server
chown -R root:www-data /var/www/weave


MySQL-Datenbank anlegen:

Datenbank und User anlegen:

mysql -u root -p

Passwort sql_root_pwd eingeben, wenn danach gefragt wird. Dann folgende Befehle eingeben (mozillasync_pwd mit dem gew. Datenbank Passwort ersetzen):

CREATE DATABASE weave;
GRANT ALL PRIVILEGES ON weave.* TO weave@localhost IDENTIFIED BY 'mozillasync_pwd';
exit

SQL-Template angelegen, das anschließend die nötigen Tabellen in der SQL Datenbank erzeugt.

vi weave.sql

Folgende Zeilen einfügen:

CREATE TABLE `users` (
  id int(11) NOT NULL PRIMARY KEY auto_increment,
  username varbinary(32) NOT NULL,
  password_hash varbinary(128) default NULL,
  email varbinary(64) default NULL,
  status tinyint(4) default '1',
  alert text,
  reset varchar(32),
  reset_expiration datetime
) ENGINE=InnoDB;

CREATE TABLE `collections` (
  `userid` int(11) NOT NULL,
  `collectionid` smallint(6) NOT NULL,
  `name` varchar(32) NOT NULL,
  PRIMARY KEY  (`userid`,`collectionid`),
  KEY `nameindex` (`userid`,`name`)
) ENGINE=InnoDB;
CREATE TABLE `wbo` (
  `username` int(11) NOT NULL,
  `collection` smallint(6) NOT NULL default '0',
  `id` varbinary(64) NOT NULL default ,
  `parentid` varbinary(64) default NULL,
  `predecessorid` varbinary(64) default NULL,
  `sortindex` int(11) default NULL,
  `modified` bigint(20) default NULL,
  `payload` longtext,
  `payload_size` int(11) default NULL,
  PRIMARY KEY  (`username`,`collection`,`id`),
  KEY `parentindex` (`username`,`collection`,`parentid`),
  KEY `modified` (`username`,`collection`,`modified`),
  KEY `weightindex` (`username`,`collection`,`sortindex`),
  KEY `predecessorindex` (`username`,`collection`,`predecessorid`),
  KEY `size_index` (`username`,`payload_size`)
) ENGINE=InnoDB; 

Datenbank Template importieren (sql_root_pwd erforderlich):

 mysql -u root -p weave <weave.sql


Konfiguration

Reg-Server:

cd /var/www/weave/reg-server/1.0
cp weave_user_constants.php.dist weave_user_constants.php
vi weave_user_constants.php

Nach "# ***** END LICENSE BLOCK *****" folgende Zeilen einfügen und mozillasync_pwd mit dem beim Erstellen der Datenbank angegebenem Datenbank Passwort ersetzen:

define('WEAVE_AUTH_ENGINE', 'mysql');
define('WEAVE_MYSQL_AUTH_PASS', mozillasync_pwd);
define('WEAVE_SHA_SALT', 'Weave_Salt');
Warning.png Achtung:

Für den Parameter WEAVE_SHA_SALT eine beliebige sehr lange (mind. 10 Zeichen) Text/Zahlenkombination Weave_Salt eingeben. Dies ist enorm wichtig für die verwendete SHA256-Verschlüsselung


Sync-Server:

cd /var/www/weave/sync-server/1.0
cp default_constants.php.dist default_constants.php
vi default_constants.php

Nach "# ***** END LICENSE BLOCK *****" folgende Zeilen einfügen und mozillasync_pwd mit dem beim Erstellen der Datenbank angegebenem Datenbank Passwort ersetzen:

define('WEAVE_STORAGE_ENGINE', 'mysql');
define('WEAVE_MYSQL_STORE_READ_PASS', mozillasync_pwd);
define('WEAVE_AUTH_ENGINE', 'mysql');
define('WEAVE_MYSQL_AUTH_PASS', mozillasync_pwd);
define('WEAVE_SHA_SALT', 'Weave_Salt');
Bulbgraph.png Hinweis:

Für den Parameter WEAVE_SHA_SALT den selben Weave_Salt eingeben, wie oben beim Reg-Server. Ansonsten kann der Syncserver den User später nicht authentifizieren und die Synchronisation scheitert.


Apache Virtualhost

Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt:

vi /etc/apache2/sites-enabled/mozilla-sync_https.conf

Folgende Zeile eingeben (den ServerName mozillasync.domain.org anpassen):

<VirtualHost *:443>
   SSLEngine On
   SSLKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
   SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
   ServerName mozillasync.domain.org
   DocumentRoot /var/www/weave
   Alias /1.0      /var/www/weave/sync-server/1.0/index.php
   Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php
   Alias /user/1   /var/www/weave/reg-server/1.0/index.php
   Alias /misc/1.0/captcha_html     /var/www/weave/reg-server/1.0/captcha.php
   Alias /misc/1/captcha_html       /var/www/weave/reg-server/1.0/captcha.php
   Alias /weave-registration-static /var/www/weave/reg-server/1.0/static
   Alias /weave-password-reset      /var/www/weave/reg-server/1.0/forgot_password.php
   CustomLog /var/log/apache2/mozilla-sync/access.log combined
   ErrorLog /var/log/apache2/mozilla-sync/error.log
   DirectoryIndex index.php index.html index.htm
   ServerSignature Off
   <Directory "/var/www/weave/">
      Options Indexes FollowSymLinks
      AllowOverride none
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>

Dieser Virtualhost verwendet eigene Access- und Error- Logfiles. Für diese wird ein eigenes Unterverzeichnis angelegt:

mkdir /var/log/apache2/mozilla-sync

Apache neu starten:

/etc/init.d/apache2 restart


Client Installation und Konfiguration

Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden.

Bulbgraph.png Hinweis:

Damit die spätere Synchronisation funktioniert, muss die Adresse des Syncserver's (https://mozillasync.domain.org) einmalig im Mozilla Firefox (an jedem PC) eingegeben werden und das (selbstsignierte) Apache2 Zertifikat dauerhaft gespeichert werden.


  • Einrichtung des Sync-Kontos


  • Synchronisation mit weiterem PC