Para crear tu propio sistema de mensajería instantánea, necesitamos una aplicación que funcione de servidor de mensajeria instantanea y para ello vamos a usar OpenFire el cual es un servidor jabber con administracionr via web, esta escrito en java bajo licencia GPL y es Software Libre.
Necesitamos tener un Servidor LAMP, si no sabeis como instalarlo Aqui teneis varias Guias.
Si ya tenemos el servidor LAMP montado vamos a asegurarnos que tenemos el sistema actualizado.
sudo apt-get update
sudo apt-get upgrade
Una vez hecho esto vamos a instalar Java
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Si estas usando OpenJDK, desinstalalo para reducir conflictos con Java
sudo apt-get remove --purge openjdk*
Ahora instalamos Java 7 de Oracle
sudo apt-get install oracle-java7-installer
Instalamos si no lo tenemos la ultima version de MySQL server (esto solo si no hemos instalado LAMP)
sudo apt-get install mysql-server
Nos logamos como root en mysql y creamos la base de datos y el usuario a los que tengais phpmyadmin podeis hacerlo desde alli.
sudo mysql -u root p
mysql> CREATE DATABASE dbopenfire CHARACTER SET='utf8';
mysql> CREATE USER 'openfire'@'localhost' IDENTIFIED BY 'openfirepwd';
mysql> GRANT ALL PRIVILEGES ON dbopenfire.* TO openfire@localhost WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> quit
Descargamos e instalamos la ultima version de OpenFire
cd /tmp
wget http://download.igniterealtime.org/openfire/openfire_3.8.1_all.deb
Instalamos Openfire con el comando dpkg
sudo dpkg -i openfire_3.8.1_all.deb
Ignoramos los errores que da la instalación sobre permisos, ya que eso depende de la version de JRE/jdk/ y seguimos, pues necesitamos editar el fichero /etc/init/d/openfire linea 27. Sustituir java-6-sun con java-6-oracle or java-7-oracle.
sudo apt-get install rpl
sudo rpl '6-sun' '7-oracle' /etc/init.d/openfire
sudo service openfire start
Ahora vamos a habilitamos los puertos para Openfire. Tened en cuenta que necesitamos configurar el cortafuegos (firewall) y habilitar los puertos para openfire en el servidor Ubuntu, para ello usamos el comando "ufw" para configurar Openfire Firewall.
sudo ufw allow 9090/tcp
sudo ufw allow 9091/tcp
sudo ufw allow 5222/tcp
sudo ufw allow 7777/tcp
sudo ufw allow 7443/tcp
sudo ufw allow 7070/tcp
sudo ufw allow 3478/tcp
sudo ufw allow 3479/tcp
Con esto hemos completado los pasos iniciales de la instalacion de OpenFire. Ahora vamos a seguir con la configuración a través de un navegador web.
Configurando Openfire Server:
Configurar Openfire es muy sencillo y se hace en un par de pasos, desde nuestro navegador web vamos a la siguiente direccion
http://tudominio-o-ip-o-localhost:9090/setup/index.jsp
Contestamos a las preguntas que nos va solicitando, recomiendo dejar los puertos por defecto y listo.
Ahora resetamos OpenFire para que se aplique todo
sudo /etc/init.d/openfire restart
Recuerda que para administrar y configurar el Servidor Jabber de OpenFire debemos poner en el navegador web.
http://tudominio.es:9090
http://laipdelserver:9090 Si es en una red local.
http://localhost:9090 Si estas en el ordenador que hace de servidor.
Una vez configurado el Servidor Jabber de Mensajeria Instantanea podeis instalar Spark, como cliente de Mensajeria Instantanea del cual hay versiones para Windows, Linux y Mac. o usar cualquier otro cliente que sea compatible con el protocolo Jabber, como por ejemplo pidgin que ya viene en Ubuntu instalado.
Nosotros Instalaremos Spark en el pc cliente el cual podemos descargar desde Aqui, nuestra instalación sera en un Pc Cliente tambien Linux Ubuntu, para Windows y Mac se usa el habitual procedimiento de sus respectivos entornos:
wget http://download.igniterealtime.org/spark/spark_2_6_3.tar.gz
tar -zxvf spark_2_6_3.tar.gz
sudo mkdir /opt/spark
sudo mv Spark/* /opt/spark/
Y por ultimo Creamos un Lanzador en el Escritorio.
sudo nano /usr/share/applications/spark.desktop
[Desktop Entry] Name=Spark Version=2.6.3 GenericName=Spark X-GNOME-FullName=Spark Comment=ignite realtime Spark IM client Type=Application Categories=Application;Utility; Path=/opt/spark Exec=/bin/bash Spark Terminal=false StartupNotify=true Icon=/opt/spark/logo-spark.png TargetEnvironment=Unity
Salimos y guardamos el lanzador creado.
Por ultimo vamos a cargar la imagen icono del propio spark.
sudo cd /opt/spark
sudo wget https://dl.dropbox.com/u/50880014/spark.png
Ya hemos terminado, ahora ya teneis el lanzador en el escritorio y podeis poner en marcha Spark en todos y cada uno de los pc's clientes donde lo hayais instalado.
Doy por hecho que habeis entrado en la configuracion y la habeis puesto a vuestro gusto, eligiendo si creemos que se puedan dar de alta los usuarios ellos mismos o no, etc, etc.
Ala ahora ya tienes tu sistema de Mensajeria Instantanea privado funcionando.
Be Linux my Friend. :)