Debian MozillaSync
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, History, Passwörter und geöffnete Tabs synchronisiert werden. Mozilla Firefox Sync wird fester Bestandteil des kommenden Firefox 4.0 sein. Es muss dann kein Plugin mehr installiert werden.
Der komplette Syncserver Weave 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 verschlüsselt in einer MySQL-Datenbank abgelegt. Die Syncdaten werden mit Hilfe einer Passphrase, die der User beim Anlegen seines Account vergibt, verschlüsselt. Die Userpasswörter werden mittels SHA-256 Verschlüsselung abgelgt. Der für diese Verschlüsselung nötige SALT (Passphrase) wird vom Serveradmin im Rahmen der Konfiguration festgelgt.
Das Anlegen eines neuen Accounts, Änderung des Passwortes usw. wird komplett vom Client Sync-Plugin erledigt. Nach der Serverinstallation ist keinerlei Eingriff diesbezüglich am Server erforderlich.
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');
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');
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
Installation
Das Firefox-Sync Plugin erstellt automatisch auf dem Server einen Account. Auf dem Server ist dazu keinerlei Aktion erforderlich.
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. Es empfiehlt sich dies noch vor der Installation des Plugins durchzuführen. Wurde das Zertifikat nicht in Firefox importiert, dann scheitert die Anmeldung am Server mit der Fehlermeldung "Server konnte nicht erreicht werden." |
Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden.
- Den grünen Button + Add to Firefox anklicken
- Installation bestätigen und anschließend Firefox neu starten, wie vom Plugin Installer gefordert.
Inbetriebnahme und Konfiguration des Plugin
Nach dem Firefox Neustart, öffnet sich automatisch das Fenster Firefox-Sync-Setup. Dieses bietet zwei Auswahlmöglichkeiten:
- Ich habe Sync bisher noch nicht verwendet
- Mit diesem Punkt wird das Sync-Konto auf dem Server erstellt und der Client eingerichtet.
-
- Verbinde mit: Eigenen Server verwenden (Damit oben installierter Weave-Server anstatt des Mozilla Server verwendet wird)
- Server-URL: https://mozillasync.domain.org
- Benutzername: beliebiger Username
- Passwort: beliebiges Passwort
- E-Mail-Adresse: Mail-Adresse des Users
- Wenn alle nötigen Angaben gemacht sind, Button weiter anklicken
- Hier zweimal die Passphrase eingeben, die zur Verschlüsselung der Daten (Bookmarks, Passwörter, History, usw.) in der Datenbank verwendet werden soll:
- Anschließend Button weiter anklicken
- ich verwende Sync bereits auf einem anderen Computer
- Dieser Punkt sollte verwendet werden, wenn auf dem Sync-Server bereits mit dem ersten Punkt (auf einem anderen PC) ein Konto angelegt wurde, um den PC mit diesem Konto zu synchronisieren.
- Die Einstellungen analog zu den bei der Erstellung des Accounts eingeben. Username, Passwort und Passphrase identisch zu den Angaben bei der Accounterstellung wählen.
Konfiguration ändern
Die Einstellungen des Firefox-Sync-Plugin können jederzeit im Firefox Menü Extras/Sync/Einstellungen...