Bueno, como esta configuración me dió bastante laburito, acá vamos con los detalles.
Primero vale la pena aclarar que lo que vamos a hacer es instalar el cliente jabber iJab, que es un cliente web que se posiciona en la parte inferior del navegador y se asemeja mucho al cliente de chat web de gmail o de facebook.
Consideremos además que, independientemente del cliente que usemos, debemos instalar un servidor jabber. Yo he instalado el ejabberd sobre CentOS.
El servidor jabber se puede descargar desde aqui: http://www.ejabberd.im/
El cliente web iJab se puede descargar desde aqui: http://code.google.com/p/ijab/
Puertos: en el dominio donde se instale el jabber, debe abrirse los siguientes puertos para que puedan funcionar con el cliente iJab y el jabber: 5222, 5280, 5269.
Respecto de la instalación del servidor jabber, es bastante intuitiva, solo remarcaré los puntos importantes en el archivo de configuración para que el servidor funcione correctamente con este servicio:
En el ejabberd.cfg, asegurarse de que las siguientes secciones están habilitadas y seteadas:
{hosts, [“jabber.example.com”]}.
{listen,
{5280, ejabberd_http, [
%%{request_handlers,
%% [
%% {[“pub”, “archive”], mod_http_fileserver}
%% ]},
%%captcha,
http_bind,
http_poll,
web_admin
]}
{modules,
{mod_http_bind, []},
Teniendo esto configurado, si apunto el navegador a: http://jabber.example.com:5280/http-bind/
Debería tener como respuesta una página con algo así:
ejabberd mod_http_bind
An implementation of XMPP over BOSH (XEP-0206)
This web page is only informative. To use HTTP-Bind you need a Jabber/XMPP client that supports it.
Yendo a la configuración del iJab, vamos a descomprimir el paquete directamente dentro de /var/www/html/ijab.
En dicho directorio, configuramos un .htaccess con el siguiente contenido:
AddDefaultCharset UTF-8
Options +MultiViews
RewriteEngine On
RewriteRule http-bind/ http://jabber.example.com:5280/http-bind/ [P]
En el paquete del iJab hay un archivo a configurar: el ijab_config.js
Dentro hay que modificar las siguientes líneas:
domain:”example.com”,
http_bind:”http://jabber.example.com/http-bind/”,
host:”localhost@jabber.example.com”,
port:5222,
server_type:”ejabberd”,
Luego, en el /etc/httpd/conf/httpd.conf creamos el siguiente directorio virtual:
VirtualHost *:80>
ServerName jabber.example.com
DocumentRoot /var/www/html
Options +Indexes +Multiviews
AllowOverride all
AddDefaultCharset UTF-8
RewriteEngine on
RewriteLogLevel 9
RewriteRule http-bind/ http://jabber.example.com:5280/http-bind/ [P]
CustomLog /etc/httpd/logs/http-bind_access.log combined
ErrorLog /etc/httpd/logs/http-bind_error.log
Restarteamos el apache y listo.
# service httpd restart
Con esta configuración en el apache estamos seteando los archivos de log para poder verificar cualquier problema. En principio, antes de configurar el apache hay que verificar que el http-bind esté funcionando correctamente en la dirección http://jabber.example.com:5280/http-bind/
Si esto no devuelve la respuesta del servidor jabber, hay algo mal configurado en el mismo.