Installer Jappix 0.4 sur son serveur auto-hébergé
Présentation
J'utilise déjà depuis un moment Jabber/XMPP, protocole libre permettant de faire de la messagerie instantanée. Il existe différentes implémentations libres du protocole XMPP à la fois au niveau des serveurs et des clients de connexion. Pour ma part, j'utilise le serveur Jabberd2 sur mon serveur auto-hébergé. J'utilise divers clients sur mes machines mais je souhaitais également mettre en place une interface web pour utiliser mon compte jabber directement dans mon navigateur web.
Depuis quelques temps déjà, le projet Jappix propose une telle interface web et même plus, puisque le projet tend à faire office de réseau social (tel que Movim, qui utilise lui aussi Jabber/XMPP). J'ai donc souhaité mettre en place Jappix sur mon serveur auto-hébergé.
Installation du serveur BOSH : Punjab
La première étape consiste à configurer un serveur BOSH, qui est un relai entre le serveur XMPP et l'application web (qui ne peut pas directement contacter le serveur XMPP). Sur certains serveurs Jabber, les XEP 124 et 206 (extensions du protocole XMPP décrivant la mise en place de BOSH) sont intégrées, mais sur d'autres, tels que Jabberd2 (que j'utilise), il faut utiliser un logiciel dédié à la tâche. J'ai choisi d'utiliser Punjab, écrit en python. J'utilise Debian 6.0 sur mon serveur auto-hébergé, mais il n'existe pas (encore) de paquet officiel pour punjab. Souhaitant garder mon serveur « propre », je ne souhaitais pas installer manuellement Punjab dans un recoin de la mémoire sans pouvoir le désinstaller proprement et simplement par la suite. J'ai donc opté pour la création du paquet debian de Punjab. Ce n'est pas la première fois que je me lance dans ce genre de choses, mais je tiens à préciser que je ne suis absolument pas un packager Debian chevronné et que la qualité de mon paquet reste, à mon avis, assez médiocre. Quoiqu'il en soit, il fonctionne et j'ai également ajouté à Punjab un script de démarrage : /etc/init.d/punjab
. Le paquet en question peut-être téléchargé à l'adresse : http://download.paulk.fr/jappix/pun.... Il est normalement construit pour Debian 6.0.
Après l'installation, il suffira de lancer punjab en exécutant la commande : /etc/init.d/punjab start
.
Installation et configuration de Jappix
Maintenant que le serveur BOSH est en place, il ne reste plus qu'a installer Jappix. Il est préférable d'installer l'extension GD de php sur le serveur web et de régler la variable "suhosin.get.max_value_length" à 1000000 dans la configuration de l'extension suhosin (si elle est installée). Il faut ensuite télécharger l'archive de Jappix 0.4 disponible sur le site du projet, la décompresser dans un répertoire servi par le serveur web et y appliquer des droits permissifs (0770 par exemple). En se connectant sur l'adresse correspondant au dossier où Jappix a été décompressé, l'installation devrait se lancer. Bien que l'installation est assistée, il faudra veiller à bien cocher le paramètre « Utiliser un proxy » et à renseigner la case « Hôte BOSH » avec une valeur adaptée à partir de : http://127.0.0.1:5280/http-bind
(changez 127.0.0.1 par l'hôte accueillant le serveur BOSH). Les paramètres de configuration pourront également être modifiés via le « Gestionnaire » de l'application.
Maintenant que tout est correctement configuré, Jappix devrait maintenant-être opérationnel.
Mes modifications apportées à Jappix
Mon premier avis sur Jappix : c'est beau, ça marche plutôt bien, mais il reste encore quelques détails que je souhaiterais peaufiner. Alors du coup, vu que le tout est sous licence libre, pourquoi se gêner ? Je maitrise encore à peu près la programmation en PHP et Javascript, qui sont majoritairement utilisés par jappix.
J'ai donc décidé de faire passer les boutons initialement présents en bas de la liste des contacts en haut de celle-ci : en effet, lorsque ces boutons sont en bas, les menus qui apparaissent lorsque l'on clique dépassent du bas de la page, ce qui force l'utilisateur à dérouler la page pour avoir accès au contenu des dits menus. Pas très pratique donc.
J'ai mis en ligne les fichiers concernés par ce changement : il sont présents dans l'archive http://download.paulk.fr/jappix/jap... (qu'il suffit de décompresser à la racine de Jappix, en écrasant les fichiers déjà existants).