Jabber/XMPP es un protocolo de mensajería creado en 1998, el cual ha evolucionado con el tiempo y ha servidor de base para muchos protocolos (Whatsapp utiliza un protocolo basado en XMPP, pero incompatible con las especificaciones del protocolo). Este sistema es descentralizado, por lo que puedes comunicarte con usuarios que utilicen otro servidor compatible, además de poder elegir el programa cliente que más te guste (en lugar de estar atado a un solo programa cliente como en Whatsapp y Signal). En este tutorial les mostraré como montar un servidor de mensajería Jabber/XMPP utilizando Openfire
Primero vamos al sitio de descargas de Igntite Realtime y hacemos clic en el botón de descargas correspondiente al sistema operativo del servidor que vamos a montar, en este caso Linux
Aparecerán varios enlaces de descargas para diferentes distribuciones, en este caso elegiremos el formato .deb para distribuciones basadas en Debian. Hacemos clic derecho en el enlace y copiamos la dirección del enlace.
Nos conectamos por SSH al servidor e introducimos el siguiente comando
wget <enlace>
Reemplazando <enlace> por el enlace que copiamos para descargar el instalador del programa. Una vez descargado lo instalamos junto sus dependencias de la siguiente forma
sudo apt install default-jre postgresql postgresql-contrib
sudo dpkg -i '<nombre de archivo>'
Reemplazando ‘<nombre de archivo>’ por el nombre del archivo descargado
Vamos a crear una base de datos para el servidor
sudo -u postgres psql
CREATE USER openfire;
CREATE DATABASE openfire;
GRANT ALL PRIVILEGES ON DATABASE openfire TO openfire;
ALTER USER openfire WITH PASSWORD 'new_password';
\q
Una vez creada la base de datos introducimos en el navegador la dirección IP de nuestro servidor en el puerto 9090 de la siguiente forma
http://my-server:9090
En el primer paso nos preguntará el idioma
En el segundo paso nos pedirá el nombre de dominio
Después nos preguntará si queremos utilizar una base de datos interna o conectar una externa, en este caso haremos esto último
En este paso nos pedirá seleccionar nuestro tipo de base de datos e introducir las credenciales de conexión. En nuestro caso es PostgreSQL
En este paso nos preguntará por el tipo de autenticación que queremos utilizar, en este caso podemos conectar un directorio LDAP (el cual no forma parte de este tutorial) o dejarlo como está y utilizar el sistema de usuarios interno
En este paso de la instalación nos pedirá introducir la contraseña deseada para la cuenta de administrador y nuestra dirección de correo
Una vez que terminamos el proceso de configuración nos redigirá a la pantalla de inicio de sesión
Ahora podemos registrarnos con el cliente XMPP de nuestra preferencia
Referencias
https://stackoverflow.com/questions/12720967/postgresql-how-to-change-postgresql-user-password
https://linuxize.com/post/how-to-install-postgresql-on-debian-9/