Monter son serveur Sync Mozilla personnel

Firefox/Iceweasel, propose dans les dernières versions, une fonction permettant de synchroniser les données de son navigateur local sur d’autres machines ( smartphone y compris ). Pour bénéficier de cette fonctionnalité, vous avez 2 options. La première est de se reposer sur les serveurs de Mozilla. La deuxième, qui nous intéresse aujourd’hui, est d’héberger son propre serveur, ceci pour répondre à différentes problématiques ( vie privée, sécurité …. ).
Voici donc comment faire :
Je précise qu’il faut python2.6 installé et que l’on trouve dans Squeeze
En premier lieu, on va installer ce dont on a besoin: (pour le backend j’utiliserai Mysql. Mais sachez que d’autres backends sont supportés, tels que postgre ou sqlite3. Vous pouvez également, si vous le souhaitez, utiliser LDAP).

 aptitude install python-dev mercurial mysql-server python-virtualenv make 

Une fois tout installé on va télécharger le serveur depuis le dépôt de Mozilla, et le compiler :

 hg clone https://hg.mozilla.org/services/server-full
cd server-full
make build

Cette étape est plus ou moins longue en fonction de la machine et de la connexion. Si tout se passe bien, les dernières lignes de l’étape de compilation doivent être celles-ci :

Building the app 
  Checking the environ   [ok]
  Updating the repo   [ok]
  Building Services dependencies 
    Getting server-core     [ok]
    Getting server-reg     [ok]
    Getting server-storage     [ok]  [ok]
  Building External dependencies   [ok]
  Now building the app itself   [ok]
[done]

On va ensuite créer une base de données qui contiendra les utilisateurs :

 create database syncserver;
grant all on syncserver.* to 'mon_user'@'localhost' identified by 'mon_password';

On installe le module python qui va bien :

chemin/server-full/bin/easy_install Mysql-Python

Puis on édite le fichier de conf du serveur ( les directives à modifier sont spécifiées par <== ) :

 vi chemin/server-full/etc/sync.conf :
[global]
clean_shutdown = false

[captcha]
use = true <== le passer à true (false d'origine)
public_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
private_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
use_ssl = false

[storage]
backend = syncstorage.storage.sql.SQLStorage
sqluri = sqlite:////tmp/test.db
standard_collections = false
use_quota = true
quota_size = 5120
pool_size = 100
pool_recycle = 3600
reset_on_return = true
display_config = true
create_tables = true

[auth]
backend = services.auth.sql.SQLAuth
sqluri = mysql://mon_user:mon_password@localhost:3306/ma_database <== on spécifie\\
le driver sql ici
pool_size = 100
pool_recycle = 3600
create_tables = true
fallback_node = http://localhost:5000/

[smtp]
host = localhost
port = 25
sender = weave@mozilla.com

[cef]
use = true
file = syslog
vendor = mozilla
version = 0
device_version = 1.3
product = weave

Insérez la ligne suivante dans votre script iptables, pour ouvrir le port 5000 :

#Sync Mozilla
iptables -t filter -A INPUT -p tcp --dport 5000 -j ACCEPT

Démarrez le serveur en le mettant en arrière plan :

cd chemin/server-full
bin/paster serve development.ini &
Starting server in PID 4400.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

Voilà tout est prêt ! Vous n’avez plus qu’à lancer l’assistant d’Iceweasel et à indiquer votre serveur.

Vus : 2330
Publié par Julien : 171