Instalación del servidor de mensajería instantánea (IM) Jabber


Posiblemente algunos de vosotros no sabreis exactamente que es
Jabber. yo por mi parte voy a intentar explicaros como instalar un
servidor
del que será, sin lugar a dudas, una de las piezas claves del
desarrollo y evolución futura de Internet, como lo son y han sido
protocolos como, IP, FTP, MAIL, TELNET, DNS, NNTP, MIME, ARP, ICMP
, etc, pero enfocado a la cada vez más utilizada mensajería instantánea
Jabber

Jabber a diferencia de otros sistemas de mensajerías instantanéos,
tales como el MSN de Microsoft, Yahoo Menseger, Aol AIM, ICQ, IRC
, etc … es algo más que un sencillo programa para enviar y recibir
mensajes de texto entre usarios a través de Internet.
Jabber,como he comentado anteriormente es un protocolo de Internet
(incluso tiene asignados por la
IANA
(1) (Internet Assigned Numbers Authority) 2 números de puertos, que son
5222 y 5269, para las conexiones de los clientes y servidores Jabber
respectivamente), que aspira a convertirse en parte fundamental
de la misma, para lo cual cuenta con una serie de interesantes
caracteristicas:

  • Muy bien documentado.
  • Se basa en
    estandares abiertos
    (2).

  • Utiliza XML.
  • Es abierto y libre.
  • Es multiplataforma.
  • Tiene el código fuente disponible.
  • Funciona muy bien.
  • Multitud de clientes.
  • Interactua con otros servicios (MSN, AIM, Yahoo, ICQ, IRC, Napster,
    etc…).

  • Es escalable.
  • Libreria para acceder a Jabber en varios lenguages.
  • Es modulable, siendo muy sencillo añadir mejoras.
  • Arquitectura Cliente/Servidor.
  • Basado en el estandard XML
  • etc …

Jabber además de ser este protocolo, también esta formado por un
servidor Jabber (realmente el objetivo de este artículo es explicar
como instalar un servidor Jabber en linux)
y por clientes Jabber, que son los programas que utilizan los usuarios
para enviar y recibir mensajes entre sí (existen clientes para
practicamente todas las plataformas, es más, incluso existen varios realizados en
Java, siendo por lo tanto multiplataforma. Al final del artículo
teneís un pequeño de listado de algunos de estos clientes Jabber 😉

Jabber es ideal para instalarlo en empresas, como complemento
a la propia Intranet, puesto que permite la comunicación de los
trabajadores de una forma eficiente, rápida y muy económica.

De forma que permite, por ejemplo, intercambiar documentos, programas, datos,
textos etc … de una forma muy sencilla sin tener que utilizar sistemas más
complejos como servidores ftp o correo interno, siendo,
en una palabra DIRECTO.

¿Como instalar un servidor Jabber en linux de una forma sencilla?

Basandome en el
howto
(3) de los creadores de Jabber, voy a explicar los paso que he
seguido para instalar el servidor en mi máquina. (NOTA:
Os recomiendo que le hecheís también un vistazo
al excelente Jabber Howto de Luis Toro Teijeiro
y que podeís encontrar en esta dirección:

http://jaya.dyndns.org/users/linux/HOWTO/jabber/jabber.html
(4))

El punto de partida será obtener la última versión del servidor
jabber
, también denominado jabberd, en el momento de escribir
este texto corresponde con la versión 1.4.2:

http://jabberd.jabberstudio.org/downloads/jabber-1.4.2.tar.gz
(5)

Voy a realizar la instalación del servidor jabber en el directorio
/usr/local/jabber/, para lo cual me creo este directorio y
descomprimo el tgz en el mismo.

# cd /usr/local
# mkdir jabber
# tar zxvf jabber-1.4.2.tar.gz

Esto creará el directorio jabber-1.4.2, al que entro para realizar el
proceso de compilación del servidor Jabber:

# cd jabber-1.4.2
# pwd
/usr/local/jabber/jabber-1.4.2
# ./configure
# make

Si todo ha ido bien y la compilación ha terminado de forma correcta, ya
tendremos el servidor jabber dispuesto para entrar en acción
(jabberd), si por el
contrario se produce algún error, será debido a que nos falta alguna
libreria de desarrollo, la instalamos y volvemos a compilar.

# ls jabberd/jabberd
jabberd/jabberd

Ahora nos queda realizar uno de los pasos más delicados de todo
el proceso, que como podeís ver es bastante sencillo ;-), la
configuración del servidor.
La configuración esta toda centralizada en un único fichero,
jabber.xml, que como podeís imaginar esta en formato XML.
Lo primero que tendremos que hacer es especificar en que máquina esta el
servidor, el nombre de la máquina ha de estar en formato FQDN, es
decir, fully qualified domain name, para que desde cualquier máquina
de nuestra red local o de Internet puedan acceder a los servicios
proporcionados por Jabber. Otra opción es poner directamente la dirección
IP de la máquina, e incluso para realizar pruebas en la propia
máquina podemos poner simplemente localhost.

