Afin d'utiliser un client web XMPP web en Ajax/php, il est nécéssaire de disposer d'un serveur BOSH en plus de son serveur XMPP.

Voici comment installer le serveur BOSH Punjab sous Ubuntu.

1) Installer : Python , python-twisted :
sudo APT-GET install python python-twisted

2) Télécharger la dernière version de punjab sois via Git ou via l'archive ZIP :

wget [URL_DE_L_ARCHIVE] 

décompresser l'archive :
unzip l_ARCHIVE.zip

3) Une fois dans l'archive on lance le script de configuration:

python ./setup.py install

 

4) On lance punjab :

twistd -ny punjab.tac

 

Par défaut le serveur est lancé sur le port  5280
http://ip_de_votre_serveur:5280/

Le serveur bosh lui est sur l'URL : http://ip_de_votre_serveur:5280/http-bind

Afin d'éviter les problèmes de cross-domaine, nous allons créer un alias apache avec un reverse proxy.

Dans votre fichier apache2.conf :

<Location /http-bind>

ProxyPass http://localhost:5280/http-bind

ProxyPassReverse http://localhost:5280/http-bind

SetEnv force-proxy-request-1.0 1

SetEnv proxy-nokeepalive 1

</Location> 

Votre serveur bosh est maintenant disponible via l'adresse :
http://vos_domaines.tld/http-bind

Il est possible de faire ceci sur un vhost pour un seul domaine.
Dans mon cas j'ai besoin d'accéder au même serveur BOSH depuis plusieurs domaine.