Instala tu propio servidor Jabber con OpenFire en Ubuntu Linux

Instala tu propio servidor Jabber con OpenFire en Ubuntu Linux

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

Post Relacionados

  • Mirkovich

    Grande Luciano… me parece que esta bien detallado el montaje del servidor Jabber… pues me queda hecharlo adelante… Gracias por matar la ignorancia….

  • Oriol

    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!

    • http://www.lucianolagassa.com.ar Luciano Lagassa

      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.

  • http://nohay pedro

    me quede en descargar openfire

    • http://www.lucianolagassa.com.ar Luciano Lagassa

      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.

      • omar

        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’

  • katya

    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.

  • rayner

    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 )

  • omar

    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…

  • maguve

    gano OpenFire.. no pude con el

  • Martin Adelaido Hdez L

    Excelente.. funciona bien con Linuxmint 11
    Gracias..

  • Streuhund

    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? ]:

  • Gabriel GRG

    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!