Por lo tanto, vamos a cambiar esta línea

<host><jabberd:cmdline flag=”h”>localhost</jabberd:cmdline></host>

por esta otra

<host>localhost</host>

ó

<host>nombre_completo_del_servidor_jabber_o_IP<host>

Ahora el siguiente paso será crear dentro del directorio
/usr/local/jabber/jabber-1.4.2/spool un nuevo directorio con el
nombre del servidor que hemos puesto en la sección <host>,
puesto que será dentro de este directorio donde Jabber guardará en
formato XML la configuración y datos de cada usuario, es
decir:

# cd /usr/local/jabber/jabber-1.4.2/spool
# mkdir localhost
ó
# mkdir nombre_completo_del_servidor_jabber_o_IP

Ahoran tan solo resta arrancar el servidor Jabber.
NOTA: Me gustaría comentar aquí que lo correcto es crear un nuevo
usuario y grupo que se encarge de arrancar y deterner el servidor
Jabber, lo que no deberiamos NUNCA es utilizar el usuario root
para realizar este proceso, simplemente por motivos de seguridad de todo la
máquina e incluso de la red. ESTAÍS AVISADOS ;-).

./jabberd/jabberd

Luis Toro, en su
Jabber Howto
(4), no propone este sencillo shell script para arrancar y
detener el servidor (lo ideal es ponerlo donde corresponda, al igual que
estan otros servicios en el directorio /etc/init.d, aunque depende de
la distribución linux que estemos utilizando) :

#!/bin/bash
DAEMON=/path_a_donde/instale_el_jabber/jabberd
CONF=/path_a_donde/instale_el_jabber/jabber.xml
set -e
case “$1” in
start)
echo -n “Arrancando jabber”
su – daemon DAEMON -c CONF
stop)
echo -n “Parando jabber”
kill `pidof jabber`
esac
done

Una vez arrancado el servidor, tendremos que verificar si realmente todo
funciona bien, para lo cual arrancamos algunos de los multiples clientes
existentes para Jabber, en mi caso he decidido probar con 2 de ellos:
el potente Gaim(6)
y también otro que es multiprotocolo, el
Everybuddy(7) (Al final del artículo
teneís un listado de algunos de estos clientes).

Para especificar el servidor al cual nos vamos a conectar, hemos de añadir
al nombre del usuario la dirección del servidor, en mi caso, utilizo el
usuario carcoco y como he configurado el servidor en mi máquina como
localhost, la configuración en el Gaim, quedaría de la
siguiente forma:

Nombre de Usuario: carcoco@localhost
Contraseña: *********
Alias: carcoco
Protocolo: Jabber
Port: 5222

Si es la primera vez que utilizamos este usuario, tendremos que registrarlos
(darlo de alta), por lo que tendremos que marcar la casilla que pone
Register with server, como podemos ver en esta captura.

Al arrancar el servidor, podemos ir viendo el registro de todo lo que ocurra
relativo al mismo en la misma terminal donde lo ejecutemos,
pero en el caso de que algo falle podemos obtener más información usando
el parametro -D, aunque no será lo habitual 😉

20020529T18:01:54: [notice] (-internal): initializing server
20020529T18:01:55: [notice] (update.jabber.org): failed to establish connection
20020529T18:01:55: [notice] (update.jabber.org): bouncing a packet to
[email protected]/1.4.2 from localhost: Server Connect Failed
20020529T18:03:01: [notice] (-internal): shutting down server

En este caso como podeís ver (segunda y tercera línea) está dando un error,
puesto que no puede conectar con el servidor update.jabber.org, para
sincronizarse y actualizaciones de los servidores.
Como estamos en una red local y no necesitamos esta
caracteristica, lo mejor que podemos hacer es comentar esta línea del
fichero de configuración jabber.xml:

<!–
<update><jabberd:cmdline flag=”h”>localhost</jabberd:cmdline></update>
–>

Si queremos que nuestro servidor Jabber soporte lo que se denomina
conferencia, es decir, que más de 2 usuarios puedan hablar
simultáneamente, necesitaremos descargar el fichero
http://jabberd.jabberstudio.org/downloads/conference-0.4.tar.gz
(8)
(This is the new conferencing/groupchat service for the 1.4 server).
Ahora lo que hacemos es descomprimirlo en el mismo lugar donde esta el servidor
Jabber y volvemos a compilarlo como hemos hecho antes.

Exactamente igual ocurre con JUD (Jabber User Directory), que obtendremos de

http://jabberd.jabberstudio.org/downloads/jud-0.4.tar.gz
(9).
Este
plugin/añadido, no permitirá realizar búsquedas de usuarios en
servidores Jabber. Más información sobre este servicio en
http://support.jabber.com/faqs/judfaq/judfaq.html
(10)

Pero si aún necesitamos más potencia para nuestro servidor de mensajería
instantánea
, en esta dirección
http://download.jabber.org/
(11)
encontraremos más utilidades y añadidos con los que mejorar,
aún más, nuestro potente servidor Jabber.

