23

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


Escribe tu comentario

Loading Disqus Comments ...
Loading Facebook Comments ...