Debian MozillaSync: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
=Allgemein= | =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. | 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. | 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. | ||
Zeile 15: | Zeile 15: | ||
mkdir /usr/local/src/mozilla_sync | mkdir /usr/local/src/mozilla_sync | ||
cd /usr/local/src/mozilla_sync | cd /usr/local/src/mozilla_sync | ||
wget http://hg.mozilla.org/services/sync-server/archive/ | 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/ | wget http://hg.mozilla.org/services/reg-server/archive/0a3be81af7cc.tar.gz -O reg-server.tar.gz | ||
entpacken: | entpacken: | ||
tar -xvf sync-server.tar.gz | tar -xvf sync-server.tar.gz | ||
tar -xvf reg-server.tar.gz | tar -xvf reg-server.tar.gz | ||
Verschieben auf den Webserver und Rechte anpassen: | Verschieben auf den Webserver und Rechte anpassen: | ||
mkdir /var/www/ | mkdir /var/www/weave | ||
mv sync-server-fc6beddf7e61 /var/www/weave/sync-server | |||
mv reg-server- | mv reg-server-0a3be81af7cc /var/www/weave/reg-server | ||
chown -R root:www-data /var/www/weave | |||
chown -R | |||
Zeile 35: | Zeile 31: | ||
mysql -u root -p | 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): | Passwort '''''sql_root_pwd''''' eingeben, wenn danach gefragt wird. Dann folgende Befehle eingeben ('''''mozillasync_pwd''''' mit dem gew. Datenbank Passwort ersetzen): | ||
CREATE DATABASE | CREATE DATABASE weave; | ||
GRANT ALL PRIVILEGES ON | GRANT ALL PRIVILEGES ON weave.* TO weave@localhost IDENTIFIED BY ''''''mozillasync_pwd''''''; | ||
exit | exit | ||
SQL-Template angelegen, das anschließend die nötigen Tabellen in der SQL Datenbank erzeugt. | SQL-Template angelegen, das anschließend die nötigen Tabellen in der SQL Datenbank erzeugt. | ||
vi | vi weave.sql | ||
Folgende Zeilen einfügen: | 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` ( | CREATE TABLE `collections` ( | ||
`userid` int(11) NOT NULL, | `userid` int(11) NOT NULL, | ||
Zeile 49: | Zeile 56: | ||
KEY `nameindex` (`userid`,`name`) | KEY `nameindex` (`userid`,`name`) | ||
) ENGINE=InnoDB; | ) ENGINE=InnoDB; | ||
CREATE TABLE `wbo` ( | CREATE TABLE `wbo` ( | ||
`username` int(11) NOT NULL, | `username` int(11) NOT NULL, | ||
`collection` smallint(6) NOT NULL | `collection` smallint(6) NOT NULL default '0', | ||
`id` varbinary(64) NOT NULL | `id` varbinary(64) NOT NULL default '', | ||
`parentid` varbinary(64) | `parentid` varbinary(64) default NULL, | ||
`predecessorid` varbinary(64) | `predecessorid` varbinary(64) default NULL, | ||
`sortindex` int(11) | `sortindex` int(11) default NULL, | ||
`modified` bigint(20) | `modified` bigint(20) default NULL, | ||
`payload` longtext, | `payload` longtext, | ||
`payload_size` int(11) | `payload_size` int(11) default NULL, | ||
PRIMARY KEY (`username`,`collection`,`id`), | PRIMARY KEY (`username`,`collection`,`id`), | ||
KEY `parentindex` (`username`,`collection`,`parentid`), | KEY `parentindex` (`username`,`collection`,`parentid`), | ||
Zeile 66: | Zeile 73: | ||
KEY `predecessorindex` (`username`,`collection`,`predecessorid`), | KEY `predecessorindex` (`username`,`collection`,`predecessorid`), | ||
KEY `size_index` (`username`,`payload_size`) | KEY `size_index` (`username`,`payload_size`) | ||
) ENGINE=InnoDB; | ) ENGINE=InnoDB; | ||
Datenbank Template importieren ('''''sql_root_pwd''''' erforderlich): | Datenbank Template importieren ('''''sql_root_pwd''''' erforderlich): | ||
mysql -u root -p | mysql -u root -p weave <weave.sql | ||
=Konfiguration= | =Konfiguration= | ||
Reg-Server: | Reg-Server: | ||
cd /var/www/ | cd /var/www/weave/reg-server/1.0 | ||
cp weave_user_constants.php.dist weave_user_constants.php | cp weave_user_constants.php.dist weave_user_constants.php | ||
vi 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: | 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_AUTH_ENGINE', 'mysql'); | ||
define('WEAVE_MYSQL_AUTH_PASS', '''''mozillasync_pwd'''''); | |||
define('WEAVE_MYSQL_AUTH_PASS', | |||
define('WEAVE_SHA_SALT', ''''''Weave_Salt''''''); | define('WEAVE_SHA_SALT', ''''''Weave_Salt''''''); | ||
{{Achtung| | {{Achtung| | ||
Für den Parameter '''''WEAVE_SHA_SALT''''' eine beliebige sehr lange (mind. | 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''''''); | |||
{{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.}} | |||
Zeile 126: | Zeile 116: | ||
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem | SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem | ||
ServerName mozillasync.domain.org | ServerName mozillasync.domain.org | ||
DocumentRoot /var/www/ | DocumentRoot /var/www/weave | ||
Alias /1.0 /var/www/ | Alias /1.0 /var/www/weave/sync-server/1.0/index.php | ||
Alias /user/1.0 /var/www/ | Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php | ||
Alias /user/1 /var/www/ | Alias /user/1 /var/www/weave/reg-server/1.0/index.php | ||
Alias /misc/1.0/captcha_html /var/www/ | Alias /misc/1.0/captcha_html /var/www/weave/reg-server/1.0/captcha.php | ||
Alias /misc/1/captcha_html /var/www/ | Alias /misc/1/captcha_html /var/www/weave/reg-server/1.0/captcha.php | ||
Alias /weave-registration-static /var/www/ | Alias /weave-registration-static /var/www/weave/reg-server/1.0/static | ||
Alias /weave-password-reset /var/www/ | Alias /weave-password-reset /var/www/weave/reg-server/1.0/forgot_password.php | ||
CustomLog /var/log/apache2/mozilla-sync/access.log combined | CustomLog /var/log/apache2/mozilla-sync/access.log combined | ||
ErrorLog /var/log/apache2/mozilla-sync/error.log | ErrorLog /var/log/apache2/mozilla-sync/error.log | ||
DirectoryIndex index.php index.html index.htm | DirectoryIndex index.php index.html index.htm | ||
ServerSignature Off | ServerSignature Off | ||
<Directory "/var/www/ | <Directory "/var/www/weave/"> | ||
Options Indexes FollowSymLinks | Options Indexes FollowSymLinks | ||
AllowOverride none | AllowOverride none | ||
Zeile 150: | Zeile 140: | ||
Apache neu starten: | Apache neu starten: | ||
/etc/init.d/apache2 restart | /etc/init.d/apache2 restart | ||
=Client Installation und Konfiguration= | =Client Installation und Konfiguration= | ||
Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden. | |||
{{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 |
Version vom 2. Oktober 2010, 18:09 Uhr
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');
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
Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden.
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