Monter un serveur Firefox Sync basique sous Debian

De HomeServer.DIY.
Aller à : Navigation, rechercher

Firefox, l'excellent navigateur libre, propose de synchroniser les favoris, l'historique, les identifiants etc, entre plusieurs machines. Pour ce faire, la fondation Mozilla met à disposition ses serveurs gratuitement en garantissant la confidentialité totale de tout ce que leurs machines accueilleront. Ce service est extrêmement pratique et il serait dommage de s'en priver. Surtout que pour les adeptes de l'auto-hébergement, il est tout à fait possible d'avoir son serveur Firefox Sync sur son propre PC, et c'est ce que nous allons voir ici.

Sommaire

Pré-requis:

Pour commencer il faut installer les outils permettant l'installation et le fonctionnement du serveur que sont :

  • python-dev
  • make
  • mercurial
  • sqlite3

On passe par une petite commande simple :

apt-get install python-dev mercurial sqlite3 python-virtualenv

Une fois ces paquets installer on peut installer le serveur lui même.

Installation du serveur Firefox Sync

Placez vous dans le répertoire qui accueillera les fichiers, par exemple dans votre /home :

cd /home/utilisateur/FFsync

Ensuite on copie le contenu du repertoire qui nous intéresse sur le dépôt par la commande "hg clone" :

hg clone https://hg.mozilla.org/services/server-full

On se place dans le répertoire en question :

cd ./server-full

Et on lance la compilation :

make build

On peut tester l'installation :

make test

Si tout se passe bien, votre serveur Sync est installé. Si jamais vous rencontrez une erreur à propos de pysqlite2, il sera certainement nécessaire d'installer le paquet pysqlite :

./bin/pip install pysqlite

Configuration

Pour configurer le serveur il faut éditer le fichier sync.conf :

nano /etc/sync.conf

L'adresse de votre serveur doit être précisée via l'option :

[nodes]
fallback_node = http://mondomaine.com:port/

Il ser nécessaire de rediriger le port que vous aurez choisi de votre box ou routeur vers celui du serveur.

Pour définir l'emplacement de votre votre base de données, il faut indiquer le chemin du fichier dbsync.db qui se situe dans le répertoire où le serveur est installé :

[storage]
sqluri = sqlite:////home/utilisateur/FFsync/dbsync.db
[auth]
sqluri = sqlite:////home/utilisateur/FFsync/dbsync.db

Enfin, si vous souhaitez autoriser de nouveaux utilisateurs s'inscrire sur votre serveur, il faut le régler dans cette partie du fichier :

[auth]
allow_new_users = false ou true

Lancement manuel du serveur :

Ceci fait, il ne reste qu'à lancer le serveur manuellement par la commande :

bin/paster serve development.ini

Lancement automatique du serveur :

Si vous souhaitez que le serveur se lance automatiquement au démarrage de la machine, il suffit de créer un script shell qui s'en chargera. Créez le fichier :

nano ./launch_sync.sh

Le fichier est ouvert mais vide. Inscrivez y les 2 lignes suivantes :

#!/bin/sh
sudo /home/utilisateur/FFsync/server-full/bin/paster serve /home/utilisateur/FFsync/server-full/development.ini

Sauvegardez avec Ctrl+x, et cpier le fichier dans /etc/init.d :

cp /home/utilisateur/FFsync/launch_sync.sh /etc/init.d

Réglez les droits sur le fichier pour le rendre utilisable :

chmod 755 /etc/init.d/launch_sync.sh

Et demandez à votre système de prendre en compte le script :

update-rc.d launch_sync.sh defaults

Sources et compléments :

Ce tuto est une adaptation de celui de Wak de Wakdev.com qui m'a autorisé il y a déjà quelques mois à le partager sur HomerServer-DIY. Son tuto est disponible à cette adresse : Monter un serveur Firefox Sync. Vous y trouverez d'ailleurs plus d'informations comme la mise en place de sauvegardes vers une autre machine via NFS.

La documentation officielle sur Firefox Sync est elle disponible sur le site de la fondation Mozilla