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.