Firefox_Sync_logo

Mise à jour : depuis Firefox 29, l'outil de synchronisation a changé afin de correspondre entre autres, aux besoins de Firefox OS. Du coup avec la méthode décrite ci-dessous, il n'est plus possible synchroniser avec un nouveau navigateur de version 29 et plus. Seule la synchronistaion des navigateurs déjà "attachés" au serveur continuera à fonctionner correctement mais jusqu'à quand, impossible de le savoir. Autant dire que cette méthode est obsolète et revolue. La bonne nouvelle c'est que Mozilla propose son nouveau serveur de synchonisation pour l'auto-hébergement, la mauvaise c'est que je ne suis pas parvenu à relier le navigateur et mon serveur. Pour l'heure, je vais donc confier mes données à Mozilla (si on ne peut pas leur faire confiance, à qui peut-on le faire sur le Web ? ), si d'aventure je parviens à une solution viable cela fera l'objet d'un nouvel article.

 

D’aucuns diront que je fais une fixation sur ce fameux serveur. D’aucuns auront raison car je ne suis pas satisfait de son installation et que ça me reprend les jours fériés. Le point délicat, c’est le serveur Apache dont le virtualhost me cause du soucis, le but était de ne pas utiliser plusieurs serveurs web et tant qu’à faire, de ne pas ouvrir de port supplémentaire dans le firewall (TCP 5000). Mais après un test concluant de la solution native, je me suis résolu à l’appliquer telle quelle (avec MySQL et en ajoutant quelques améliorations quand même), tant pis pour le trou supplémentaire dans mon Iptables et tant mieux pour mes jours fériés.

Pré-requis :

  • Un serveur GNU/Linux (ici Debian Squeeze i386)
  • Base de données MySQL
  • Un navigateur Mozilla Firefox (ici Nightly 11)/IceWeasel PC/Mobile (ici 8 )

Conventions :

  • prompt : # commande : exécuter la commande sous le compte root ou précédée de la commande « sudo »
  • prompt : $ commande : exécuter la commande sous le compte utilisateur

 

1. Installation

– Installer les dépendances :

– Créer la base de données sync :

– Aller dans /var/www et télécharger la dernière version du serveur :

– Renommer le dossier /var/www/server-full en /var/www/sync :

– Se placer dans le dossier /var/www/sync et compiler le serveur :

– Installer Mysql-Python

– Configurer le fichier /var/www/sync/etc/sync.conf pour MySQL (directives [storage] sqluri et [auth] sqluri), le quota – 25 Mio pour prendre large, le serveur web (directive [auth] fallback_node) et SMTP (directive [smtp] sender) :

– Configurer le fichier /var/www/sync/development.ini pour changer l’emplacement des logs :

– Créer le dossier des logs /var/log/sync :

– Créer un group sync :

– A ce stade, une petite modification par rapport au précédent tutoriel car nous allons cette fois créer un utilisateur weave que nous ajoutons à ce groupe (car le compte sync existait déjà sur mon serveur et étant lié à un exécutable du même nom, il mettait le bazar dans mes scripts) :

– Donner les droits sur les dossiers /var/www/sync et /var/log/sync à l’utilisateur/groupe sync :

– Ajouter une règle IPTABLES ouvrant le port TCP 5000 :

– Démarrer le serveur sync en arrière-plan pour le tester :

– Si tout fonctionne, créer un script pour démarrer automatiquement le service :

– Rendre le script exécutable et ajouter le service :

Pour le reste, référez-vous à l’article précédent.

Sources :