NEXTCLOUD: Instalación servidor XMPP

Instalación de ejabberd

  • Ingresamos a la carpeta tmp
cd /tmp
  • Pagina de descarga oficial: https://www.process-one.net/en/ejabberd/downloads/
  • Descargamos la versión
wget https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/19.02/ejabberd_19.02-0_amd64.deb
  • Instalamos
sudo dpkg -i downloads-action.php\?file\=%2Fejabberd%2F19.02%2Fejabberd_19.02-0_amd64.deb
  • Since Ubuntu 18.04 and Ubuntu 16.04 use systemd init system, we need to copy ejabberd.service  to /etc/systemd/system directory.
sudo updatedb
sudo cp $(locate ejabberd.service) /etc/systemd/system
  • Reiniciamos el servicio
sudo systemctl daemon-reload
  • Lo habilitamos para que cargue al arrancar la computadora
sudo systemctl enable --now ejabberd
  • Verificamos que el servicio este corriendo
systemctl status ejabberd.service
  • Identificamos donde esta instalado ejabberd
locate ejabberdctl | grep bin
  • RESULTADO:
/opt/ejabberd-19.02/bin/ejabberdctl
  • Abrimos el archivo (NO HACER)
nano ~/.bashrc
  • Y agregamos (NO HACER)
PATH=$PATH:/opt/ejabberd-19.02/bin/ejabberdctl
  • Aplicamos (NO HACER)
source ~/.bashrc
  • Ingresamos al directorio
cd /opt/ejabberd-19.02/bin/
  • Agregamos el usuario administrador
./ejabberdctl register ugit coturn.siua.ac.cr CA2
./ejabberdctl change_password ugit coturn.siua.ac.cr CA2
  • Abrimos el archivo
  • nano /opt/ejabberd/conf/ejabberd.yml
  • Modificamos
hosts:
  - "coturn.siua.ac.cr"
  • Cambiar password «admin»
cd /opt/ejabberd-19.02/bin
./ejabberdctl stop
ejabberdctl live
ejabberd_auth:set_password(<<"admin">>,<<"localhost">>,<<"Calypso_ADM_2">>).


o mas facil
./ejabberdctl change_password admin coturn.siua.ac.cr Calypso_ADM_2
  • Saber las aplicaciones corriendo por puerto
nmap -sT -O localhost
  • Para ingresar a la consola
http://coturn.siua.ac.cr:5280
  • Instalamos el resto de aplicaciones
apt-get install ejabberd git python python-requests python-configargparse python-bcrypt
  • Ingresamos al directorio «opt»
cd /opt
  • Clonamos el repositorio
git clone https://github.com/jsxc/xmpp-cloud-auth
  • Instalamos
sudo apt install python3 python3-requests python3-configargparse python3-bcrypt python3-bsddb3
  • Instalamos
sudo apt install socket make
  • Ingresamos al directorio
cd /opt/xmpp-cloud-auth
  • Instalamos
make install
  • Copiamos el archivo
cp xcauth.conf /etc/
  • Restringimos el acceso al archivo
chown xcauth:xcauth /etc/xcauth.conf;
chmod 660 /etc/xcauth.conf
  • Abrimos el archivo
nano /etc/xcauth.conf
  • Abrimos la configuración de nextcloud en «Configuraciones»->Javascript XMPP Client y marcamos externa
  • Nos va a mostrar la siguiente configuración
  • Modificar
------------------------------------
type=generic
X
#type=generic
------------------------------------
#type=ejabberd
X
type=ejabberd
------------------------------------
#url=https://example.org/index.php/apps/ojsxc/ajax/externalApi.php
X
url=https://cloud.siua.ac.cr/index.php/apps/ojsxc/ajax/externalApi.php
------------------------------------
#secret=0123456789ABCDEF
X
secret=0FHj....
------------------------------------

Configuración de Apache

  • Activamos los módulos proxy
sudo a2enmod proxy
sudo a2enmod proxy_http
  • Reiniciamos
systemctl restart apache2
  • Abrimos el archivo
nano /etc/apache2/sites-available/000-default.conf
  • Agregamos
ProxyPass /http-bind/ http://localhost:5280/http-bind/
ProxyPassReverse /http-bind/ http://localhost:5280/http-bind/
  • Habilitamos el sitio
a2ensite 000-default.conf
  • Reiniciamos
systemctl reload apache2