Que es la mensajería instantánea?
Transcripción
Que es la mensajería instantánea?
Mensajería Instantánea Iván Daniel Rodríguez Posada Iván Daniel Rodríguez Posada Mensajería Instantánea 1 Mensajería Instantánea Iván Daniel Rodríguez Posada Índice 1. ¿Que es la mensajería instantánea?:.................................................................................................2 2. Openfire:...........................................................................................................................................5 2.1 Instalación de Openfire:.............................................................................................................5 2.2 Creación de usuarios en Openfire:...........................................................................................11 2.3. Creación de Usuarios por parte de los clientes:......................................................................12 3. Clientes XMPP:..............................................................................................................................12 3.1 Xabber:.....................................................................................................................................13 3.2 Spark:.......................................................................................................................................14 3.3 Pidgin:......................................................................................................................................14 3.4 Añadir contactos:.....................................................................................................................15 4. Ejabberd:.........................................................................................................................................18 4.1. Instalación de Ejabberd:..........................................................................................................19 4.2. Creación de usuarios en Ejabberd:..........................................................................................19 5. Conclusiones:.................................................................................................................................21 2 Mensajería Instantánea Iván Daniel Rodríguez Posada 1. ¿Que es la mensajería instantánea?: La mensajería instantánea (conocida también en inglés como IM) es una forma de comunicación en tiempo real entre dos o más personas basada en texto. El texto es enviado a través de dispositivos conectados a una red como Internet. La mensajería instantánea requiere de un servidor y un cliente por el cual se envían los datos, clientes como Skype o Whatsapp son los más utilizados. Actualmente la mensajería instantánea en los móviles se les está dando mas importancia, tenemos todo tipo de aplicaciones móviles como Facebook Messenger, Skype, Line, Telegram, Whatsapp, estas son las más importantes pero también hay aplicaciones como por ejemplo Xabber, cliente de código abierto que podremos utilizar con servidores XMPP. A lo largo de la historia de la mensajería instantánea se han utilizado muchos tipos de protocolos de conexión, muchos de ellos privativos: OSCAR- Son las siglas en inglés de Orbiting Satellite Carrying Amateur Radio (Satélite Orbitante Portando Radio Amateur), OSCAR han contribuido a hacer grandes avances en la ciencia de las comunicaciones por satélite y hasta la fecha mas de 70 satélites han sido lanzados. Este servicio es utilizado por ICQ y AIM. Bonjour- Protocolo de mensajería de Apple de Licencia Freeware.(aplicación gratuita para clientes; sin embargo, para los desarrolladores y empresas de software que quieran incluirlo en algún paquete de 'software', puede ser necesario contratar una licencia). Este servicio es utilizado por Fire o Trillian, entre otros. Gadu-Gadu(GG)- Protocolo de mensajería popular en Polonia de Software Propietario financiado por publicidad, permite mensajes offline, envío de datos, VoIP y conexiones seguras SSL. Este servicio es utilizado por Pidgin, Kopete, Kadu, Tlen.pl o WTW, entre otros. IRC(Internet Relay Chat)- Protocolo de mensajería desarrollada por Jarkko Oikarinen en agosto de 1988 con el motivo de reemplazar al programa MUT (talk). Durante la primera mitad de la década de los 2000 la mayoría de redes 3 Mensajería Instantánea Iván Daniel Rodríguez Posada vivieron un rápido incremento de usuarios, correspondiente con la popularización de Internet y especialmente de las redes de Chat e IRC se volvió muy popular. MXit- Protocolo de mensajería desarrollada por Mxit utilizado mayormente en Sudáfrica de Licencia Freeware. Según un estudio de World Wide Worx, Mxit tenía 7,4 millones de suscriptores activos mensuales en julio de 2013, de los cuales 6,3 millones eran sudafricanos. SIMPLE- Protocolo de mensajería creado por el IETF (Grupo de Trabajo de Ingeniería de Internet), XMPP es su competidor y es de estándar abierto aunque actualmente se está apoyando mas XMPP. IBM Sametime- Protocolo de mensajería desarrollada por IBM de software propietario pensada para empresas, además de ofrecer mensajería instantánea también ofrece reuniones electrónicas, voz, vídeo y datos. Zephyr- Protocolo de mensajería desarrollada por el MIT (Instituto Tecnológico de Massachusetts) considerada la primera aplicación de mensajería instantánea. Actualmente se sigue utilizando en algunos centros, sobre todo académicos y de investigación, como el propio MIT o el CERN. XMPP- Anteriormente llamado Jabber es un protocolo de mensajería abierto y extensible basado en XML, es fácil de adaptar a cualquier cliente,sencillo y el mas utilizado en la actualidad. Empresas como Facebook, Tuenti, WhatsApp Messenger y Nimbuzz entre otras han optado con este protocolo de mensajería instantanea libre. XMPP ofrece las siguientes ventajas frente a los otros protocolos: Fácil Instalación: La arquitectura de las redes XMPP es similar a la del correo electrónico; cualquiera puede poner en marcha su propio servidor XMPP. Estándares abiertos: La Internet Engineering Task Force ha formalizado el protocolo XMPP como una tecnología de mensajería instantánea estándar, y sus especificaciones han sido publicadas como los RFC 3920 y RFC 3921. El desarrollo de esta tecnología no está ligado a ninguna empresa en concreto y no requiere el pago de regalías. 4 Mensajería Instantánea Iván Daniel Rodríguez Posada Seguridad: Los servidores XMPP pueden estar aislados de la red pública XMPP, y poseen robustos sistemas de seguridad (como SASL y TLS). Para apoyar la utilización de los sistemas de cifrado, la XMPP Standards Foundation pone a disposición de los administradores de servidores XMPP Autoridad de certificación en xmpp.net ofreciendo certificados digitales gratis. Flexibilidad: Se pueden hacer funcionalidades a medida sobre XMPP; para mantener la interoperabilidad, las extensiones más comunes son gestionadas por la XMPP Software Foundation. Por todos estos motivos optaremos por trabajar con XMPP para este proyecto, en especial vamos a instalar y trabajar con dos servidores: 2. Openfire: Es un sistema de mensajería instantánea GPL, hecho en java y que utiliza el protocolo XMPP, permite montar tu propio servidor de mensajería Instantánea, administrar a tus usuarios, compartir archivos, auditar mensajes, mensajes offline, mensajes broadcast, grupos, etc y además contiene plugins gratuitos con diferentes funciones extras. Permite la configuración del servidor via Web pudiendo administrarlo desde cualquier sitio. 2.1 Instalación de Openfire: Para este proyecto vamos a utilizar una máquina virtual con Debian 7. Primero actualizaremos el sistema: aptitude update && aptitude full-upgrade 5 Mensajería Instantánea Iván Daniel Rodríguez Posada Ahora instalamos las dependencias necesarias de Java para hacer funcionar Openfire que van a ser openjdk-6-jdk y openjdk-7-jre, todo esto lo instalaremos junto con mysql-server. aptitude install openjdk-6-jdk openjdk-7-jre mysql-server Durante la instalación nos aparecerá una ventana en la consola para poner una contraseña al usuario root de nuestro servidor MySQL. Tendremos que repetir la contraseña para confirmarlo Una vez finalizada la instalación nos loguearemos en MySQL como root y crearemos una base de datos para Openfire. 6 Mensajería Instantánea Iván Daniel Rodríguez Posada Nos loguearemos de la siguiente manera: mysql -u root -p Contraseña: root (como es lógico en esta prueba la contraseña es root pero para un caso real debemos de tener una contraseña compleja) Una vez dentro creamos la base de datos: CREATE DATABASE openfire; Teniendo la base de datos creada procedemos a descargarnos el servidor Openfire, podemos descargarnos el archivo desde la página oficial para Windows, Mac y varias distribuciones Linux http://www.igniterealtime.org/downloads/. En nuestro caso lo descargaremos para Debian mediante el comando wget la ultima versión estable: wget http://www.igniterealtime.org/downloadServlet? filename=openfire/openfire_3.9.3_all.deb Una vez descargado lo instalamos con DPKG: dpkg -i openfire_3.9.3_all.deb Ya tenemos el servidor de Openfire instalado, ahora tenemos que configurarlo vía web, para ello escribimos la dirección ip de la maquina donde lo estemos instalando y como puerto le indicamos el 9090, en mi caso sería http://192.168.1.111:9090 Una vez entremos en esa dirección nos aparecerá la primera pantalla para configurar nuestro servidor Openfire en la que deberemos seleccionar nuestro idioma y continuar 7 Mensajería Instantánea Iván Daniel Rodríguez Posada En la siguiente pantalla tendremos que configurar el dominio y los puertos que va a utilizar nuestro servidor, por defecto lo dejamos tal cual. El siguiente paso es elegir donde va a estar la base de datos, en nuestro caso como vamos a tenerlo en MySQL seleccionaremos “Conexión Estándar”. 8 Mensajería Instantánea Iván Daniel Rodríguez Posada El cuarto paso es el mas importante, en este paso tendremos que configurar Openfire para que se pueda conectar con nuestra base de datos creada previamente en MySQL. En el tipo de driver elegiremos MySQL y en la url reemplazaremos [hostname] por localhost y [database-name] por el nombre de la base de datos, en nuesto caso openfire. Y por ultimo pondremos el usuario y la contraseña de nuestra base de datos para que pueda conectarse. En paso siguiente es elegir que sistema de usuarios y grupos utilizaremos en Openfire, en nuestro caso lo dejaremos por defecto y le damos a Continuar, como podemos ver también podemos integrarlo con LDAP. 9 Mensajería Instantánea Iván Daniel Rodríguez Posada Por ultimo creamos una cuenta de administrador para poder gestionar nuestro servidor de mensajería y ya tendremos listo nuestro servidor Openfire. Ahora cada vez que queramos administrar algo en nuestro servidor entraremos en la dirección http://192.168.1.111:9090 y nos logueamos con nuestra cuenta de administrador: 10 Mensajería Instantánea Iván Daniel Rodríguez Posada 2.2 Creación de usuarios en Openfire: Una vez dentro de la consola de administración nos vamos a Usuarios/grupos>Crear nuevo usuario y rellenamos los campos necesarios: Para poder ver la lista de usuarios pinchamos en Usuarios/grupos: 11 Mensajería Instantánea Iván Daniel Rodríguez Posada 2.3. Creación de Usuarios por parte de los clientes: Por defecto en Openfire el registro de cuentas por parte de los usuarios viene habilitado, una vez nos logueemos con el cliente si el usuario no existe el servidor se encarga de crearlo automáticamente. Este método es un problema si queremos tener el servidor con unos usuarios fijos sin posibilidad de crear nuevos, por lo tanto deberemos de desactivar esta característica. Para ello vamos a Servidor>Configuración del servidor>Registro y conexiones. 3. Clientes XMPP: Existen una gran cantidad de programas y aplicaciones para poder conectarte a servidores XMPP sin importar el dispositivo que estés utilizando. En http://xmpp.org/xmpp-software/clients/ tenemos una lista bastante amplia de clientes que podemos utilizar, en esta prueba nos decantaremos por utilizar Spark en Windows, Pidgin en Linux y Xabber en Android. Antes de nada crearemos 3 usuarios para la ocasión, uno llamado Windows para usarlo en Spark, otro llamado Android para usarlo en Xabber y otro llamado Linux para Pidgin. 12 Mensajería Instantánea Iván Daniel Rodríguez Posada 3.1 Xabber: Xabber es un cliente de código abierto de XMPP (Jabber) con soporte para múltiples cuentas e interfaz sencilla. Para empezar deberemos bajarnos Xabber desde GooglePlay https://play.google.com/store/apps/details? id=com.xabber.android&hl=es Una vez abierto nos aparecerá un botón que pondrá “Añadir Cuenta”, cuando lo pulsemos nos abrirá otra pantalla. En la siguiente pantalla tendremos que rellenar los siguientes datos: Tipo de cuenta, en nuestro caso lo dejaremos tal cual porque nuestro servidor es XMPP. Usuario, deberemos poner el nombre de usuario seguido de una arroba y la dirección IP. Contraseña de la cuenta y marcaremos la casilla de “Registrar una nueva cuenta”. Una vez relleno todo pulsaremos en Añadir cuenta y ya tendremos nuestra cuenta preparada. 13 Mensajería Instantánea Iván Daniel Rodríguez Posada 3.2 Spark: Spark es un cliente de código abierto de XMPP muy sencillo creado especialmente para Openfire. Para descargarlo debemos ir a http://www.igniterealtime.org/downloads/inde x.jsp#spark. Este cliente es mas sencillo e intuitivo, una vez logueados nos aparece una ventana con una serie de opciones en la barra de herramientas superior en la que podremos añadir usuarios entre otras cosas. 3.3 Pidgin: Para conectarse por primera vez en Pidgin debemos ir a Cuentas>Gestionar cuentas y en la nueva ventana hacemos clic en Añadir. 14 Mensajería Instantánea Iván Daniel Rodríguez Posada Una vez le demos a añadir nos aparecerá una nueva ventana en la que deberemos de elegir el tipo de protocolo, en nuestro caso XMPP, el nombre de usuario y su contraseña. Una vez hecho esto cuando pulsemos Añadir si todo es correcto establecerá conexión. 3.4 Añadir contactos: A la hora de añadir contactos es muy simple, en Spark debemos ir a Contactos>Agregar contacto y nos aparecerá una nueva ventana en la que pondremos el contacto que queremos añadir. 15 Mensajería Instantánea Iván Daniel Rodríguez Posada Una vez agreguemos al contacto le llegará a este una solicitud para aceptarla, mientras tanto nuestro contacto se quedará en espera hasta que acepte la solicitud. 16 Mensajería Instantánea Iván Daniel Rodríguez Posada Una vez el contacto que queremos agregar acepte la solicitud les aparecerá a ambos el contacto en la lista de Amigos (o en su defecto el grupo que le hayamos definido) y en linea para poder empezar a hablar con él. 17 Mensajería Instantánea Iván Daniel Rodríguez Posada En Pidgin el sistema es muy parecido a Spark, vamos a Amigos>Añadir un amigo... En la siguiente ventana escribiremos el nombre de usuario de nuestro amigo seguido de una @ y la IP y si aparece en la base de datos del servidor le mandará una solicitud de amistad. En cuanto la solicitud sea aceptada podrán hablar entre ellos. 4. Ejabberd: Trabajar con Openfire es muy fácil y cómodo, tiene muchas guías en español y utilidades pero también tiene un gran inconveniente, necesita mas recursos de la cuenta para que funcione bien. Openfire está hecho en Java y para grandes proyectos es necesario una máquina potente. Para solucionar este problema existe Ejabberd, un servidor mas básico creado en Erlang muy útil para máquinas con pocos recursos. 18 Mensajería Instantánea Iván Daniel Rodríguez Posada 4.1. Instalación de Ejabberd: Primero actualizaremos el sistema: aptitude update && aptitude full-upgrade Una vez actualizado procedemos a instalar el paquete: aptitude install ejabberd El siguiente paso es modificar el fichero de configuración: nano /etc/ejabberd/ejabberd.cfg Se modificarán las líneas siguientes: %%Admin user {acl, admin, {user, "", "localhost"}}. %%Hostname {hosts, ["localhost"]}. Quedando de la siguiente manera: %%Admin user {acl, admin, {user, "administrador", "192.168.1.111"}}. %%Hostname {hosts, ["192.168.1.111"]}. Una vez apliquemos los cambios tendremos que reiniciar el servicio: service ejabberd restart 19 Mensajería Instantánea Iván Daniel Rodríguez Posada 4.2. Creación de usuarios en Ejabberd: Una vez reiniciado el servicio tendremos que crear la cuenta de administrador, para ello ejecutamos el siguiente comando: ejabberdctl register administrador 192.168.1.111 1234qwerty Para crear los demás usuarios podemos hacerlo de dos maneras: -Mediante comandos: ejabberdctl register ivan 192.168.1.111 1234qwerty -Mediante Interfaz Web: Primero nos conectaremos al servidor poniendo en el navegador lo siguiente: http://192.168.1.111:5280/admin Tras loguearnos aparecerá el menú principal: 20 Mensajería Instantánea Iván Daniel Rodríguez Posada Para crear usuarios nos vamos a Dominios Virtuales>{nuestro dominio}>usuarios Solo tendremos que elegir que usuario crear y que contraseña darle, una vez lo añadamos nos aparecerá en la lista inferior. 21 Mensajería Instantánea Iván Daniel Rodríguez Posada Ejabberd viene por defecto con los registros desde el cliente deshabilitados, si queremos habilitarlo debemos editar el siguiente archivo: nano /etc/ejabberd/ejabberd.cfg Una vez dentro buscamos la siguiente linea: {access, register, [{deny, all}]}. Y la reemplazamos por: {access, register, [{allow, all}]}. 5. Conclusiones: Me ha resultado muy interesante aprender a montar servidores XMPP y saber como funcionan las grandes empresas de mensajería instantánea que trabajan con XMPP, siendo solo 1 puedes montar un servidor y sacarle mucho partido para todo tipo de tareas en las que se necesite comunicación las 24h de manera privada. Es escalable y puedes montar varios servidores XMPP que se comuniquen entre ellos. 22
Documentos relacionados
Mensajería instantánea
Mensajería instantánea: Puedes enviar mensajes de texto a tus contactos de correo Yahoo Salas de chat: Diferentes salas de chat Compartir fotos: Comparte las fotos que tengas en tu ordenador Ll...
Más detalles