====== Installation de Punjab ====== Punjab est un composant serveur qui permet aux clients de se connecter au serveur via HTTP (en utilisant BOSH). \\ BOSH (Bidirectional-streams Over Synchronous HTTP) désigne une méthode permettant d'encapsuler un flux de données dans une connexion HTTP. **Pourquoi utiliser un serveur Bosh ?** \\ Tout simplement pour utiliser des clients Web comme **Jappix** ou **Muckl** qui utilisent le port 80 ou 443. Avec ejabberd, par défaut la connexion entre le client et ce serveur se fait par le port 5222. ===== Démarrons l'installation ===== On installe les librairies nécessaires : apt-get install python python-twisted Téléchargeons les sources de Punjab wget https://github.com/twonds/punjab/archive/master.zip On se met dans le dossier /etc : cd /etc On dézippe : unzip master.zip Le dossier punjab-master est créé. cd punjab-master On exécute le script d'installation : python setup.py install Démarrons le serveur : twistd -y punjab.tac punjab.tac est le ficher de configuration. Par défaut, le serveur écoute sur le port 5280. Si vous souhaitez changer de port, éditez le fichier et changer le port ici : \\ **internet.TCPServer(5280, site).setServiceParent(application)** On teste le serveur, en se connectant sur : \\ http://127.0.0.1:5280/http-bind/ Si tout est ok, on doit avoir : XEP-0124 - BOSH \\ Si le serveur ne démarre pas correctement, regardez dans le fichier twistd.log. ===== Configurer un proxy apache ===== Vous aurez besoin de configurer un proxy pour permettre la connexion à ejabberd sur le même domaine. Ici le domaine sera mdl29.net \\ On active les modules : a2enmod rewrite a2enmod proxy a2enmod proxy_http Le vhost bosh.mdl29.net : ServerName bosh.mdl29.net DocumentRoot /var/www/bosh Redirect / https://bosh.mdl29.net/ ServerName bosh.mdl29.net DocumentRoot /var/www/bosh ProxyPass / http://localhost:5280/http-bind/ ProxyPassReverse / http://localhost:5280/http-bind/ Header set Access-Control-Allow-Origin "*" # SSL SSLEngine on SSLCertificateFile mdl29.net.crt SSLCertificateKeyFile mdl29.net.key SSLCACertificateFile GandiStandardSSLCA.pem SSLVerifyClient None On active le vhost : aensite bosh.mdl29.net On relance apache : /etc/init.d/apache2 restart Et voilà, notre serveur bosh est opérationnel :-P.