|
|
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| ==Allgemein== | | ==Allgemein== |
| [[Bild:Mozilla-Sync.png|left]] 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. | | [[Bild:Mozilla-Sync.png|left]] Mozilla Firefox Sync ist seit Version 4 von Firefox fester Bestandteil des Browser's. Mit Firefox-Version 29 wurde das Protokoll geändert, sodass seit dieser Version die Serverversion 1.5 verwendet werden muss. Neben der Serverkomponente wurde die Authentifizierung der User geändert. Es ist nun ein Mozilla-Konto erforerderlich, ooder der optionale Accounting-Server. Auf dem Server wird der hier vorgestellte Firefox Syncserver (ehemals Weave) verwendet, um die Bookmarks, History, Passwörter und geöffnete Tabs zwischen verschiendenne Installationen zu synchronisieren. |
|
| |
|
| 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 erledigt. Nach der Serverinstallation ist keinerlei Eingriff diesbezüglich am Server erforderlich. |
|
| |
|
| 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:
| |
|
| |
|
| * [[Debian_Apache2|→ Webserver]] | | Voraussetzung für Synchronisation via Internet: |
| * [[Debian_OpenSSL|→ OpenSSL mit Wildcard Zertifikat]] | | * Webserver |
| * [[Debian_MySQL|→ SQL-Server]]
| | * OpenSSL mit Wildcard Zertifkat |
| Systemsprache: Englisch
| |
|
| |
|
| ==Sprache auf Englisch umstellen==
| |
|
| |
| dpkg-reconfigure locales
| |
|
| |
| In der Liste mit der Leertaste '''en_US.UTF-8 UTF-8''' auswählen. Anschließend mit OK bestätigen und dann in der nächsten Maske en_US als Standard auswählen.
| |
| Mit dem Befehl:
| |
|
| |
| update-locale LANG=en_US.UTF8
| |
|
| |
| wird die Sprache schließlich komplett umgestellt. Neues Putty-Fenster aufmachen und mit:
| |
|
| |
| locale
| |
|
| |
| kontrollieren ob die Sprache komplett umgestellt wurde. Die Ausgabe sollte folgendermaßen aussehen:
| |
|
| |
| LANG=en_US.UTF-8
| |
| LC_CTYPE="en_US.UTF-8"
| |
| LC_NUMERIC="en_US.UTF-8"
| |
| LC_TIME="en_US.UTF-8"
| |
| LC_COLLATE="en_US.UTF-8"
| |
| LC_MONETARY="en_US.UTF-8"
| |
| LC_MESSAGES="en_US.UTF-8"
| |
| LC_PAPER="en_US.UTF-8"
| |
| LC_NAME="en_US.UTF-8"
| |
| LC_ADDRESS="en_US.UTF-8"
| |
| LC_TELEPHONE="en_US.UTF-8"
| |
| LC_MEASUREMENT="en_US.UTF-8"
| |
| LC_IDENTIFICATION="en_US.UTF-8"
| |
| LC_ALL=
| |
|
| |
|
| ==Installation== | | ==Installation== |
| ===Download===
| | apt-get install make python-dev git-core python-virtualenv g++ |
| Download Verzeichnis erstellen und downloaden:
| | cd /opt/ |
| mkdir /usr/local/src/mozilla_sync | | git clone https://github.com/mozilla-services/syncserver |
| cd /usr/local/src/mozilla_sync | | cd syncserver |
| wget http://hg.mozilla.org/services/sync-server/archive/fc6beddf7e61.tar.gz -O sync-server.tar.gz | | make build |
| wget http://hg.mozilla.org/services/reg-server/archive/0a3be81af7cc.tar.gz -O reg-server.tar.gz
| | mkdir db |
| 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',
| |
| <nowiki>`id` varbinary(64) NOT NULL default '',</nowiki>
| |
| `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== | | ==Konfiguration== |
| Reg-Server:
| | ===Sync-Server=== |
| cd /var/www/weave/reg-server/1.0
| | Das Konfigurationfile des Syncservers befinden sich im Ordner /opt/syncserver/. |
| cp weave_user_constants.php.dist weave_user_constants.php | | cd /opt/syncserver/ |
| 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|
| | Festlegen des SQLite Datenbankfiles zum Speichern der Syncdaten und eines Schlüssels für die Verschlüsselung der Datenbank: |
| 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}}
| |
|
| |
|
| | Schlüssel: |
| | head -c 20 /dev/urandom | sha1sum |
| | die Ausgabe sieht z.B. folgendermaßen aus: |
| | 8c76e8b050abd0fffb0a986146282fe328be2e92 - |
| | D.h. '''SYNC_SECRET'''=8c76e8b050abd0fffb0a986146282fe328be2e92 |
|
| |
|
| Sync-Server:
| | Konfigfile anpassen: |
| cd /var/www/weave/sync-server/1.0 | | vi syncserver.ini |
| cp default_constants.php.dist default_constants.php
| | Folgende Änderungen durchführen: |
| vi default_constants.php | | [syncserver] |
| Nach "# ***** END LICENSE BLOCK *****" folgende Zeilen einfügen und '''''mozillasync_pwd''''' mit dem beim Erstellen der Datenbank angegebenem Datenbank Passwort ersetzen:
| | sqluri = sqlite:////opt/syncserver/db/syncserver.db |
| define('WEAVE_STORAGE_ENGINE', 'mysql'); | | secret = '''SYNC_SECRET''' |
| define('WEAVE_MYSQL_STORE_READ_PASS', ''''''mozillasync_pwd'''''');
| | Syncserver nur aus dem lokalen Netzwerk erreichbar: |
| define('WEAVE_AUTH_ENGINE', 'mysql');
| | public_url = http://'''IP_des_Server''':5000 |
| define('WEAVE_MYSQL_AUTH_PASS', ''''''mozillasync_pwd''''''); | | Syncserver aus dem Internet erreichbar: |
| define('WEAVE_SHA_SALT', ''''''Weave_Salt'''''');
| | public_url = https://ffsync.'''domain.org''' |
| define('WEAVE_PAYLOAD_MAX_SIZE',65536); | | force_wsgi_environ = true |
|
| |
|
| {{Hinweis|
| | ===Optional: Syncserver aus dem Internet erreichbar=== |
| 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.}}
| | Mit obigen Einstellungen ist der Syncserver im lokalen Netzwerk unter der Adresse http://'''''IP_des_SERVER''''':5000 erreichbar. Mittels Apache Reverse Proxy ist es möglich, den Syncserver auch aus dem Internet erreichbar zu machen und die Daten SSL verschlüsselt zu übertragen. |
| | | vi /etc/apache2/sites-enabled/ffsync_https.conf |
| | |
| ==Apache PHP Modul Suhosin==
| |
| Die Konfiguration des Apache/PHP Moduls Suhosin muss angepasst werden, um Error-log Einträge zu vermeiden.
| |
| Standardmäßig lässt dieses Modul "Get-Abfragen" nur bis zu einer Größe von 512 Byte zu. Dies ist zu wenig für die Synchronisation.
| |
| vi /etc/php5/conf.d/suhosin.ini
| |
| Den Parameter
| |
| ;suhosin.get.max_value_length = 65536
| |
| abändern (; am Zeilenanfang entfernen und den Wert anpassen):
| |
| suhosin.get.max_value_length = 65536
| |
| | |
| | |
| ==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: | | Folgende Zeilen einfügen: |
| <VirtualHost *:8000> | | *Apache 2.2: |
| DocumentRoot /var/www/weave | | <VirtualHost *:443> |
| Alias /1.0 /var/www/weave/sync-server/1.0/index.php
| | ServerName '''''ffsync.domain.org''''' |
| Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php
| | ProxyRequests Off |
| Alias /user/1 /var/www/weave/reg-server/1.0/index.php
| | <Proxy *> |
| 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 | | Order allow,deny |
| Allow from '''192.168.0.0'''/255.255.255.0 | | Allow from all |
| </Directory> | | </Proxy> |
| | ProxyPass / http://'''''IP_des_SERVER''''':5000/ |
| | <Location /> |
| | ProxyPassReverse / |
| | </Location> |
| | SSLEngine on |
| | SSLProxyEngine On |
| | SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem |
| </VirtualHost> | | </VirtualHost> |
| | | *Apache 2.4: |
| 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> | | <VirtualHost *:443> |
| SSLEngine On
| | ServerName '''''ffsync.domain.org''''' |
| SSLCertificateKeyFile /etc/ssl/CA/key/wildcard-key.pem
| | ProxyRequests Off |
| SSLCertificateFile /etc/ssl/CA/certs/wildcard-cert.pem
| | <Proxy *> |
| ServerName '''mozillasync.domain.org''' | | Require all granted |
| DocumentRoot /var/www/weave | | </Proxy> |
| Alias /1.0 /var/www/weave/sync-server/1.0/index.php | | ProxyPass / http://'''''IP_des_SERVER''''':5000/ |
| Alias /user/1.0 /var/www/weave/reg-server/1.0/index.php | | <Location /> |
| Alias /user/1 /var/www/weave/reg-server/1.0/index.php | | ProxyPassReverse / |
| Alias /misc/1.0/captcha_html /var/www/weave/reg-server/1.0/captcha.php | | </Location> |
| Alias /misc/1/captcha_html /var/www/weave/reg-server/1.0/captcha.php
| | SSLEngine on |
| Alias /weave-registration-static /var/www/weave/reg-server/1.0/static | | SSLProxyEngine On |
| Alias /weave-password-reset /var/www/weave/reg-server/1.0/forgot_password.php | | SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem |
| 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> | | </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:
| | Apache2 neu starten: |
| /etc/init.d/apache2 restart | | /etc/init.d/apache2 restart |
|
| |
|
| ===PHP Bugfix===
| |
| Leider enthält die verwendete Reg-Server-Version noch zwei kleine Bugs.
| |
| * 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>''';'''
| |
| * Dieser Bug verhindert das Zusenden des Passwortes per Email.
| |
| vi /var/www/weave/reg-server/1.0/templates/forgot_1.php
| |
| In Zeile 18 am Zeilenende ein ''';''' anhängen, sodass diese Zeile korrekterweise so aussieht:
| |
| echo '<script>var RecaptchaOptions = {theme: "clean"};</script>';
| |
|
| |
|
| | ==Systemd Unit== |
| | vi /etc/systemd/system/firefox-sync.service |
| | Folgende Zeilen einfügen: |
| | [Unit] |
| | Description=Firefox Sync Server |
| | After=syslog.target network.target remote-fs.target nss-lookup.target |
|
| |
|
| ==Client Installation und Konfiguration== | | [Service] |
| ===Installation=== | | Type=simple |
| Das Firefox-Sync Plugin erstellt automatisch auf dem Server einen Account. Auf dem Server ist dazu keinerlei Aktion erforderlich.
| | User=firefox-sync |
| | | Group=firefox-sync |
| {{Hinweis|
| | Umask=007 |
| Damit die spätere Synchronisation mittels HTTPS (falls konfiguriert, siehe oben) funktioniert, muss das Root-CA Zertifikat importiert werden. Details [[Debian_OpenSSL#Mozilla Firefox und Thunderbird|→ siehe hier]]. 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."'''''}}
| | Restart=on-abort |
| | | ExecStart=/opt/syncserver/local/bin/gunicorn --paste /opt/syncserver/syncserver.ini |
| | | |
| Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden.
| | [Install] |
| [[Bild:Mozilla-Sync1.png|450px]]
| | WantedBy=multi-user.target |
| * 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:
| |
| [[Bild:Mozilla-Sync-Menu.png|350px]] | |
| * '''''Create a New Account'''''
| |
| :Mit diesem Punkt wird das Sync-Konto auf dem Server erstellt und der Client eingerichtet.
| |
| :[[Bild:Mozilla-Sync2.png|350px]]
| |
| ::Server: '''''use a custom server''''' (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
| |
| ::E-Mail-Adresse: Mail-Adresse des Users. Fungiert gleichzeitig als Benutzername
| |
| ::Passwort: beliebiges Passwort
| |
| :Wenn alle nötigen Angaben gemacht sind, Button '''weiter''' anklicken
| |
| | |
|
| |
|
| :Hier die Passphrase eingeben, die zur Verschlüsselung der Daten (Bookmarks, Passwörter, History, usw.) in der Datenbank verwendet werden soll:
| | Autostart des Syncserver beim Systemstart: |
| :[[Bild:Mozilla-Sync3.png|350px]]
| | systemctl enable --now firefox-sync |
|
| |
|
| :Mit Button '''''Sync Options''''' können die Synchronisations Einstellungen getroffen werden:
| |
| ::[[Bild:Mozilla-Sync4.png|350px]]
| |
| ::Die gewünschten Optionen einstellen
| |
| ::Mit Button '''''Done''''' bestätigen
| |
|
| |
|
| :In obigen '''''Privacy ...'''''-Fenster den Button '''weiter''' anklicken
| | ==Syncserver starten== |
| | service firefox-sync start |
|
| |
|
|
| |
|
| * '''''I have a Firefox Sync Account'''''
| | ==Client Konfiguration== |
| :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.
| | Für die Synchronisation ist ein Mozilla-Account erforderlich. |
|
| |
|
| :Die Einstellungen analog zu den bei der Erstellung des Accounts eingeben. E-Mail-Adresse, Passwort und Passphrase identisch zu den Angaben bei der Accounterstellung wählen. | | Um einen eigenen Server für die Synchronisation zu verwenden, muss die URL des Sycnservers vor der eigentlichen Synckonfiguration eingerichtet werden: |
| | *Firefox starten |
| | falls unter Einstellungen/Sync bereits eine Synchronisation eingerichtet ist, diese trennen |
| | *Adresse about:config eingeben |
| | *Unter Suchen: services.sync.tokenServerURI eingeben |
| | *Den Eintrag identity.sync.tokenserver.uri durch doppelcklick bearbeiten |
| | **Server nur lokal erreichbar (siehe Konfiguration Sync-Server): Adresse: http://'''IP_des_Server'''/token/1.0/sync/1.5 eingeben |
| | **Server aus dem Internet erreichbar (siehe Konfiguration Sync-Server): Adresse: https://ffsync.'''domaian.org'''/token/1.0/sync/1.5 eingeben |
| | *Firefox neu starten |
| | Synchronisation konfigurieren: |
| | *Firefox Menü Extras/Einstellungen auswählen |
| | *Sync anklicken |
| | *Firefox Konto neu erstellen: |
| | **Link Konto erstellen anklicken |
| | **Emailadresse und Passwort vergeben und Geburtsjahr auswählen |
| | **Haken bei "Auswählen, was synchronisiert werden soll" anklicken |
| | **Registrieren anwählen |
| | **Nach der Bestätigung wird eine Mail an die angegeben Mailadresse gesendet. |
| | **Den Bestätigen Link in der Mail anklicken, um die Email-Adresse zu bestätigen |
| | **Je nach Bedarf auswählen, welche Daten synchronisiert werden sollen: Tabs, Lesezeichen, Passwörter, Chronik, Add-ons, Einstellungn, Gerätename |
| | *Vorhandenes Firefox Konto: |
| | **Link Anmelden anklicken |
| | **Emailadresse und Passwort des Mozilla-Kontos eingeben |
| | **Verwalten anklicken |
| | **Je nach Bedarf auswählen, welche Daten synchronisiert werden sollen: Tabs, Lesezeichen, Passwörter, Chronik, Add-ons, Einstellungn, Gerätename |
|
| |
|
| | ==Firefox Sync Degug Log== |
| | In Firefox folgende Url eingeben: about:config |
|
| |
|
| ===Konfiguration ändern===
| | Wenn die Synchronisierung fehlerfrei funktioniert, sollten keine Log-Einträge vorhanden sein. Falls welche vorhanden sind, können diese Hinweise für die Fehlerursache liefern. |
| Die Einstellungen des Firefox-Sync-Plugin können jederzeit im Firefox Menü '''''Extras/Sync/Preferences...'''
| |
Allgemein
Mozilla Firefox Sync ist seit Version 4 von Firefox fester Bestandteil des Browser's. Mit Firefox-Version 29 wurde das Protokoll geändert, sodass seit dieser Version die Serverversion 1.5 verwendet werden muss. Neben der Serverkomponente wurde die Authentifizierung der User geändert. Es ist nun ein Mozilla-Konto erforerderlich, ooder der optionale Accounting-Server. Auf dem Server wird der hier vorgestellte Firefox Syncserver (ehemals Weave) verwendet, um die Bookmarks, History, Passwörter und geöffnete Tabs zwischen verschiendenne Installationen zu synchronisieren.
Das Anlegen eines neuen Accounts, Änderung des Passwortes usw. wird komplett vom Client erledigt. Nach der Serverinstallation ist keinerlei Eingriff diesbezüglich am Server erforderlich.
Voraussetzung für Synchronisation via Internet:
- Webserver
- OpenSSL mit Wildcard Zertifkat
Installation
apt-get install make python-dev git-core python-virtualenv g++
cd /opt/
git clone https://github.com/mozilla-services/syncserver
cd syncserver
make build
mkdir db
Konfiguration
Sync-Server
Das Konfigurationfile des Syncservers befinden sich im Ordner /opt/syncserver/.
cd /opt/syncserver/
Festlegen des SQLite Datenbankfiles zum Speichern der Syncdaten und eines Schlüssels für die Verschlüsselung der Datenbank:
Schlüssel:
head -c 20 /dev/urandom | sha1sum
die Ausgabe sieht z.B. folgendermaßen aus:
8c76e8b050abd0fffb0a986146282fe328be2e92 -
D.h. SYNC_SECRET=8c76e8b050abd0fffb0a986146282fe328be2e92
Konfigfile anpassen:
vi syncserver.ini
Folgende Änderungen durchführen:
[syncserver]
sqluri = sqlite:////opt/syncserver/db/syncserver.db
secret = SYNC_SECRET
Syncserver nur aus dem lokalen Netzwerk erreichbar:
public_url = http://IP_des_Server:5000
Syncserver aus dem Internet erreichbar:
public_url = https://ffsync.domain.org
force_wsgi_environ = true
Optional: Syncserver aus dem Internet erreichbar
Mit obigen Einstellungen ist der Syncserver im lokalen Netzwerk unter der Adresse http://IP_des_SERVER:5000 erreichbar. Mittels Apache Reverse Proxy ist es möglich, den Syncserver auch aus dem Internet erreichbar zu machen und die Daten SSL verschlüsselt zu übertragen.
vi /etc/apache2/sites-enabled/ffsync_https.conf
Folgende Zeilen einfügen:
<VirtualHost *:443>
ServerName ffsync.domain.org
ProxyRequests Off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://IP_des_SERVER:5000/
<Location />
ProxyPassReverse /
</Location>
SSLEngine on
SSLProxyEngine On
SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem
</VirtualHost>
<VirtualHost *:443>
ServerName ffsync.domain.org
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://IP_des_SERVER:5000/
<Location />
ProxyPassReverse /
</Location>
SSLEngine on
SSLProxyEngine On
SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem
</VirtualHost>
Apache2 neu starten:
/etc/init.d/apache2 restart
Systemd Unit
vi /etc/systemd/system/firefox-sync.service
Folgende Zeilen einfügen:
[Unit]
Description=Firefox Sync Server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
User=firefox-sync
Group=firefox-sync
Umask=007
Restart=on-abort
ExecStart=/opt/syncserver/local/bin/gunicorn --paste /opt/syncserver/syncserver.ini
[Install]
WantedBy=multi-user.target
Autostart des Syncserver beim Systemstart:
systemctl enable --now firefox-sync
Syncserver starten
service firefox-sync start
Client Konfiguration
Für die Synchronisation ist ein Mozilla-Account erforderlich.
Um einen eigenen Server für die Synchronisation zu verwenden, muss die URL des Sycnservers vor der eigentlichen Synckonfiguration eingerichtet werden:
falls unter Einstellungen/Sync bereits eine Synchronisation eingerichtet ist, diese trennen
- Adresse about:config eingeben
- Unter Suchen: services.sync.tokenServerURI eingeben
- Den Eintrag identity.sync.tokenserver.uri durch doppelcklick bearbeiten
- Server nur lokal erreichbar (siehe Konfiguration Sync-Server): Adresse: http://IP_des_Server/token/1.0/sync/1.5 eingeben
- Server aus dem Internet erreichbar (siehe Konfiguration Sync-Server): Adresse: https://ffsync.domaian.org/token/1.0/sync/1.5 eingeben
- Firefox neu starten
Synchronisation konfigurieren:
- Firefox Menü Extras/Einstellungen auswählen
- Sync anklicken
- Firefox Konto neu erstellen:
- Link Konto erstellen anklicken
- Emailadresse und Passwort vergeben und Geburtsjahr auswählen
- Haken bei "Auswählen, was synchronisiert werden soll" anklicken
- Registrieren anwählen
- Nach der Bestätigung wird eine Mail an die angegeben Mailadresse gesendet.
- Den Bestätigen Link in der Mail anklicken, um die Email-Adresse zu bestätigen
- Je nach Bedarf auswählen, welche Daten synchronisiert werden sollen: Tabs, Lesezeichen, Passwörter, Chronik, Add-ons, Einstellungn, Gerätename
- Vorhandenes Firefox Konto:
- Link Anmelden anklicken
- Emailadresse und Passwort des Mozilla-Kontos eingeben
- Verwalten anklicken
- Je nach Bedarf auswählen, welche Daten synchronisiert werden sollen: Tabs, Lesezeichen, Passwörter, Chronik, Add-ons, Einstellungn, Gerätename
Firefox Sync Degug Log
In Firefox folgende Url eingeben: about:config
Wenn die Synchronisierung fehlerfrei funktioniert, sollten keine Log-Einträge vorhanden sein. Falls welche vorhanden sind, können diese Hinweise für die Fehlerursache liefern.