¿Cómo podemos ayudar?

Print

Cómo instalar un Cloud MQTT Broker en un VPS (Servidor Virtual Privado)

 

Este tutorial es útil para configurar un Cloud MQTT Broker en un VPS (Virtual Private Server) para probar y desplegar sus proyectos MQTT.

Con este tipo de broker MQTT, eres independiente, su disponibilidad es del 99,99% y su coste es muy asequible.
El coste de un VPS es aproximadamente de 1€ a 4€ /mes. Nosotros utilizamos los de Ionos. (y selecciona Servidores > Alojamiento VPS)

También puede elegir un MQTT Broker listo para usar en Internet o una aplicación Android como MQTT Broker (para pruebas).

Pruebe nuestro MQTT Broker

Antes de empezar, puede probar nuestro broker MQTT con un tiempo de actividad del 99,99% (disponibilidad)

  • Instale en su PC Widnows un cliente MQTT: MQTT Explorer
  • Configure una nueva conexión
  • Host = aceautomation.ddns.net o 101b7a0.online-server.cloud
  • Puerto = 1883
  • Nombre de usuario = aceautomation
  • Contraseña = (Por favor contáctenos para obtenerla – Este servidor MQTT es un broker de prueba para nuestros clientes, no para uso permanente)
  • ¡Conectar !

Seleccione el VPS adecuado del proveedor de su elección

El coste de un VPS es aproximadamente de 1€ a 4€ /mes. Puede abrir una cuenta con Ionos y seleccionar VPS cloud hosting.

  • Linux (Debian o similar)
  • CPU: 1 vCore o más, RAM: 0.5 Go o más, SSD: 10 Go o más

Políticas de cortafuegos

A través del Dashboard de su VPS, añada el puerto TCP 1883 para el Broker MQTT

Los otros puertos están ahí por defecto. Necesitará el puerto TCP 22 para un acceso SSH. Los otros no se utilizan.

Conectarse al Servidor VPS vía SSH

Puede utilizar PuTTY como cliente SSH para conectarse.
Ingrese su Nombre de Host o IP y 22 como puerto, y conéctese.
El nombre de usuario (root o admin ?) y la contraseña son los proporcionados por su proveedor de VPS.

Instalar MQTT Broker

Vamos a instalar el Broker MQTT de Mosquitto.

Introduzca los comandos:
sudo apt update
sudo apt install -y mosquitto

El servicio de broker MQTT se iniciará automáticamente una vez finalizada la instalación.

Estado de la instalación de Mosquitto Broker

Introduzca los comandos: sudo systemctl status mosquitto para comprobar la instalación de Mosquitto MQTT : Asegúrese de que el paquete está«Cargado: …» y«Activo: …»

Opcional: Pruebe localmente el Broker Mosquitto

También puede instalar el cliente Mosquitto si lo desea. Esto puede ser útil para probar el broker MQTT en el propio servidor.

  • Introduzca los comandos: sudo apt-get install mosquitto-clients y confirme la instalación
  • Abra una segunda interfaz de línea de comandos (CLI) utilizando PuTTY
    • suscríbase a un tema de prueba llamado » mymqtttesttopic» introduciendo: mosquitto_sub -h localhost -t mymqtttesttopic
    • A continuación, publique un mensaje desde el otro terminal: mosquitto_pub -h localhost -t mymqtttesttopic -m "Enviado desde mi propio Broker MQTT"
    • Si la instalación funciona correctamente, el terminal de suscripción recibirá el mensaje:

Detener, ejecutar y reiniciar Mosquitto

El servicio de broker MQTT se inició automáticamente después de completar la instalación, pero es útil conocer estos comandos, especialmente después de modificar el archivo de configuración de Mosquitto:

Detener el servicio del servidor MQTT: sudo systemctl stop mosquitto
Iniciar el servicio de servidor MQTT: sudo systemctl start mosquitto
Reinicie el servicio MQTT Server: sudo systemctl restart mosquitto

Proteger el servidor MQTT

MQTT Server lee la información de configuración de la siguiente ubicación: /etc/mosquitto/conf.d

Cree un default.conf bajo el directorio:

sudo nano /etc/mosquitto/conf.d/default.conf

Estás en el editor de texto. Es posible que le pida su contraseña para el usuario SSH

Pegue la siguiente información para desactivar las conexiones anónimas y permitir que Mosquitto lea credenciales válidas del archivo /etc/mosquitto/passwd:

allow_anonymous false
password_file /etc/mosquitto/passwd
oyente 1883

  • [Ctrl] [X]
  • [Y]
  • [Enter] para guardar el archivo en /etc/mosquitto/conf.d/default.conf

Añadir una contraseña al Broker MQTT

Sustituya USUARIO por su nombre de usuario en este comando y ejecútelo:

sudo mosquitto_passwd -c /etc/mosquitto/passwd USUARIO

Te pedirá dos veces la nueva contraseña

Reinicie el servicio mosquitto para cargar los nuevos cambios:

sudo systemctl restart mosquitto

Conectar un cliente MQTT

Puede utilizar MQTT Explorer como cliente MQTT

Host = Dirección IP o nombre de host DNS
Puerto = 1883
Nombre de usuario = USUARIO que ha elegido en la sección anterior
Contraseña = CONTRASEÑA que también ha elegido en la sección anterior

Añadir varios usuarios sin que puedan ver los temas de los demás

Para cada usuario

Añadir usuario2:


sudo mosquitto_passwd /etc/mosquitto/passwd usuario2

Crear el archivo ACL (Access Control List). Este archivo define lo que cada usuario puede hacer


sudo nano /etc/mosquitto/acl_file

Añade estas líneas:

usuario usuario2
topic read write user2/#

Esto permite a cada usuario leer y escribir sólo en los temas que comienzan con su nombre de usuario.

  • [Ctrl] [X]
  • [Y]
  • [Enter] para guardar el archivo en /etc/mosquitto/acl_file
Modificación de la configuración de Mosquitto

Edite el archivo de configuración principal:

sudo nano /etc/mosquitto/mosquitto.conf

Añada o modifique estas líneas:

allow_anonymous false
password_file /etc/mosquitto/passwd_file
acl_file /etc/mosquitto/acl_file

Esto le dice a Mosquitto que use su contraseña y archivos ACL, y no permita el acceso anónimo.

Reinicie el servicio del servidor MQTT:

sudo systemctl restart mosquitto