Installation de Movim


Movim est l’un des projets plus si récents que ça voulant faire émerger les réseaux sociaux décentralisés. Sa particularité est d’utiliser un protocole ouvert, XMPP, pour l’échange de données.
Dans le cadre de l’initiation aux logiciels libres au sein de la Licence Pro Colibre, j’ai voulu, naïvement, installer Movim pour faire goûter aux étudiants une nouvelle sensation de liberté. C’est un peu trop complexe de prime abord. Nous allons nous limiter à installer movim seul.

Récupération de l’archive

Tout d’abord, il faut récupérer l’archive et l’installer à un endroit utilisable par apache2 :
wget https://launchpad.net/movim/0.8/0.8.1/+download/movim-0.8.1.zip
Vérifions l’intégrité de l’archive avec md5 :
wget https://launchpad.net/movim/0.8/0.8.1/+download/movim-0.8.1.zip/+md5
md5sum -c +md5
#movim-0.8.1.zip: Réussi
Vérifions l’auteur de l’archive avec gnupg :
wget https://launchpad.net/movim/0.8/0.8.1/+download/movim-0.8.1.zip.asc
gpg --verify movim-0.8.1.zip.asc
# gpg: Signature faite le mar. 05 août 2014 00:08:11 CEST avec la clef RSA d'identifiant 1D3810D9
# gpg: Impossible de vérifier la signature : clef publique introuvable
gpg --search-keys 1D3810D9
gpg --verify movim-0.8.1.zip.asc
C’est bien Timothée Jaussoin qui a signé l’archive.

Installation de Movim

cd Téléchargements
mv ../movim-8.0.1.zip .
unzip movim-0.8.1.zip
sudo cp -r movim-0.8.1 /var/www/html/movim
sudo chown -R www-data:www-data /var/www/html/movim
sudo -H -s -u www-data
cd /var/www/html/movim
mv config/db.example.inc.php config/db.inc.php
editor config/db.inc.php
exit
Il faut maintenant éditer le fichier config/db.inc.php pour mettre les informations de connexion à la base MySQL.
Si vous n’avez pas encore créé votre base de données il faut le faire à la main avec un outil du type MySQL Workbench. N’oubliez pas de créer un utilisateur spécifique.
sudo apt-get install mysql-workbench mysql-server
Dans la foulée, installons les dépendances de movim :
sudo apt-get install php5 php5-curl php5-gd php5-mysql mysql-common mysql-client

Configuration de FPM et d’Apache2

Récupération des dépendances de PHP FPM :
sudo apt-get install libapache2-mod-fastcgi apache2-mpm-event apache2 php5-fpm
sudo a2enmod actions fastcgi alias
sudo service apache2 restart
Créer un fichier /etc/apache2/conf-available/php5-fpm.conf contenant la configuration ci-dessous :
<IfModule mod_fastcgi.c>
        AddHandler php5-fcgi .php
        Action php5-fcgi /php5-fcgi
        Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
        FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -idle-timeout 300 -pass-header Authorization
        <Directory /usr/lib/cgi-bin>
                Options ExecCGI FollowSymLinks
                SetHandler fastcgi-script
                Require all granted
        </Directory>
</IfModule>
Pour l’activer il faut passer par a2enconf
sudo a2enconf php5-fpm
sudo service apache2 restart

Configuration à rajouter à la fin du fichier /etc/php5/fpm/php-fpm.conf

[movim]
user = www-data
group = www-data
listen = 127.0.0.1:9001
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
 
pm = ondemand
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

request_terminate_timeout = 300
 
php_admin_value[open_basedir] = none
Puis redémarrer le service
sudo service php5-fpm restart

Configuration de Movim

Normalement, tout est intsallé. Il reste à configurer dans l’interface web :

http://localhost/movim/?q=admin

  • Passez le site en Français et avec la zone horaire de Pais.
  • Choisissez movim.eu comme serveur Bosh : http://movim.eu:5290/http-bind
  • Dans l’onglet des paramètres de la base de données, lancez la création des tables
  • Vérifiez votre configuration dans l’onglet suivant
Maintenant, il nous faut créer notre compte chez movim.eu en passant par notre nouvelle page d’accueil :

http://localhost/movim

Conclusion

Pas mal de petites choses n’étaient pas évidente dans la documentation actuelle. Par exemple un script de création de la base de données et d’un utilisateur associé facilitera la vie d’un installateur débutant (d’où l’utilisation de Workbench).
La prochaine étape est d’installer un serveur BOSH compatible avec toutes les fonctionnalités de Movim. Sûrement Metronome IM.
Update : Rajout de la gestion du timeout

La gestion des modules et des thèmes dans Drupal 6


Avant de me lancer dans la conception d’un thème j’ai voulu essayer de voir comment Drupal fonctionnait au niveau de la gestion des extensions. Tout d’abord les thèmes et les modules sont séparés ce qui permet d’intégrer plus facilement un concepteur graphique dans un projet. Les thèmes sont à rajouter dans ‘sites/all/themes‘ et les modules dans ‘sites/all/modules‘.

Je cours chercher un premier module à intégrer dans mon site: FCKeditor. J’utilise déjà cet éditeur en ligne dans Plone, cela me permettra de comparer la difficulté d’installation dans les deux cas.
Pas de chance, ce module est relativement complexe à installer. Une fois l’archive décompressée dans votre arborescence il faut encore aller chercher une version de fckeditor sur son site officiel et la déposer dans le module. J’espère que la dernière version de FCKeditor est compatible avec cette version du module.
Ensuite, pour avoir la possibilité d’utiliser un navigateur de fichier lors de l’édition des pages il faut encore suivre une procédure pour l’activer. Le fichier README est là pour me guider, mais la procédure est pour Drupal 5.2. Je croise les doigts.
Au final, de retour dans l’interface de configuration des modules le menu FCKeditor est bien présent, mais il me demande d’aller configurer les permissions pour savoir si les anonymes et les utilisateurs authentifiés peuvent utiliser ce module… beaucoup de chose à faire pour avoir une installation fonctionnelle par défaut.

Les autres modules présents par défaut dans Drupal 6 présentent un niveau de complexité moins élevés dans le sens où il faut les activer (forum, blog, sondage,…) puis gérer les permissions.

Pour installer FCKeditor dans Plone il faut décompresser l’archive, redémarrer le serveur puis appuyer sur le bouton ‘installer’ dans l’interface de configuration. L’installation est fonctionnelle immédiatement sans même avoir lu le README.

Pour moi c’est un mauvais point pour drupal : mes modules n’intègre aucune procédure d’installation automatique qui les rend fonctionnel
immédiatement pour un débutant. Cela me ramène 4 ans en arrière pour le monde Zope.

Maintenant que je peux créer un peu de contenu je vais pouvoir m’atteler à la création d’un thème.