Actualizado 04/05/2011
Este es mi primer post en el blog, como me manejo en blogs y foros de técnicos estoy acostumbrado a trabajar con administradores y usuarios avanzados de GNU/Linux, la verdad me cuesta mucho explicar cosas sencillas como usar la terminal, crear un script bash y otra tareas que poco a poco el usuario de GNU/Linux esta cambiando por las aplicaciones con interfaz grafica, estoy haciendo mi mayor esfuerzo para que me entiendan y puedan realizar los pasos.
Introducción a Jabber
Jabber es un protocolo abierto basado en el estándar XML para el intercambio en tiempo real de mensajes y presencia entre dos puntos en Internet. La principal aplicación de la tecnología Jabber es una extensible plataforma de mensajería y una red de MI (Mensajería Instantánea) que ofrece una funcionalidad similar a la de otros sistemas como AIM, ICQ, MSN Messenger y Yahoo.
Se destaca porque es distinto:
* Es abierto — el protocolo de Jabber es gratuito, abierto, público y comprensible. Además, existen múltiples implementaciones de código abierto para Servidores Jabber (consulta la lista de servidores públicos) como numerosos clientes y librerías de desarrollo.
* Es extensible — usando el potencial del lenguaje XML, cualquiera puede extender el protocolo de Jabber para una funcionalidad personalizada. Claro que para mantener la interoperatibilidad, las extensiones comunes son controladas por la Jabber Software Foundation.
* Es descentralizado — cualquiera puede montar su propio servidor de Jabber, además está libre de patentes y no depende de ninguna empresa de modo que se puede usar ahora y siempre con total libertad.
* Es seguro — Cualquier servidor de Jabber puede ser aislado de la red pública Jabber, cualquier implementación del servidor usa SSL para las comunicaciones cliente-servidor y numerosos clientes soportan PGP-GPG para encriptar las comunicaciones de cliente a cliente. Además, está en desarrollo una seguridad más robusta gracias al uso de SASL y contraseñas de sesión.
Jabber puede crear confusión en un principio respecto a otros sistemas de mensajería instantánea porque habitualmente, en otros IM, se identifica el cliente con el protocolo. En el caso de Jabber esto no es así: existe un protocolo y cada uno de los clientes es una implementación.
Texto Original en: JabberES
Servidor
Para crear tu propio sistema de mensajería instantánea, necesitamos una aplicación que funcione de servidor.
OpenFire es un servidor jabber con administrador por web (como un router o modem), escrito en java y es GPL, es decir OpenSource.
Ingredientes:
Apache2 + MySQL + PHP5 y PHPMyAdmin
Para instalar estas aplicaciones tipeamos en una terminal con permisos para usar sudo
Nota: los # son comentarios, no se ejecutan, son referencias para una mejor comprensión.
# Instalamos Apache2 + MySQL5.1 + PHP5 y phpmyadmin sudo apt-get -y install apache2 sudo apt-get -y install mysql-server mysql-common sudo apt-get -y install php5 php5-cli sudo apt-get -y install phpmyadmin # Para que Apache2 mustre el Error de Host sudo echo "ServerName localhost" >> /etc/apache2/httpd.conf # Para que Apache2 Mustre Bien los Asentos y Tildes sudo echo "AddDefaultCharset ISO-8859-1" >> /etc/apache2/conf.d/charset # Reseteamos Apache2 sudo /etc/init.d/apache2 restart ya tenemos las aplicaciones mínimas, ahora a instalar OpenFire: # Instalmos Java sudo apt-get install sun-java6-bin # Configuramos Java como Interprete Principal sudo update-alternatives --config java # Creamos el Usuario para OpenFire sudo adduser openfire # Descargamos OpenFire en Paquete DEB wget -c http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire_3.7.0_all.deb # Instalamos OpenFire sudo dpkg -i openfire_3.7.0_all.deb # Copiamos Contenido Basico para OpenFire y MySQL sudo cp /usr/share/openfire/resources/database/openfire_mysql.sql $HOME/ sudo chmod 777 openfire_mysql.sql # Creamos Base de Datos e Importamos Comtenido Basico en MySQL mysqladmin -h localhost -u root -p create openfire mysql -h localhost -u root -p openfire < openfire_mysql.sql # Creamos Usuario y Asignamos Permisos en MySQL Linea="CREATE USER openfire@localhost IDENTIFIED BY 'CONTRASEÑA';" echo "$Linea" | mysql -h localhost -u root -p Linea="GRANT ALL ON openfire.* TO openfire@localhost;" echo "$Linea" | mysql -h localhost -u root -p # Eliminamos Archivos Residuales rm openfire_3.7.0_all.deb rm openfire_mysql.sql # Resetamos OpenFire sudo /etc/init.d/openfire restart # Abrimos Administrador Web firefox http://127.0.0.1:9090
recordar que el panel de administrador es:
http://127.0.0.1:9090
http://TUIP:9090
http://TUDOMINIO:9090
Si por alguna razón no puede logearse como admin luego de configurar por web, resetear openfire como al instalarlo y probar, si el problema persiste podemos cambiar la contraseña con phpmyadmin buscando la tabla user en la base openfire.
Para ver capturas de OpenFire ingresen aqui hay de todas la funciones e incluso de plugins.
Gracias por sus Comentarios, Si hay algún ERROR es producto de su imaginación, jajajaj
Excelente tuto Luciano!!!!
estaba buscando instalar openfire y con tu tuto me resulto mas que sencillo.
gracias.
Luciano, excelente aporte!!!. Seguí paso a paso tus instrucciones y creo que lo logré!! (aunque no me dejó configurar Apache2 para que muestre el error del host y que muestre bien los tildes) … pero no puedo loguearme. No entiendo que significa «si el problema persiste podemos cambiar la contraseña con phpmyadmin buscando la tabla user en la base openfire». Me podras ayudar??
Gracias!!!.
hola, perdn que no te respondi antes pero no me llego la notificación de tu comentario, si no podes logearte te recomiendo que reinicie el servicio y si el problema persiste, probar comabiando el pass de admin en la base de datos de openfire, puede ser mediante phpmyadmin. cualquier cosa me avisas y te ayudo.
Luciano buenos dias, hombre acudo a sus conocimientos en linux/ubuntu, resulta que instale openfire en ubuntu 16.04, y puedo entrar a la consola tanto por la ip publica como por la local,, el inconveniente radica en que cuando intento loguearme por el spark no me autentica el usuario ni la contraseña, no se si influya que tienen nstalado un ipcop como firewall y no se que puertos o la causa. por fa ayudaaaaaaaaa
«y es GPL, es decir OpenSource.»
Sería mejro decir «y es GPL, es decir, Software Libre»
No es lo mismo 😀
la verdad no quiero comenzar un discusión sin sentido porque el opensource incluye a muchas y diferentes licencias como la de GNU, apache, mit, mozilla y muchas mas, se utilizo la palabra opensource para especificar que es de código abierto y que puede contener y mix de licencias. espero que se entienda.
además creo que seria mas productivo ayudar que perder el tiempo en discusiones tontas.
muchas gracias
y pido disculpas si este comentario insulta a alguna persona.
Sin duda un gran tuto. Funcionó a la primera la instalación del openfire además configurado con LDAP. PERFECTO!!! Mil gracias.
Hola quisiera que me ayudaran pues ya he buscado bastante y se me agotaron las ideas, tengo instalado LDAP y Openfire.
Openfire se autentica bien con LDAP, pero al agregar contactos, no llega la suscripción, y tampoco los mensajes que se envían, y no se ven conectados, unos a otros, cuando en la lista de cesiones y usuarios del openfire, si se ven.
Si alguien tiene una sugerencia que darme. Desde ya gracias…
Exelente Tuto, gracias Luciano, estaba en un remolino y me aclaraste muchas dudas
Bytes
c4m4l30n
Muy bueno el tutoría, funciono muy bien
bueno la verdad lo instale y todo bien, pero el problema surgio luego nunca pude entrar al panel de administracion siempre me salia usuario o contraseña incorrecta.
si alguien sabe como solucionarlo le agradeceria mucho.
Grande Luciano… me parece que esta bien detallado el montaje del servidor Jabber… pues me queda hecharlo adelante… Gracias por matar la ignorancia….
Intento instalar java, pero me dice lo siguiente:
E: No se ha podido localizar el paquete sun-java6-bin
Es que me falta algun repositorio? Gracias!
hola, tenes que activar los repos «restricted» y «multiverse» en el /etc/apt/sources.list, porque hay cosas que en ubuntu no estan activas. si usas entorno grafico en origenes de software tambien se puede.
me quede en descargar openfire
hola, como les comento siempre sigan la guia al pie de la letra y si ven que se traban repasen, siempre esta san google por las dudas.
todo ok… 😉 (buena guia)
pero al momento de configurar el usuario se me movio el mouse y no supe que escribi de nombre de usuario y contraseña… 🙁 y le di enter…
el problema es que reinstale y ahora me sale lo siguiente:
omar@omar-che:~$ echo «$Linea» | mysql -h localhost -u root -p
Enter password:
ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for ‘openfire’@’localhost’
necesito ayuda, al descargar openfire parece como que si se descargo pero al momento de instalarlo me marca que se encontraron errores, la verdad me urge acabar un proyecto de la universidad, agradeceria tu ayuda.
tengo el openfire 3.7 trabanado ok pero olvide la contraseña del usuario admin y no puedo acceder a la consola para crear mas usuarios
necesito saber como cambiarle la contraseña
(Yo uso la base de datos del openfire )
Me paso lo mismo que al comentario de arriba solo que desinstale el openfire con lo siguiente…
Terminate the running application:
sudo /etc/init.d/openfire stop
Remove it from services:
sudo update-rc.d -f openfire remove
Remove the start-up file:
sudo rm /etc/init.d/openfire
Delete all the files located at /opt/openfire :
sudo rm -rf /opt/openfire
And finally, if you have used a mysql database for the application, you can remove the table used.
y al volver a instalar me sale lo siguiente…
omar@omar-che:~$ echo «$Linea» | mysql -h localhost -u root -p
Enter password:
ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for ‘openfire’@’localhost’
🙁 🙁 ayuda por favor…
gano OpenFire.. no pude con el
Excelente.. funciona bien con Linuxmint 11
Gracias..
Cuando introduzco estos dos comandos (sudo echo «ServerName localhost» >> /etc/apache2/httpd.conf y sudo echo «AddDefaultCharset ISO-8859-1» >> /etc/apache2/conf.d/charset) en la terminal, me devuelve este mensaje:
bash: /etc/apache2/httpd.conf: Permiso denegado
¿Alguna idea de cómo solucionarlo? ]:
Oye amigo, tengo el Openfire instalado y ya con varios usuarios creados en un Windows Server 2008 pero me gustaria migrar a Linux, sera que puedo pasar las configuraciones y contactos ya creados del Win2008 al Linux! PD: uso la base de datos interna, que tan recomendable o no es usarla de este modo, son alrededor de 200 usuarios.
Gracias!