Ceci est une ancienne révision du document !
Déclarer un nouveau nom de domaine, j'utilise freedns declarer-domaine-freedns. Il sera nécessaire pour la configuration de l’hôte virtuel Apache.
Cloner les sources
$ cd /srv $ sudo mkdir ffsync $ sudo chown yoann:yoann ffsync $ git clone https://github.com/mozilla-services/syncserver ffsyn
Construire l'application
$ cd ffsync $ make build
Sync utilise l'ORM SQLAlchemy, plusieurs systèmes de base de données peuvent être choisis en fonction du serveur de production. Dans mon cas, un serveur de base de données MySQL s’exécutant déjà, je fais le choix de l'utiliser.
Via le client mysql:
Modifier ensuite la configuration du serveur sync via le fichier syncserver.ini:
# This defines the database in which to store all server data. sqluri = pymysql://user:password@localhost/ffsync
Charger le module wsgi
$ sudo apt-get install libapache2-mod-wsgi $ sudo a2enmod wsgi
Créer l'utilisateur et le groupe système sync
$ sudo addgroup --system sync $ adduser --system --no-create-home --ingroup sync sync
Changer le propriétaire du répertoire de l'application
$ sudo chown sync:sync -R ./ffsync
Créer le fichier de configuration de l’hôte virtuel apache. Ci dessous mon fichier de configuration calqué sur la documentation officielle:
# Configuration du serveur Sync
<VirtualHost *:80>
ServerName ffsync.homenet.org
DocumentRoot "/srv/ffsync"
WSGIProcessGroup sync
WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/srv/ffsync/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /srv/ffsync/syncserver.wsgi
CustomLog /var/log/apache2/ffsync.homenet.org-access.log combined
ErrorLog /var/log/apache2/ffsync.homenet.org-error.log
<Directory "/srv/ffsync">
Order deny,Allow
Allow from All
</Directory>
</VirtualHost>
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é a votre hôte virtuel apache:
public_url = http://ffsync.homenet.org
Tester la configuration Apache et activer l’hôte virtuel:
$ sudo apache2ctl configtest $ sudo a2ensite ffsync $ sudo service apache2 reload
Via le navigateur saisir l'URL pour vérifier que le serveur répond https://vhost1.domain/ Si tout se passe normalement le message it works! apparaît. Dans cas où aucune réponse n'est retournée, penser a vérifier l'état du pare-feu, il doit autoriser https:
$ sudo ufw status
Si ce n'est pas le cas:
$ sudo ufw allow https
Entrer dans le répertoire de clonage du projet git:
$ cd ./ffsync
Les commandes ci-dessous permettent de mettre à jour le serveur sync:
$ git stash # sauvegarde les modifications apportées aux fichiers conf locaux $ git pull # fusionne les modifications commit depuis github $ git stash pop # ré-applique les configurations locales $ make build
Paramétrer les navigateurs clients pour qu'ils utilisent votre serveur sync. Dans la barre d'URL taper about:config dans la barre de recherche taper sync
modifier la valeur de la variable
identity.sync.tokenserver.uri = https://vhost1.domain/token/1.0/sync/1.5