Os recomiendo una visita a la seccion contrib,
donde encontraremos cosas tan interesantes como las pasarelas a otros protocolos
propietarios (IRC, MSN, Yahoo, ICQ, AIM,
etc), enlaces con SMS (envío de mensajes a moviles), LPAD,
SQL, PAM, Xdb (para guardar y gestionar las autentificaciones
y otros servicios a través de Bases de Datos)
versiones para Mandrake, Solaris o FreeBSD, etc … :

Indicar que exite una version Comercial y una version libre del servidor, en este pdf(12) (Open Source and
Commercial Server Comparison) podeís encontrar una comparación entre ambos.

Algunos de las empresas(13)
que han utilizan la versión comercial del servidor Jabber,
o desarrollos propios realizados a partir de la misma, son:

  • Hewlett-Packard Company
  • BellSouth Corporation
  • Walt Disney Internet Group
  • France Telecom
  • Oracle
  • Wanadoo
  • University of Wisconsin
  • Gruner + Jahr
  • KANA
  • Clix
  • SAPO
  • Orange UK
  • RE/MAX
  • Kamoon, Inc.
  • MeetingOne
  • iWon
  • VA Linux
  • Aether Systems
  • Evolving Systems Inc.
  • Virtual Personalities Inc.
  • Scan Mobile Inc.
  • SkillNet Solutions
  • Transvirtual Technologies Inc.
  • Simplewire
  • Netpliance
  • Collab.Net
  • Planetlogix
  • Midletsoft
  • Antepo

Enlaces recomendados sober Jabber:

Lista Jabber-es

Anuncio oficial de la creación de Jabber-es
(Lista de discusión sobreJabber en castellano) :

Reciente se ha inagurado la lista de correo
jabber-es
(21) para que discutir nuestros proyectillos,
experimentos, dudas y demás aportaciones sobre
todo lo relacionado con el mundo Jabber(22).

Para los que desconozcan Jabber decir (muy por encima)
que es un protocolo
abierto y basado en XML para la mensajería y
la gestión de presencia instantánea, tanto entre personas como entre
aplicaciones. Para conocer más, recomendamos empezar por
Jabber.org(22) y por
supuesto apuntarse a la lista ;).
Todo el mundo, desde principiantes a gurús, está invitado a participar. ¡Os
esperamos!

Aunque la lista Jabber-es, se encuentra en su origenes, ya apunta muy buenas
maneras y es una de la mejores forma de empezar a familiarizarse con Jabber,
os recomiendo que si os interesa el tema que os

suscribaís
(21) cuanto antes.

Clientes Jabber:

Servidores Jabber en Internet:

  • Jabber.com
  • Jabber.org
  • myjabber.net
  • jabber.at
  • jabber.sk
  • nureality.myip.org
  • JabberView (Jabber Servers Stats)

    http://jabberview.com/
    (32)


$ alias carcoco=”echo Carlos Cortes”

http://bulma.net/todos.phtml?id_autor=132
(33)
Lista de enlaces de este artículo:

  • http://www.iana.org/
  • http://www.jabber.org/ietf/draft-miller-jabber-00.html
  • http://jabberd.jabberstudio.org/howto.html
  • http://jaya.dyndns.org/users/linux/HOWTO/jabber/jabber.html
  • http://jabberd.jabberstudio.org/downloads/jabber-1.4.2.tar.gz
  • http://bulma.net/body.phtml?nIdNoticia=740
  • http://www.everybuddy.com/
  • http://jabberd.jabberstudio.org/downloads/conference-0.4.tar.gz
  • http://jabberd.jabberstudio.org/downloads/jud-0.4.tar.gz
  • http://support.jabber.com/faqs/judfaq/judfaq.html
  • http://download.jabber.org/
  • http://www.jabber.com/pdf/JCP_JOSS.pdf
  • http://www.jabber.com/customers/index.shtml
  • http://website.dnsq.org/aboutfnkp/modules.php?name=News&file=article&sid
  • http://barrapunto.com/article.pl?sid=02/05/26/1938231&mode=thread&thresh
  • http://www.linux-mag.com/2001-08/jabber_01.html
  • http://www-106.ibm.com/developerworks/wireless/library/wi-jabber/index.html?open
  • http://www-1.ibm.com/servers/aix/os/linux/jabber/
  • http://www.oreillynet.com/linux/rt/10272000/instantmessaging.mp3
  • http://www.marevalo.net/creacion/unmundofeliz/1999_11_20_jabber_org.html
  • http://listas.aditel.org/listinfo.py/jabber-es
  • http://www.jabber.org
  • http://jabbercentral.org/clients/
  • http://gabber.sourceforge.net/
  • http://psi.affinix.com
  • http://www.kdedevelopers.net/kopete/
  • http://hem.fyristorg.com/matben/
  • http://jabberapplet.sourceforge.net
  • http://www.jabber.com/products/clients.shtml#jim
  • http://exodus.sourceforge.net
  • http://www.trillian.cc
  • http://jabberview.com/
  • http://bulma.net/todos.phtml?id_autor=132
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1347 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.