Debian MozillaSync: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
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. Für Firefox Versionen <4 kann das Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) verwendet werden. 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. 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 bzw. Sync-Plugin 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 für Synchronisation via Internet:
* Webserver
* OpenSSL mit Wildcard Zertifkat


Voraussetzung:
* [[Debian_Apache2|&rarr; Webserver]]
* [[Debian_OpenSSL|&rarr; OpenSSL mit Wildcard Zertifikat]]
* [[Debian_MySQL|&rarr; SQL-Server]]
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 python-dev mercurial make sqlite3 python-virtualenv
Download Verzeichnis erstellen und downloaden:
  mkdir /opt/ffasync
  mkdir /usr/local/src/mozilla_sync
  cd /opt/ffsync
  cd /usr/local/src/mozilla_sync
  hg clone https://hg.mozilla.org/services/server-full
  wget http://hg.mozilla.org/services/sync-server/archive/fc6beddf7e61.tar.gz -O sync-server.tar.gz
  cd server-full
  wget http://hg.mozilla.org/services/reg-server/archive/0a3be81af7cc.tar.gz -O reg-server.tar.gz
  make build
entpacken:
  mkdir db
  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
Die Konfigurationfiles des Syncservers befinden sich im Unterordner etc/ (/opt/mozillasync/server-full/etc/).
cp weave_user_constants.php.dist weave_user_constants.php
  cd /opt/ffsync/server-full
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'''''');
define('WEAVE_PAYLOAD_MAX_SIZE',65536);
 
{{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.}}
 
 
==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==
Festlegen des SQLite Datenbankfiles zum Speichern der Syncdaten:
Da der Zugriff auf den Syncserver über einen Standard Apache Virtualhost erfolgt, wird dieser hier angelegt
vi etc/sync.conf
Folgende Änderungen durchführen:
[storage]
backend = syncstorage.storage.sql.SQLStorage
sqluri = sqlite:////opt/ffsync/server-full/db/ffsync.db
...
[auth]
backend = services.auth.sql.SQLAuth
sqluri = sqlite:////opt/ffsync/server-full/db/ffauth.db
...
fallback_node = http://'''''IP_des_SERVER''''':5000


{{Hinweis|Die aktuelle Version des Server enthält im Konfigfile sync.conf einen Fehler, der einen Start des Servers verhindert. Die beiden backendeinträge wie oben dargestellt checken und evtl. entsprechend anpassen.}}


===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:
===Apache Webserver===
  vi /etc/apache2/sites-enabled/mozilla-sync_http.conf
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:
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>
  <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'''
     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
       Order allow,deny
       Allow from all
       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>
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>';


==Startskript==
vi /etc/init.d/ffsync
Folgende Zeilen einfügen:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          mozillasync
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:    $remote_fs $network $syslog
# Default-Start:    2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:      Mozillasync startscript.
### END INIT INFO
DIR=/opt/ffsync/server-full
DAEMON="$DIR/bin/paster"
OPTIONS="serve $DIR/development.ini --daemon"
PID=`pidof "$DIR/bin/python"`
case "$1" in
  start)
    if [ -z $PID ]; then
      echo "Starting Firefox-Sync"
      $DAEMON $OPTIONS > /dev/null
    else
      echo "Firefox-Sync already running"
    fi
    ;;
  stop)
      if [ -z $PID ]; then
      echo "Firefox-Sync not running"
    else
      echo "Stopping Firefox-Sync"
      kill -9 $PID
    fi
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
esac


==Client Installation und Konfiguration==
Autostart des Syncserver beim Systemstart:
===Installation===
  update-rc.d ffsync defaults
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 das Root-CA Zertifikat importiert werden. Details [[Debian_OpenSSL#Mozilla Firefox und Thunderbird|&rarr; 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."'''''}}
 
 
Das Firefox Sync-Plugin kann von dieser Seite: https://addons.mozilla.org/de/firefox/addon/10868/ heruntergeladen und installiert werden.
[[Bild:Mozilla-Sync1.png|450px]]
* 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:
:[[Bild:Mozilla-Sync3.png|350px]]
 
: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
 


