Mozilla propose un service « Sync » performant et gratuit au sein leurs propres serveurs mais Mozilla nous laisse aussi la possibilité de créer notre serveur de synchronisation personnel.
Dans cet article, le serveur personnel Firefox Sync est installé sur Debian 7.
Présentation de Firefox Sync
Un serveur personnel Firefox Sync permet de sauvegarder l’ensemble de la configuration de votre navigateur Firefox via une synchronisation des objets ci-dessous :
- Les marque-pages
- Les historiques de navigation
- Les préférences
- Les mots de passe
- Les formulaires pré-remplis
- Les derniers onglets ouverts
- Les modules complémentaires
L’ensemble de votre configuration ne vous quittera plus et vos données sont entre vos mains.
Pratique si l’on dispose de plusieurs appareils (smartphone, pc portable, pc de bureau)!
Installation de Firefox Sync
Téléchargement des pré-requis :
apt-get install python-dev mercurial sqlite3 python-virtualenv libssl-dev
Téléchargement du serveur personnel Firefox Sync :
cd /var/www/
clone https://hg.mozilla.org/services/server-full
cd server-full
make build
Faire un test pour s’assurer que tout fonctionne :
make test
Configuration de Firefox Sync :
Rendez-vous dans le fichier de configuration :
nano etc/sync.conf
Les lignes à modifier sont :
[nodes]
fallback_node = http://votre_nom_dns:5000/
[storage]
sqluri = sqlite:////chemin/de/votre_base/nom_du_fichier.db
[auth]
sqluri = sqlite:////chemin/de/votre_base/nom_du_fichier.db
Par défaut le serveur Firefox Sync utilise SQLite, si vous souhaitez utiliser MySql voici la procédure :
Installation de MySql :
apt-get insall mysql-server
Ajouter une base de donnée dans MySql :
# mysql -u root -p
mysql> create database ffsync;
mysql> grant all on sync.* to sync identified by 'mon_mot_de_passe';
mysql> flush privileges;
mysql> exit;
Installation de « mysql-python » dans le dossier server-full :
bin/easy_install Mysql-Python
Modification de fichier de configuration pour mysql :
[nodes]
fallback_node = http://votre_nom_dns:5000/
[storage]
sqluri = mysql:////ffsync:mon_mot_de_passe@localhost/ffsync
[auth]
sqluri = mysql:////ffsync:mon_mot_de_pass@localhost/ffsync
Fin du paramétrage du fichier de configuration avec MySql.
Dans votre fichier de configuration la ligne suivante permet la création d’utilisateur :
(Dès que vos utilisateurs seront ajoutés, je vous conseille de la mettre à « false » rapidement.)
[auth]
allow_new_users=true
Envoi d’email de récupération du mot de passe Firefox Sync :
[smtp]
host = localhost
port = 25
sender = [email protected]
Lancement du serveur Firefox Sync :
bin/paster serve development.ini
==> Starting server in PID 29951.
==> serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
Le serveur fonctionne ! Cependant la tâche doit être lancée manuellement.
Voyons comment automatiser la tâche avec un script au démarrage du système .
Création d’un groupe et d’un utilisateur pour le lancement du script :
Création d’un groupe pour le lancement de Firefox Sync :
groupadd sync
Création d’un utilisateur dans le groupe « sync » pour le lancement de Firefox Sync :
useradd -d /var/www/server-full -g sync -r -s /bin/bash firefox
Création d’un dossier de log pour firefox :
mkdir /var/log/firefox
Donner les droits sur les dossiers « server-full » et « /var/log/firefox »:
chown -R firefox:sync /var/www/server-full && chown -R firefox:sync /var/log/firefox
Création du script de lancement de Firfox Sync :
nano /etc/init.d/ffsync.sh
Écrire ceci dans le fichier :
#!/bin/bash
### BEGIN INIT INFO
# Provides: Mozilla Sync HomeServer
# Required-Start: $syslog $network
# Required-Stop: $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Mozilla Sync HomeServer initscript
# Description: Mozilla Sync HomeServer
### END INIT INFO
MESSAGELOG=/var/log/firefox/sync-messages.log
PID=`pidof -x -o %PPID paster`
case "$1" in
start)
echo "Starting Mozilla Sync HomeServer"
[ ! -d $MESSAGEDIR ] && mkdir -p $MESSAGEDIR
su firefox -c "cd /var/www/server-full/ && bin/paster serve development.ini &>$MESSAGELOG &"
;;
stop)
echo "Stopping Mozilla Sync HomeServer"
kill $PID &>/dev/null
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
Rendre exécutable le script :
chmod +x ffsync.sh
Ajouter le script au démarrage du système :
insserv ffsync.sh
Pour faire un test rien ne vaut un redémarrage système !
Pour s’assurer que le lancement est effectif :
netstat -tan
=> tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN
Configuration du client firefox Sync
Sous Windows appuyez sur la touche « ALT » et sur la barre du menu « outils » puis « configurez sync« :
Sélectionner « créer un nouveau compte » (exemple) :
C’est terminé ! N’oubliez pas de désactiver l’inscription utilisateur dans le fichier de configuration.
Les logs vous renseignerons pour tous les problèmes qui surviendront( /var/log/firefox/).
Profitez bien de votre serveur Firefox Sync !