====== Installation d'un serveur Weave ====== [[https://mozillalabs.com/weave/|Mozilla Weave]] est un outil permettant de synchroniser ses favoris, son historique, ses préférences, ses mots de passe, ses formulaires, ainsi que les onglets.\\ Bien entendu, il est possible d'utiliser **Weave** sur plusieurs ordinateurs en même temps, c'est justement ce côté qui est pratique. Ainsi, les navigateurs des différents ordinateurs que l'on utilise disposent de la même configuration quelque soit l'instant.\\ Pour le moment, seul le navigateur //Mozilla Firefox// est supporté. ===== Préparation ===== Un serveur **Weave** se compose essentiellement d'un ensemble de scripts PHP.\\ Pour installer un serveur **Weave**, il est donc nécessaire d'avoir : * un serveur HTTP (Apache dans ce cas présent), * PHP5 avec le support JSON, UTF-8 et PDO * un serveur MySQL Pour le serveur MySQL, on suppose qu'une base de données **weave** a été créée. On s'y connecte avec l'utilisateur **weave** ayant comme mot de passe **weave**. Dans mon cas, le serveur sera installé à l'adresse suivante : https://weave.gromez.fr/ Le répertoire où seront déposé les fichiers du serveur Weave est le suivant : ''/var/www/gromez.fr/weave/''. ===== Initialisation de la base de données ===== Les données utilisateur sont stockées dans une base de données.\\ Il suffit simplement de l'initialiser avec la requête suivante : CREATE TABLE `users` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `username` varbinary(32) NOT NULL, `md5` varbinary(64) default NULL, `email` varbinary(64) default NULL, `status` tinyint(4) default '1', `alert` text, `reset` varchar(32) ) ENGINE=InnoDB; CREATE TABLE `collections` ( `userid` int(11) NOT NULL, `collectionid` smallint(6) NOT NULL, `name` varchar(32) NOT NULL, PRIMARY KEY (`userid`,`collectionid`), KEY `nameindex` (`userid`,`name`) ) ENGINE=InnoDB; CREATE TABLE `wbo` ( `username` int(11) NOT NULL, `collection` smallint(6) NOT NULL default '0', `id` varbinary(64) NOT NULL default '', `parentid` varbinary(64) default NULL, `predecessorid` varbinary(64) default NULL, `sortindex` int(11) default NULL, `modified` bigint(20) default NULL, `payload` longtext, `payload_size` int(11) default NULL, PRIMARY KEY (`username`,`collection`,`id`), KEY `parentindex` (`username`,`collection`,`parentid`), KEY `modified` (`username`,`collection`,`modified`), KEY `weightindex` (`username`,`collection`,`sortindex`), KEY `predecessorindex` (`username`,`collection`,`predecessorid`), KEY `size_index` (`username`,`payload_size`) ) ENGINE=InnoDB; **Attention** : il est possible que le schéma de base de données évolue au fil du temps, donc il est préférable de jeter un œil au ''README'' fourni avec le serveur. ===== Installation des fichiers serveur ===== cd /var/www/gromez.fr/weave/ hg clone http://hg.mozilla.org/labs/weaveserver-sync hg clone http://hg.mozilla.org/labs/weaveserver-registration Dans le répertoire ''/var/www/gromez.fr/weave/'', il devrait maintenant y avoir deux nouveaux répertoires : ''weaveserver-sync'' et ''weaveserver-registration''. ===== Configuration ===== ==== Partie «registration» ==== cd /var/www/gromez.fr/weave/weaveserver-registration/1.0/ cp weave_user_constants.php.dist weave_user_constants.php Il ne reste plus qu'à éditer ce fichier ''weave_user_constants.php''. {...} # ***** END LICENSE BLOCK ***** define('WEAVE_AUTH_ENGINE', 'mysql'); define('WEAVE_MYSQL_AUTH_HOST', 'localhost'); define('WEAVE_MYSQL_AUTH_DB', 'weave'); define('WEAVE_MYSQL_AUTH_USER', 'weave'); define('WEAVE_MYSQL_AUTH_PASS', 'weave'); define('WEAVE_SHA_SALT', 'tatayoyo'); define('WEAVE_REGISTER_USE_CAPTCHA', 1); define('RECAPTCHA_PUBLIC_KEY', 'votre_cle_publique_chez_recaptcha.net'); define('RECAPTCHA_PRIVATE_KEY', 'votre_cle_privee_chez_recaptcha.net'); define('WEAVE_PASSWORD_RESET_EMAIL', 'admin@gromez.fr'); #engine for auth {...} ==== Partie «sync» ==== cd /var/www/gromez.fr/weave/weaveserver-sync/1.0/ cp default_constants.php.dist default_constants.php Il ne reste plus qu'à éditer ce fichier ''default_constants.php''. {...} # ***** END LICENSE BLOCK ***** define('WEAVE_STORAGE_ENGINE', 'mysql'); define('WEAVE_MYSQL_STORE_READ_HOST', 'localhost'); define('WEAVE_MYSQL_STORE_READ_DB', 'weave'); define('WEAVE_MYSQL_STORE_READ_USER', 'weave'); define('WEAVE_MYSQL_STORE_READ_PASS', 'weave'); define('WEAVE_AUTH_ENGINE', 'mysql'); define('WEAVE_MYSQL_AUTH_HOST', WEAVE_MYSQL_STORE_READ_HOST); define('WEAVE_MYSQL_AUTH_DB', WEAVE_MYSQL_STORE_READ_DB); define('WEAVE_MYSQL_AUTH_USER', WEAVE_MYSQL_STORE_READ_USER); define('WEAVE_MYSQL_AUTH_PASS', WEAVE_MYSQL_STORE_READ_PASS); define('WEAVE_SHA_SALT', 'tatayoyo'); #engine for storage. {...} La configuration des fichiers Weave est maintenant terminée. ===== Configuration Apache ===== Côté Apache, il faut configurer un VirtualHost qui sera utilisé lorsque l'on interrogera https://weave.gromez.fr/.\\ Voici un exemple : ServerName weave.gromez.fr ServerAdmin admin@gromez.fr ErrorLog /var/log/apache2/gromez.fr/weave.error.log CustomLog /var/log/apache2/gromez.fr/weave.access.log combined RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} Alias /user/1.0 /var/www/gromez.fr/weave/weaveserver-registration/1.0/index.php Alias /user/1 /var/www/gromez.fr/weave/weaveserver-registration/1.0/index.php Alias /misc/1/captcha_html /var/www/gromez.fr/weave/weaveserver-registration/1.0/captcha.php Alias /misc/1.0/captcha_html /var/www/gromez.fr/weave/weaveserver-registration/1.0/captcha.php Alias /weave-registration-static /var/www/gromez.fr/weave/weaveserver-registration/1.0/static Alias /weave-password-reset /var/www/gromez.fr/weave/weaveserver-registration/1.0/forgot_password.php Alias /1.0 /var/www/gromez.fr/weave/weaveserver-sync/1.0/index.php Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all Et voilà, le serveur est maintenant installé, il ne reste plus qu'à tester :-) ===== Configuration des clients ===== Comme indiqué plus haut, pour le moment, seul //Mozilla Firefox// est compatible Weave.\\ Pour ce faire, il est nécessaire d'installer l'extension correspondante. Lien d'installation direct : [[https://addons.mozilla.org/en-US/firefox/downloads/latest/10868?src=installservice|Extension Mozilla Weave]] Une fois installé, il va maintenant falloir créer un compte.\\ Il suffit pour cela de cliquer sur le bouton //Create Mozilla Weave Account// et de renseigner l'écran comme ceci : {{ :linux:howto:create_weave_account.png |Création d'un compte}} Je ne décrirai pas les étapes suivantes concernant le CAPTCHA, ou encore la façon dont Weave doit synchroniser les données. ===== Divers ===== ==== Récupération du mot de passe ==== Il se peut qu'un utilisateur perde son mot de passe. C'est pourquoi un formulaire de récupération de mot de passe est disponible. Il suffit de se rendre à cette adresse : [[https://weave.gromez.fr/weave-password-reset]] {{keywords>mozilla weave sync server howto how to guide tutorial tuto tutoriel}}