Debian MozillaSync: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(19 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Allgemein== | ==Allgemein== | ||
[[Bild:Mozilla-Sync.png|left]] | [[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. | ||
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: | |||
* | Voraussetzung für Synchronisation via Internet: | ||
* | * Webserver | ||
* OpenSSL mit Wildcard Zertifkat | |||
==Installation== | ==Installation== | ||
apt-get install make python-dev git-core python-virtualenv g++ | |||
cd /opt/ | |||
git clone https://github.com/mozilla-services/syncserver | |||
cd / | cd syncserver | ||
make build | |||
mkdir db | |||
mkdir | |||
==Konfiguration== | ==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 | |||
vi /etc/apache2/sites-enabled/ | |||
Folgende Zeilen einfügen: | Folgende Zeilen einfügen: | ||
<VirtualHost *: | *Apache 2.2: | ||
<VirtualHost *:443> | |||
ServerName '''''ffsync.domain.org''''' | |||
ProxyRequests Off | |||
<Proxy *> | |||
< | |||
Order allow,deny | Order allow,deny | ||
Allow from | 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> | ||
*Apache 2.4: | |||
Apache | |||
<VirtualHost *:443> | <VirtualHost *:443> | ||
ServerName '''''ffsync.domain.org''''' | |||
ProxyRequests Off | |||
<Proxy *> | |||
ServerName | 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> | </VirtualHost> | ||
Apache2 neu starten: | |||
/etc/init.d/apache2 restart | /etc/init.d/apache2 restart | ||
=== | ==Systemd Unit== | ||
vi /etc/systemd/system/firefox-sync.service | |||
Folgende Zeilen einfügen: | |||
vi / | [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: | ||
*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 | |||
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. | |||
Aktuelle Version vom 6. Juli 2020, 17:43 Uhr
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:
- Apache 2.2:
<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>
- Apache 2.4:
<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:
- 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
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.