Dernièrement, j’ai décidé de voir ce que propose les réseaux sociaux alternatifs libres. Ayant eu l’occasion d’assister à une conférence sur Movim et de d’échanger rapidement avec son concepteur, je me suis donc décidé à tenter l’installation complète. Pour cela, j’ai choisi le serveur xmpp Prosody, qui embarque un serveur Bosh nécessaire pour traduire les requêtes entre les protocoles http et xmpp. Nous allons donc commencer par là.
Prosody
L’installation s’effectue via le gestionnaire de paquets (ici, aptitude) :
aptitude install prosody
Une fois Prosody installé, on se tourne vers la configuration de la bête en modifiant le fichier /etc/prosody/prosody.cfg.lua. Les modifications intéressantes sont les suivantes, à adapté selon vos besoins bien sûr.
"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
allow_registration = false;
VirtualHost "domain.com"
enabled = true
cross_domain_bosh = true
Le mode d’authentification doit rester en internal_plain, le changer empêche de se logger correctement. Nous pouvons dès à présent redémarrer le service pour que la configuration soit appliquer :
service prosody restart
A présent, ajoutons un utilisateur :
prosodyctl adduser user@domain.com
Pour supprimer un utilisateur si besoin :
prosodyctl deluser user@domain.com
Les comptes utilisateurs relatifs aux différents domaines sont stockés dans /var/lib/prosody/. Voilà pour la partie relative à Prosody, à ce stade, il est normalement possible de se connecter à un salon de discussion xmpp en utilisant l’utilisateur ajouté tout à l’heure.
Movim
Nous passons ensuite à l’installation de Movim à proprement parler. J’ai d’abord essayer de récupérer directement les sources à partir de la branche master, mais un fichier de dépendance était manquant et empêchait le fonctionnement de l’application. Je me suis donc tourné vers la version 7.2.
On change ensuite le propriétaire de l’arborescence du dossier movim pour que celui-ci soit utilisable par Apache.
chown -R www-data:www-data movim
Il est maintenant temps de modifier la configuration de movim, soit le fichier movim/config/conf.php, et notamment les champs suivants :
'environment' => 'production',
'dbType' => 'mysql',
'dbUsername' => 'movim',
'dbPassword' => 'password',
'dbHost' => 'localhost',
'dbPort' => '3306',
'dbName' => 'movim',
'boshUrl' => 'http://domain.com:5280/http-bind',
On aura bien entendu pris soin de créer au préalable l’utilisateur et la base de donnée MySQL qui convient.
mysql -p -u root
mysql> CREATE DATABASE movim;
mysql> GRANT ALL PRIVILEGES ON `movim`.* TO 'movim'@'localhost' \
IDENTIFIED BY 'password';
Apache
Pour rendre tout cela accessible, il nous faut maintenant configurer Apache. Soit le fichier movim dans /etc/apache2/sites-available/.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName movim.domain.com
DocumentRoot /var/www/movim
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/movim>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from ALL
</Directory>
</VirtualHost>
Puis les commandes habituelles :
a2ensite movim
service apache2 restart
Suite et fin
Movim est désormais accessible sur movim.domain.com. Un petit tour dans l’interface d’admin du nœud est nécessaire pour s’assurer que tout fonctionne correctement et initialiser la base de donnée. Les identifiants de connexion sont ceux configurés dans le fichier de configuration de movim.
Résultat, nous pouvons nous connecter à notre nœud movim grâce au compte xmpp que nous avons créé précédemment. L’ensemble est bien vide, puisque nous sommes seuls sur le nœud. En essayant diverses fonctionnalités, j’obtiens de temps à autre des messages d’erreur sur la gauche de mon écran. Comme je n’utilise pas la dernière version, je n’ai pas vraiment creusé pour savoir si cela provient de movim ou de mon serveur Prosody. J’arrive par contre à faire communiquer deux utilisateurs entre eux via le chat intégré.
Bilan mitigé, « I have mixed feelings » comme disent les anglais. Movim a un potentiel certain, néanmoins, l’installation de sa propre instance complète Movim et serveur xmpp n’est pas de tout repos. La procédure d’installation est très limitée en ce qui concerne la partie xmpp. J’avais pourtant le souvenir d’une documentation beaucoup plus complète des différentes solutions disponibles lors de mon premier passage sur le wiki il y a de cela plusieurs mois. Je partage donc les quelques étapes que j’ai suivi pour l’installation de Movim. L’ensemble est plus ou moins complet et pourrait servir de base à toute personne cherchant à tester l’application.