Outils pour utilisateurs

Outils du site


app:firefox-sync:installer-serveur-sync

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
app:firefox-sync:installer-serveur-sync [2017/06/15 14:37] yoannapp:firefox-sync:installer-serveur-sync [2023/05/29 17:29] (Version actuelle) – ajout de références yoann
Ligne 3: Ligne 3:
 ====== Installer un serveur sync 1.5 ====== ====== Installer un serveur sync 1.5 ======
  
-Déclarer un nouveau nom de domaine, j'utilise freedns [[webadmin:declarer-domaine-freedns]]. Il sera nécessaire pour la configuration de l’hôte virtuel Apache.+Déclarer un nouveau nom dans votre domaine, il sera nécessaire pour la configuration de l’hôte virtuel Apache.
  
-Cloner les sources+Cloner les sources disponibles sur github  https://github.com/mozilla-services/syncserver
  
 <code bash> <code bash>
Ligne 11: Ligne 11:
 $ sudo mkdir ffsync $ sudo mkdir ffsync
 $ sudo chown yoann:yoann ffsync $ sudo chown yoann:yoann ffsync
-$ git clone https://github.com/mozilla-services/syncserver ffsyn+$ git clone https://github.com/mozilla-services/syncserver ffsync
 </code> </code>
  
Ligne 65: Ligne 65:
  
  
-Créer le fichier de configuration de l’hôte virtuel apache. Ci dessous mon fichier de configuration calqué sur la documentation officielle:+Créer le fichier de configuration de l’hôte virtuel apache. Le plus simple étant de créer un de fichier de configuration avec le nom FQDN de l’hôte virtuel suffixé par conf dans le répertoire **/etc/apache2/sites-available**. Ci dessous mon fichier de configuration calqué sur la documentation officielle: 
 <file> <file>
-    Configuration du serveur Sync+<VirtualHost *:443> 
 +  ServerName vhost1.tld 
 +  DocumentRoot "/srv/ffsync" 
 + 
 +    SSL Engine Switch: 
 +  #   Enable/Disable SSL for this virtual host. 
 +  SSLEngine on
  
-    <VirtualHost *:80> +  SSLCertificateFile    /etc/certificat/fullchain.pem 
-      ServerName ffsync.homenet.org +  SSLCertificateKeyFile /etc/certificat/privkey.pem
-      DocumentRoot "/srv/ffsync"+
  
-      WSGIProcessGroup sync +  WSGIProcessGroup sync 
-      WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/srv/ffsync/local/lib/python2.7/site-packages/ +  WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/srv/ffsync/local/lib/python2.7/site-packages/ 
-      WSGIPassAuthorization On +  WSGIPassAuthorization On 
-      WSGIScriptAlias / /srv/ffsync/syncserver.wsgi+  WSGIScriptAlias / /srv/ffsync/syncserver.wsgi
  
-      CustomLog /var/log/apache2/ffsync.homenet.org-access.log combined +  CustomLog /var/log/apache2/ffsync.phobos-net.fr-access.log combined 
-      ErrorLog  /var/log/apache2/ffsync.homenet.org-error.log+  ErrorLog  /var/log/apache2/ffsync.phobos-net.fr-error.log
  
-      <Directory "/srv/ffsync"> +  <Directory "/srv/ffsync"> 
- Order deny,Allow +    Require all granted 
-        Allow from All +  </Directory>
-      </Directory>+
  
-    </VirtualHost>+</VirtualHost>
  
 </file> </file>
  
  
-Dans le fichier de configuration du serveur sync **syncserver.ini**, modifier la valeur de la variable **public_url** et indiquer le nom de domaine associé votre hôte virtuel apache:+Dans le fichier de configuration du serveur sync **syncserver.ini**, modifier la valeur de la variable **public_url** et indiquer le nom de domaine associé à votre hôte virtuel apache:
    
 <file> <file>
-public_url = http://ffsync.homenet.org+public_url = https://vhost1.tld
 </file> </file>
  
Ligne 118: Ligne 123:
 </code> </code>
  
-===== Mettre jour syncserver =====+===== Mettre à jour syncserver =====
  
 Entrer dans le répertoire de clonage du projet git: Entrer dans le répertoire de clonage du projet git:
Ligne 142: Ligne 147:
  
 <file> <file>
-identity.sync.tokenserver.uri = https://vhost1.domain/token/1.0/sync/1.5+identity.sync.tokenserver.uri = https://vhost1.tld/token/1.0/sync/1.5
 </file> </file>
 +
 +===== Test du serveur =====
 +
 +  * Consulter l'URL https://vhost1.tld/token/1.0/sync/1.5, des données JSON doivent être produites par le serveur avec un contenu équivalent:
 +
 +<file>
 +{"status": "error", "errors": [{"location": "body", "name": "", "description": "Unauthorized"}]}
 +</file>
 +
 +  * Créer un compte Firefox, une fois authentifié sur le navigateur, lancer la synchro
 +  * Vérifier que dans la base mysql l'utilisateur existe (entrée dans la table users)
 +
 +
 +
 +
 +===== Problèmes rencontrés =====
 +
 +==== Coté serveur ====
 +
 +La synchronisation ne fonctionne pas, le journal d'erreurs Apache pour l’hôte virtuel remonte les messages suivants:
 +
 +<file>
 +[Fri Jun 16 08:08:50 2017] [error]   SNIMissingWarning
 +[Fri Jun 16 08:08:50 2017] [error] /srv/ffsync/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
 +[Fri Jun 16 08:08:50 2017] [error]   InsecurePlatformWarning
 +</file>
 +
 +Le message d'erreur mentionne un lien https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2 décrivant la procédure pour mettre a jour un module python:
 +
 +<code bash>
 +$ cd ffsync/local/bin
 +$ . activate
 +$ pip install urllib3[secure]
 +$ deactivate
 +$ cd ../..
 +$ sudo chown -R sync:sync local
 +</code>
 +
 +La synchronisation en fonctionne pas sous android, le périphérique apparaît sur le compte mais les options de synchronisations restent grisées et pas de synchronisation.
 +
 +Cela peut être du a l'utilisation d'un certificat auto-signé. Le problème a été réglé après utilisation d'un certificat Let's Encrypt.
 +
 +==== Côté client mobile ====
 +
 +Une fois authentifié depuis le navigateur du mobile, la synchronisation ne fonctionne toujours pas:
 +
 +  * Vérifier la syntaxe de l'URI du paramètre **identity.sync.tokenserver.uri** 
 +  * Se déconnecter et désinstaller/réinstaller Firefox
 +  * Se reconnecter
 +
 +Après ces modifications la synchronisation a fini par se faire.
 +
 +<note>
 +Concernant le débogage du client mobile, il est possible d'afficher les erreurs via **adb**
 +</note>
 +
 +<code>
 +adb logcat | grep FxAccounts
 +</code>
 +
  
 ===== Références ===== ===== Références =====
  
   * https://docs.services.mozilla.com/howtos/run-sync-1.5.html   * https://docs.services.mozilla.com/howtos/run-sync-1.5.html
 +  * https://blog.x1fr.com/post/2015/06/Firefox-Sync-Token-Server-Android-Selfsigned-Certificate
 +  * https://support.mozilla.org/fr/questions/1122333
 +  * https://themimitoof.fr/installer-serveur-firefox-sync/
 +  * https://www.sla99.fr/2018/03/13/mise-place-dun-serveur-de-synchro-firefox/
 +  * https://www.pofilo.fr/post/2019/03/24-syncserver/
 +
  
  
app/firefox-sync/installer-serveur-sync.1497537446.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)