Debian MozillaSync

Aus Wiki
Version vom 30. September 2010, 08:35 Uhr von Erich (Diskussion | Beiträge) (Die Seite wurde neu angelegt: =Allgemein= Mittels Mozilla Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) und dem hier vorgestellten Mozilla Syncserver kann auf elegante und ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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 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/tip.tar.gz -O sync-server.tar.gz
wget http://hg.mozilla.org/services/reg-server/archive/tip.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/mozilla-sync
mv  mv sync-server-[TAB-Taste] /var/www/mozilla-sync/sync-server
mv reg-server-[TAB-Taste] /var/www/mozilla-sync/reg-server
Bulbgraph.png Hinweis:

In obigen beiden Befehlen ist [TAB-Taste] erforderlich, um den Pfadnamen automatisch zu vervollständigen. Der Pfad ändert sich relativ schell, da immer wieder neue Versionen von Sync- und Reg-Server veröffentlicht werden, und diese sich in geänderten Pfadnamen wiederspiegeln.

chown -R www-data:www-data /var/www/mozilla-sync


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 mozillasync;
GRANT ALL PRIVILEGES ON mozillasync.* TO mozillasync@localhost IDENTIFIED BY 'mozillasync_pwd';
exit

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

vi mozillasync.sql

Folgende Zeilen einfügen:

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;

CREATE TABLE users (
  id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  username varchar(32),
  password_hash varbinary(128),
  email varbinary(64),
  STATUS tinyint(4) DEFAULT '1',
  alert text,
  reset varbinary(32) DEFAULT NULL
) engine=InnoDB;


Datenbank Template importieren (sql_root_pwd erforderlich):

 mysql -u root -p mozillasync <mozillasync.sql


Konfiguration

Sync-Server:

cd /var/www/mozilla-sync/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_MYSQL_AUTH_DB', 'mozillasync');
define('WEAVE_MYSQL_AUTH_USER', 'mozillasync');
define('WEAVE_MYSQL_AUTH_PASS', 'mozillasync_pwd');
define('WEAVE_STORAGE_ENGINE', 'mysql');
define('WEAVE_MYSQL_STORE_READ_HOST', 'localhost');
define('WEAVE_MYSQL_STORE_READ_DB', 'mozillasync');
define('WEAVE_MYSQL_STORE_READ_USER', 'mozillasync');
define('WEAVE_MYSQL_STORE_READ_PASS', 'mozillasync_pwd');
define('WEAVE_MYSQL_STORE_WRITE_HOST', WEAVE_MYSQL_STORE_READ_HOST);
define('WEAVE_MYSQL_STORE_WRITE_DB', WEAVE_MYSQL_STORE_READ_DB);
define('WEAVE_MYSQL_STORE_WRITE_USER', WEAVE_MYSQL_STORE_READ_USER);
define('WEAVE_MYSQL_STORE_WRITE_PASS', WEAVE_MYSQL_STORE_READ_PASS);

Reg-Server:

cd /var/www/mozilla-sync/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_HOST', 'localhost');
define('WEAVE_MYSQL_AUTH_DB', 'mozillasync');
define('WEAVE_MYSQL_AUTH_USER', 'mozillasync'
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. 25 Zeichen) Text/Zahlenkombination Weave_Salt eingeben. Dies ist enorm wichtig für die verwendete SHA256-Verschlüsselung


Apache Virtualhost

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



Client Installation und Konfiguration