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.