[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Configurer votre propre serveur de synchronisation Mozilla

Mozilla Sync est une fonctionnalité disponible dans Firefox depuis la version 4. Il vous permet de stocker vos marque pages , votre historique de navigation, les préférences de votre navigateur et les mots de passe que vous avez enregistrés sur un serveur distant. Il vous permet même de travailler sur plusieurs machines et avoir la même configuration de Firefox sur toutes ces machines. C’est une fonctionnalité vraiment pratique. Vous pouvez par exemple démarrer la synchronisation sur le navigateur Firefox de votre smartphone Android et la configurer rapidement en entrant simplement votre clé de synchronisation spécifique à votre compte. Quelques instants plus tard, le navigateur Firefox sur votre smartphone Android sera complétement synchronisé avec la configuration de Firefox à votre bureau.

Mozilla offre des serveurs public de synchronisation. Si vous ne faites pas confiance à Mozilla pour stocker vos mots de passe et votre historique de navigation ( bien que vos données soient supposées être encryptées par votre clé de synchronisation avant d'être placées sur les serveur de Mozilla) , vous pouvez utiliser cet HOWTO pour mettre en place votre propre serveur de synchronisation à la maison ( ou au bureau ).

Par chance, Mozilla est partisan de l'Open Source et rend le code de son serveur de synchronisation disponible pour tous ceux qui veulent jouer avec. Et le faire fonctionner n'est pas du tout difficile.

Note: Mozilla a reconçu et réécrit son serveur de Synchronisation originel ( appelé “Mozilla Weave Server” à ce moment qui était presque impossible à configurer ). Il est maintenant écrit en Python et les étapes pour créer votre propres serveur de synchronisation sont décrites sur cette page. Suivez les instructions de cette page. Le reste de ce HOWTO essaie de vous apporter plus de détails sur la façon de configurer votre machine Slackware en un réel serveur de synchronisation.

Car bien sur vous voulez installer ceci sur un serveur Slackware !

Dépendances

Il y a des dépendances explicites telles que mentionnées sur la page de Mozilla:

Installer le paquetage virtualenv n'est pas vraiment nécessaire puisqu'il sera automatiquement téléchargé durant la commande “make build” que vous allez utiliser à la prochaine étape de la procédure.

Le code du serveur de synchronisation (Sync Server) est hébergé sur un dépôt Mercurial et comme Slackware est livré avec un client Mercurial, ce code est facile à télécharger dans un répertoire local où vous continuerez à construire le binaire du serveur:

$ mkdir -p /usr/local/server-full
$ cd /usr/local/server-full
$ hg clone https://hg.mozilla.org/services/server-full/ .
$ make build

Maintenant, ce serveur est prêt à tourner, mais si vous ne faites pas quels changement dans sa configuration, il ne tournera pas bien :

  • Par défaut, le serveur stocke vos données de synchronisation dans une base sqlite(vous pouvez utiliser une réelle base de données MySQL si vous voulez), mais il va créer cette base sqlite dans /tmp ce qui n'est pas du tout adapté.Un peu plus loin, vous trouverez qu'il faut modifier cet emplacement afin que les données de synchronisation de vos clients soient stockés dans un endroit moins “volatile”.
  • Le serveur de synchronisation en Python peut tourner en standalone sur un port (500 par défaut) qui sera parfait si vous êtes le seul utilisateur dans votre petit réseau local. Mais même Mozilla vous conseille de positionner un vrai serveur Web entre vous et le serveur de synchronisation. Avec Slackware vous pouvez utiliser le serveur Apache pour faire ça. Il faut installer un module apache supplémentaire pour que cela puisse marcher : mod_wsgi. Les paquetages Slackware peuvent être téléchargés ici :http://slackware.com/~alien/slackbuilds/mod_wsgi/ .

Configuration

  • Créer un utilisateur et un groupe séparés (weave:sync) qui fera tourner le serveur de synchronisation de façon à ce qu'il n'interfère pas avec Apache si quelque chose se passez mal:
    # groupadd sync
    # useradd -g sync weave

    Si vous avez oublié de créer le home directory de l'utilisateur “weave” , créez le de cette façon:

    # mkdir /home/weave
    # chown weave:sync /home/weave
    # chmod 711 /home/weave
  • Créer un nouveau fichier “/etc/httpd/extra/httpd-wsgi.conf” avec le contenu suivant (adaptez a votre propre serveur):
        <Directory /usr/local/server-full>
          Order deny,allow
          Allow from all
        </Directory>
    
        <VirtualHost *:80>
          ServerName sync.myserver.net
          DocumentRoot /usr/local/server-full
          WSGIProcessGroup sync
          WSGIDaemonProcess sync user=weave group=sync processes=2 threads=25
          WSGIPassAuthorization On
          WSGIScriptAlias / /usr/local/server-full/sync.wsgi
          CustomLog /var/log/httpd/sync.myserver.net-access.log combined
          ErrorLog  /var/log/httpd/sync.myserver.net-error.log
        </VirtualHost>

    Cela indique à Apache qu'un script appelé “sync.wsgi” est prêt à être lancé sous l'identité “weave:sync” dès qu'un client se connectera à http://sync.myserver.net/ .

  • Modifiez la configuration principale de votre serveur Apache “/etc/httpd/httpd.conf”, pour lui demander de charger le module mod_wsgi et son fichier de configuration. Ajoutez les lignes suivantes à httpd.conf:
        # Activate the WSGI module (serving python binaries to the web):
        Include /etc/httpd/extra/mod_wsgi.conf
        # Act as a reverse proxy to the Mozilla Sync server:
        Include /etc/httpd/extra/httpd-wsgi.conf
  • Vérifiez la configuration d'Apache au cas où vous ayiez introduit des erreurs de syntaxe:
    # apachectl configtest
  • Redémarrez Apache:
    # /etc/rc.d/rc.httpd stop
    # pause 3
    # /etc/rc.d/rc.httpd stop
    # /etc/rc.d/rc.httpd start
  • Configurer les fichiers de configuration du serveur de synchronisation.
    • A l'intérieur du répertoire “/usr/local/server-full” ( où le serveur de synchronisation a été téléchargé et construit si vous avez suivi ce HOwTO à la lettre) vous trouverez le script “sync.wsgi” mentionné ci dessus. Ouvrez le fichier dans un éditeur. Lisez le fichier et changez ce qui vous semble bien. Par exemple , changez “/tmp” en “/var/tmp” dans la ligne “os.environ['PYTHON_EGG_CACHE'] = ‘/tmp/python-eggs’”:
      os.environ['PYTHON_EGG_CACHE'] = '/tmp/python-eggs'

      devient

      os.environ['PYTHON_EGG_CACHE'] = '/var/tmp/python-eggs'
    • Puis, editez le fichier “development.ini” (ce nom de fichier est configuré dans “sync.wsgi” si vous voulez le changer). Dans ce fichier, changez l'emplacement du fichier d'erreurs pour qu'il soit crée dans /var/tmp“. La ligne
      args = (‘/tmp/sync-error.log’,)

      devient:

      args = ('/var/tmp/sync-error.log',)
    • Le fichier development.ini” indique également où se trouve le fichier actuel de synchronisation “etc/sync.conf”. Faites attention que ce chemin est relatif par rapport au répertoire racine du serveur Weave. Il faut l'éditer! Par exemple, créer la base de données SQL dans le home directory de l'utilisateur “weave”. La ligne
      sqluri = sqlite:////tmp/test.db

      devient:

      sqluri = sqlite:////home/weave/my_weave_server.db

      La valeur par défaut du quota affecté à chaque utilisateur de synchronisation est trop faible (c'est 5 Mo); Mozilla a constaté que 99,9% de tous les clients qui se connectent à ses serveurs publics utilisent moins de 25 Mo de quota, aussi vous pouvez utiliser cette valeur par défaut. La ligne

      quota_size = 5120

      devient:

      quota_size = 25600

Puis, cherchez la ligne suivante et assurez-vous qu'elle a bien pris en compte le serveur Apache http:// URL de votre serveur de synchronisation, i.e. l'URL que les clients de votre serveur de synchronisation vont utiliser :

 fallback_node = http://localhost:5000/

Vous pouvez essayer d'autres options dans ce fichier pour voir ce qu'elles vous proposent. Par exemple, vous pouvez désactiver “captcha” et ne pas activer SSL, mais c'est à vous de voir ce qui est important pour votre installation.

N'oubliez pas de redémarrer votre serveur Apache si vous ne l'avez pas déjà fait.

Utiliser le serveur de synchronisation

Et maintenant, il est temps de demander à votre navigateur Firefox d'utiliser ce nouveau service!

  • Sélectionnez “Outils > Configurer Sync…”:
  • Si c'est la première fois que vous vous connectez à votre serveur de syncronisation, il faut créer un compte ; cliquer sur le bouton “Créer un nouveau compte“. Ceci ouvre une boite de dialogues où vous entrez votre adresse de courrier électronique ( qui deviendra le “nom” de votre compte ), un mot de passe associé, puis dans le menu “Serveur“, ne choisissez pas la valeur par défaut “serveur Mozilla Firefox Sync”.A la place, sélectionnez “Utiliser un serveur personnalisé”. Cela vous permet d'entre l'URL de votre nouveau serveur privé de synchronisation.
    Une fois le compte créé, Firefox vous montrera la clé de synchronisation qu'il va utiliser pour encrypter vos données. Cette clé est importante car vous en aurez besoin pour ajouter d'autres appareils à votre compte de synchronisation.
    Et c'est tout - le processus de synchronisation démarrera instantanément:
  • Ou bien si vous avez déjà un compte de synchronisation et que vous voulez ajouter une second appareil à ce compte, vous pouvez cliquer sur “J'ai un compte” sur la première fenêtre de dialogue. Il y a deux façons d'ajouter cet appareil a votre compte de synchronisation existant :
    • Soit vous entrez le code qui vous est montré sur un autre appareil déjà synchronisé avec le serveur;
    • Ou alors vous cliquez sur “Je n'ai pas l'appareil avec moi“c’est ce que vous ferez la plupart du temps. C'est agaçant de devoir chercher un autre ordinateur ou smartphone si tout ce dont vous avez besoin est votre clé de synchronisation
  • Si vous connaissez votre clé de synchronisation, vous pouvez la donner dans la fenêtre de dialogue suivante avec vos références de compte et l'URL du serveur :

La clé de synchronisation qui est associée à votre compte peut être récupérée à tout moment si vous avez oublié de la noter. Il suffit de se connecter à un appareil qui a été synchronisé et d'ouvrir les Préférences de votre navigateur Firefox. A l'onglet “Sync” sous “Gérer votre compte” vous trouverez un item de menu pour afficher votre clé ( et aussi de changer le mot de passe de votre compte).
Vous pourrez trouver plus d'informations à ce sujet ici http://support.mozilla.com/kb/what-firefox-sync .

Sécuriser votre serveur de synchronisation avec SSL

FIXME - Cette section arrive bientôt! Vous voulez réellement que votre serveur de synchronisation soit accessible par https:// si vous synchronisez par Internet

Sources

 fr:howtos:network_services:weave ()
Cette traduction est plus ancienne que la page originale et est peut-être dépassée. Voir ce qui a changé.