Inicio
Ser radioaficionado
Repetidores
Herramientas
Blog
El club
Contacto
Socios
FRDEITENES
HB9V · Radioaficionados del cantón de Vaud
Inicio/Blog/Instalación de un reflector multiprotocolo XLX

Instalación de un reflector XLX multimodo

YSF, DMR, D-Star, C4FM en Ubuntu 22.04 / 24.04 o Debian 12

Guía completa y actualizada, octubre de 2025

1. Introducción

¿Qué es XLX?

XLX es un reflector multiprotocolo y multimodo para los modos digitales de radioaficionado. Permite crear un servidor que admite simultáneamente:

  • D-Star (con los protocolos DPlus/REF, DCS, DExtra/XRF)
  • DMR (Digital Mobile Radio)
  • YSF/C4FM (Yaesu System Fusion)

Ventajas de XLX

  • Multimodo nativo: los usuarios de DMR y YSF pueden comunicarse sin hardware de transcodificación
  • Hasta 26 módulos (salas de la A a la Z)
  • Panel en tiempo real
  • Interconexión posible entre reflectores
  • Código abierto y compatible con Pi-Star
Para permitir la comunicación entre D-Star y los demás modos, necesitará chips AMBE físicos (unos 90 € la unidad, se requieren 2 como mínimo). DMR ↔ YSF funciona de forma nativa desde 2020.

2. Requisitos previos

Servidor

  • Servidor VPS o dedicado con Ubuntu 22.04/24.04 o Debian 12
  • CPU: 1-2 vCPU como mínimo
  • RAM: 1-2 GB como mínimo
  • Almacenamiento: 20 GB como mínimo
  • Proveedores recomendados: Linode, DigitalOcean, OVH (5 €/mes)

Red

  • Dirección IP pública fija (IPv4 obligatoria)
  • Nombre de dominio completo (FQDN): por ejemplo xlx.votre-domaine.fr
  • Puertos de red accesibles

Número XLX

Elija un número de 3 cifras (000-999) que no esté en uso. Compruébelo en: https://xlx.n5amd.com/index.php?show=reflectors

Utilice SOLO cifras, sin letras. Su reflector se llamará XLX###.

3. Preparación del sistema

Conexión al servidor

ssh root@votre-serveur.com

Actualización del sistema

sudo apt update -y sudo apt upgrade -y sudo apt dist-upgrade -y

Creación de un usuario administrador

apt install sudo -y adduser votre-callsign usermod -aG sudo votre-callsign su - votre-callsign cd ~
A partir de ahora, utilice este usuario para todos los comandos.

4. Instalación de las dependencias

sudo apt install -y \ git git-core apache2 php libapache2-mod-php \ php-cli php-xml php-mbstring php-curl php-mysql \ build-essential g++ make ufw certbot python3-certbot-apache

Comprobación de las versiones

php -v # PHP 8.x apache2 -v # Apache 2.4.x gcc -v # GCC 11.x o superior

5. Descarga y configuración de XLX

Descarga de las fuentes

cd ~ git clone https://github.com/LX3JL/xlxd.git cd xlxd/src nano main.h

Parámetros que hay que modificar en main.h

1. Activación del autoenlace YSF

Cambie:

#define YSF_AUTOLINK_ENABLE 0

Por:

#define YSF_AUTOLINK_ENABLE 1

2. Dirección IP del servidor

Averigüe su IP:

curl ifconfig.me

Después modifique:

#define IP_ADDRESS "123.45.67.89" // Su IP pública

3. Número de módulos (opcional)

#define NB_OF_MODULES 26 // Para activar A-Z

Guarde: Ctrl + X, después Y, después Intro

6. Compilación del reflector

make clean make sudo make install sudo chmod +x /xlxd/xlxd

Descarga de la base de datos DMR ID

sudo wget -O /xlxd/dmrid.dat http://xlxapi.rlx.lu/api/exportdmr.php

7. Configuración del servicio del sistema

sudo cp ~/xlxd/scripts/xlxd /etc/init.d/xlxd sudo nano /etc/init.d/xlxd

Modifique la línea ARGUMENTS:

ARGUMENTS="XLX### votre.ip.publique 127.0.0.1"

Ejemplo:

ARGUMENTS="XLX123 203.0.113.45 127.0.0.1"

Activación:

sudo update-rc.d xlxd defaults

8. Instalación del panel web

sudo cp -r ~/xlxd/dashboard /var/www/xlxd sudo nano /var/www/xlxd/pgs/config.inc.php

Parámetros esenciales

1. Datos de contacto

$PageOptions['ContactEmail'] = 'votre-email@domaine.com'; $PageOptions['MetaDescription'] = 'XLX### - Réflecteur Multi-mode'; $PageOptions['MetaAuthor'] = 'VOTRE-CALLSIGN';

