Debian MozillaSync: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 109: | Zeile 109: | ||
=Apache Virtualhost= | =Apache Virtualhost= | ||
Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt: | Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt | ||
==HTTP nur lokal== | |||
Aus Sicherheitsgründen sollten Sync-Daten nicht per HTTP via Internet übertragen werden. Aus diesem Grund ist folgender beschriebener HTTP-Virtualhost nur aus dem lokalen Netzwerk erreichbar. Dazu wird ein weiterer Port (8000) definiert, auf dem Apache neben Port 80 (HTTP) und 443 (HTTPS) lauschen soll. | |||
vi /etc/apache2/ports.conf | |||
Dieses File folgendermaßen ergänzen: | |||
NameVirtualHost *:80 | |||
'''NameVirtualHost *:8000''' | |||
Listen 80 | |||
'''Listen 8000''' | |||
Nun wird der Virtualhost für Port 8000 erstellt: | |||
vi /etc/apache2/sites-enabled/mozilla-sync_http.conf | |||
Folgende Zeilen einfügen: | |||
<VirtualHost *:8000> | |||
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 192.168.0.0/255.255.255.0 | |||
</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 | |||
==HTTPS== | |||
vi /etc/apache2/sites-enabled/mozilla-sync_https.conf | vi /etc/apache2/sites-enabled/mozilla-sync_https.conf | ||
Folgende Zeile eingeben (den ServerName mozillasync.domain.org anpassen): | Folgende Zeile eingeben (den ServerName mozillasync.domain.org anpassen): | ||
Zeile 155: | Zeile 198: | ||
{{Hinweis| | {{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."'''''}} | Damit die spätere Synchronisation mittels HTTPS (falls konfiguriert, siehe oben) 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."'''''}} | ||
Zeile 170: | Zeile 213: | ||
:[[Bild:Mozilla-Sync2.png|350px]] | :[[Bild:Mozilla-Sync2.png|350px]] | ||
::Verbinde mit: '''''Eigenen Server verwenden''''' (Damit oben installierter Weave-Server anstatt des Mozilla Server verwendet wird) | ::Verbinde mit: '''''Eigenen Server verwenden''''' (Damit oben installierter Weave-Server anstatt des Mozilla Server verwendet wird) | ||
::Server-URL: https://mozillasync.domain.org | ::Server-URL (für http): http://IP_DES_SERVER:8000 | ||
::Server-URL (für https): https://mozillasync.domain.org | |||
::Benutzername: beliebiger Username | ::Benutzername: beliebiger Username | ||
::Passwort: beliebiges Passwort | ::Passwort: beliebiges Passwort |
Version vom 5. Oktober 2010, 07:35 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, 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
HTTP nur lokal
Aus Sicherheitsgründen sollten Sync-Daten nicht per HTTP via Internet übertragen werden. Aus diesem Grund ist folgender beschriebener HTTP-Virtualhost nur aus dem lokalen Netzwerk erreichbar. Dazu wird ein weiterer Port (8000) definiert, auf dem Apache neben Port 80 (HTTP) und 443 (HTTPS) lauschen soll.
vi /etc/apache2/ports.conf
Dieses File folgendermaßen ergänzen:
NameVirtualHost *:80 NameVirtualHost *:8000 Listen 80 Listen 8000
Nun wird der Virtualhost für Port 8000 erstellt:
vi /etc/apache2/sites-enabled/mozilla-sync_http.conf
Folgende Zeilen einfügen:
<VirtualHost *:8000> 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 192.168.0.0/255.255.255.0 </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
HTTPS
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
PHP Bugfix
Leider enthält die verwendete Reg-Server-Version noch einen kleinen Bug. Durch diesen Bug wird beim Anlegen eines neuen Accounts ein Fehler generiert.
vi /var/www/weave/reg-server/1.0/captcha.php
In Zeile 58 am Zeilenende ein ; anhängen, sodass diese Zeile korrekterweise so aussieht:
echo '<script>var RecaptchaOptions = {theme: "clean"};</script>;
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 mittels HTTPS (falls konfiguriert, siehe oben) 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 (für http): http://IP_DES_SERVER:8000
- Server-URL (für https): 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...