* '''''I have a Firefox Sync Account'''''
: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. E-Mail-Adresse, Passwort und Passphrase identisch zu den Angaben bei der Accounterstellung wählen.
==Syncserver starten==
/etc/init.d/ffsync start




===Konfiguration ändern===
==Client Konfiguration==
Die Einstellungen des Firefox-Sync-Plugin können jederzeit im Firefox Menü '''''Extras/Sync/Preferences...'''
Die Einrichtung des Clients ist selbsterklärend.
Es muss lediglich die Einstellung für den Server von '''Firefox Sync-Server''' in '''Eigenen Sync Server verwenden...'''. Als Server dann entweder '''http://IP_des_Server:5000''' oder '''https://ffsync.domain.org''' eintragen.
Beim Anlegen eines neuen Accounts wird ein sog. Syncschlüssel generiert, der auf allen Clients, die mit diesem Account synchronisiert werden sollen angegeben werden muss.

Version vom 29. Juni 2011, 20:53 Uhr

Allgemein

Mozilla-Sync.png

Mozilla Firefox Sync ist seit Version 4 von Firefox fester Bestandteil des Browser's. Für Firefox Versionen <4 kann das Firefox Sync Addon (https://addons.mozilla.org/de/firefox/addon/10868/) verwendet werden. 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. Mozilla Firefox Sync wird fester Bestandteil des kommenden Firefox 4.0 sein. Es muss dann kein Plugin mehr installiert werden.

Das Anlegen eines neuen Accounts, Änderung des Passwortes usw. wird komplett vom Client bzw. Sync-Plugin 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 python-dev mercurial make sqlite3 python-virtualenv
mkdir /opt/ffasync
cd /opt/ffsync
hg clone https://hg.mozilla.org/services/server-full
cd server-full
make build
mkdir db

Konfiguration

Sync-Server

Die Konfigurationfiles des Syncservers befinden sich im Unterordner etc/ (/opt/mozillasync/server-full/etc/).

cd /opt/ffsync/server-full


Festlegen des SQLite Datenbankfiles zum Speichern der Syncdaten:

vi etc/sync.conf

Folgende Änderungen durchführen:

[storage]
backend = syncstorage.storage.sql.SQLStorage
sqluri = sqlite:////opt/ffsync/server-full/db/ffsync.db
...
[auth]
backend = services.auth.sql.SQLAuth
sqluri = sqlite:////opt/ffsync/server-full/db/ffauth.db
...
fallback_node = http://IP_des_SERVER:5000
Bulbgraph.png Hinweis:
Die aktuelle Version des Server enthält im Konfigfile sync.conf einen Fehler, der einen Start des Servers verhindert. Die beiden backendeinträge wie oben dargestellt checken und evtl. entsprechend anpassen.


Apache Webserver

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>

Apache2 neu starten:

/etc/init.d/apache2 restart


Startskript

vi /etc/init.d/ffsync

Folgende Zeilen einfügen:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          mozillasync
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:     $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Mozillasync startscript.
### END INIT INFO

DIR=/opt/ffsync/server-full
DAEMON="$DIR/bin/paster"
OPTIONS="serve $DIR/development.ini --daemon"

PID=`pidof "$DIR/bin/python"`
case "$1" in
  start)
    if [ -z $PID ]; then
      echo "Starting Firefox-Sync"
      $DAEMON $OPTIONS > /dev/null
    else
      echo "Firefox-Sync already running"
    fi
    ;;
  stop)
     if [ -z $PID ]; then
      echo "Firefox-Sync not running"
    else
      echo "Stopping Firefox-Sync"
      kill -9 $PID
    fi
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
esac

Autostart des Syncserver beim Systemstart:

update-rc.d ffsync defaults


Syncserver starten

/etc/init.d/ffsync start


Client Konfiguration

Die Einrichtung des Clients ist selbsterklärend. Es muss lediglich die Einstellung für den Server von Firefox Sync-Server in Eigenen Sync Server verwenden.... Als Server dann entweder http://IP_des_Server:5000 oder https://ffsync.domain.org eintragen. Beim Anlegen eines neuen Accounts wird ein sog. Syncschlüssel generiert, der auf allen Clients, die mit diesem Account synchronisiert werden sollen angegeben werden muss.