2. Configuración de Calling Home (IMPORTANTE)

$CallingHome['Active'] = true; $CallingHome['MyDashBoardURL'] = 'xlx.votre-domaine.fr'; $CallingHome['Country'] = 'FR'; $CallingHome['Comment'] = 'Réflecteur Multi-mode Français'; $CallingHome['HashFile'] = '/xlxd/callinghome.php';
$CallingHome['Active'] DEBE estar en true para aparecer en las listas públicas.

Asignación de permisos

sudo chown -R www-data:www-data /var/www/xlxd/ sudo chown -R www-data:www-data /xlxd/

9. Configuración del servidor web Apache

sudo nano /etc/apache2/sites-available/xlx.votre-domaine.fr.conf

Contenido:

<VirtualHost *:80> ServerName xlx.votre-domaine.fr ServerAdmin votre-email@domaine.com DocumentRoot /var/www/xlxd <Directory /var/www/xlxd> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

Activación:

sudo a2ensite xlx.votre-domaine.fr.conf sudo systemctl reload apache2

10. Configuración del cortafuegos

Puertos TCP

sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw allow 22/tcp # SSH sudo ufw allow 10001/tcp # XLX Core sudo ufw allow 10002/tcp # Interconexión sudo ufw allow 42000/tcp # YSF sudo ufw allow 30001/tcp # DExtra sudo ufw allow 20001/tcp # DPlus sudo ufw allow 30051/tcp # DCS

Puertos UDP

sudo ufw allow 8880/udp # DMR+ sudo ufw allow 10001/udp # XLX sudo ufw allow 42000/udp # YSF sudo ufw allow 30001/udp # DExtra sudo ufw allow 20001/udp # DPlus sudo ufw allow 30051/udp # DCS

Activación:

sudo ufw enable sudo ufw status verbose
En los VPS en la nube, abra también estos puertos en el cortafuegos del proveedor.

11. Arranque y verificación

sudo service xlxd start sudo systemctl status xlxd sudo chown -R www-data:www-data /var/log/xlxd.xml sudo systemctl restart apache2

Prueba del panel

http://xlx.votre-domaine.fr

Debería ver su reflector XLX### con la versión v2.5.3.

12. Configuración SSL (recomendada)

sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d xlx.votre-domaine.fr sudo certbot renew --dry-run
Acceda ahora a https://xlx.votre-domaine.fr

13. Registro en las listas públicas

Con $CallingHome['Active'] = true, su reflector se registra automáticamente.

Plazo: de 2 a 48 horas para aparecer en las listas públicas.

Compruébelo en: https://xlx.n5amd.com/index.php?show=reflectors

14. Resolución de problemas

El servicio no arranca

sudo journalctl -u xlxd -n 50 cat /etc/init.d/xlxd ls -la /xlxd/xlxd sudo chmod +x /xlxd/xlxd

El panel está vacío

sudo systemctl status apache2 sudo chown -R www-data:www-data /var/www/xlxd/ sudo tail -f /var/log/apache2/xlx-error.log

No aparece en las listas

  1. Compruebe $CallingHome['Active'] = true
  2. Compruebe el FQDN
  3. Espere de 24 a 48 horas
  4. Revise los logs

15. Mantenimiento

Actualización de XLX

sudo systemctl stop xlxd cd ~/xlxd && git pull cd src && make clean && make sudo make install sudo systemctl start xlxd

Actualización de la base de datos DMR

sudo wget -O /xlxd/dmrid.dat http://xlxapi.rlx.lu/api/exportdmr.php sudo systemctl restart xlxd

16. Conexión al reflector

Desde Pi-Star (D-Star)

  1. Configuration → Expert → MMDVMHost
  2. Sección D-Star Network:
    • Protocolo: XLX
    • Hostname: xlx.votre-domaine.fr
    • Puerto: 30001
    • Módulo: B

Códigos DTMF

  • *###A → Módulo A
  • *###B → Módulo B
  • *U → Desconexión

17. Conclusión

¡Enhorabuena! Su reflector XLX multimodo está operativo.

Próximos pasos

  1. Pruébelo con su hotspot
  2. Configure módulos dedicados
  3. Añada transcodificación AMBE si es necesario
  4. Dé a conocer su reflector

Buenas prácticas

  • Documente su configuración
  • Actualice con regularidad
  • Vigile los logs
  • Mantenga la seguridad (SSL, actualizaciones)
  • Comparta sus conocimientos
¡73 y buen tráfico en su nuevo reflector XLX!

Seguir leyendo

Últimos artículos

Todos los artículos →