¿Cómo instalar y configurar Mosquitto MQTT en su servidor Ubuntu 18.04?

Introducción

Mosquitto Message Queuing Telemetry Transport (MQTT) es un agente de mensajes robusto de código abierto que facilita la implementación del protocolo MQTT versión 3.1 y versión 3.1.1. Es una aplicación ligera que ofrece métodos convenientes para transmitir mensajes a través de un modelo de publicación / suscripción..


La herramienta está diseñada para su uso en diferentes tipos de dispositivos IoT, incluidas máquinas de placa única de baja potencia y servidores completos.

Este tutorial lo ayudará a instalar y configurar Mosquitto MQTT en su servidor Ubuntu 18.04.

Antes de que empieces

Para implementar Mosquitto MQTT sin problemas, necesitará lo siguiente:

  • Un nombre de dominio único que apunta al servidor. Esta guía utilizará el nombre de dominio. mqtt.mydomain.com.
  • Puerto 80 no utilizado en su servidor Ubuntu 18.04.

Paso 1 – Instalación de MosQuitto MQTT

Lo primero al instalar este software es implementar un repositorio personalizado que le permitirá instalar la versión más reciente de Certbot. Ejecute el siguiente comando para lograr esto:

$ sudo add-apt-repository ppa: certbot / certbot

Seleccione ENTRAR para confirmar la instalación A continuación, ejecute el siguiente comando para instalar Certbot y Mosquitto:

$ Sudo apt install certbot mosquitto mosquitto-clients

Paso 2 – Obteniendo el Certificado SSL

Una vez que se instala el software, puede obtener los certificados SSL. Pero primero, ejecute el siguiente comando para permitir el puerto 80 en el firewall:

$ Sudo ufw permite 80

Luego, use el siguiente comando para indicar a Certbot que busque el certificado.

$ Sudo certbot certonly –standalone –preferred-challenge http -d mqtt.mydomain.com

Nota: Recuerde reemplazar mqtt.mydomian.com con tu nombre de dominio específico.

Cuando se le solicite que proporcione su dirección de correo electrónico, ingrese su correo electrónico oficial y acepte los términos. Una vez hecho esto, recibirá un mensaje que confirma el éxito del proceso. También se le informará dónde se almacenó el certificado..

Ahora, puede continuar con la instalación y configurar Mosquitto MQTT para usar los certificados SSL.

Paso 3 – Configuración de Mosquitto MQTT

Lo primero al configurar Mosquitto MQTT para usar el certificado SSL es crear el archivo de contraseña usando mosquitto_passwd mando. Este archivo se ubicará en el directorio; / etc / mosquitto / passwd, y facilita a Mosquitto verificar todas las conexiones.

$ Sudo mosquitto_passwd -c / etc / mosquitto / passwd su-nombre de usuario

Previa solicitud, ingrese su contraseña dos veces. A continuación, ejecute el siguiente comando para abrir el nuevo archivo de configuración de Mosquitto:

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

Este archivo debe estar vacío. Ahora, agregue el contenido a continuación a este archivo:

allow_anonymousfalse
archivo_contraseña / etc / mosquitto / passwd

oyente 1883 localhost

oyente 8883
archivo de certificado /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.mydomain.com/chain.pem
archivo de claves /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

oyente 8083
protocolo websockets
archivo de certificado /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.maydomain.com/chain.pem
archivo de claves /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

Guarde y salga del archivo, luego ejecute el siguiente comando para reiniciar Mosquitto y permita que los cambios surtan efecto.

$ Sudo systemctl reiniciar mosquitto

A continuación, ejecute el siguiente comando para verificar el estado de Mosquitto:

$ Sudo systemctl status mosquitto

Esto le dará una salida como la siguiente:

● mosquitto.service- LSB: mosquittoMQTTvv.1.1messagebroker
Cargado: cargado (/etc/init.d/mosquitto;generated)
Activo: activo (en ejecución) desde Lun2018-08-1714: 03: 42UTC; 2min39sago
Documentos: man: systemd-sysv-generator (8)
Proceso: 6683ExecStop = / etc / init.d / mosquittostop (código = salido, estado = 0 / ÉXITO)
Proceso: 6699ExecStart = / etc / init.d / mosquittostart (código = salido, estado = 0 / ÉXITO)
Tareas: 1 (límite: 1152)
CGroup: /system.slice/mosquitto.service
706705 / usr / sbin / mosquitto-c / etc / mosquitto / mosquitto.conf

Si Mosquitto no está activo (en ejecución), verifique el archivo de configuración, luego inicie Mosquitto nuevamente.

Ahora, ejecute el siguiente comando para ver información adicional en el archivo de registro de Mosquitto:

$ Sudo tail /var/log/mosquitto/mosquitto.log

Si todo está bien, ejecute los siguientes comandos para permitir los puertos 8883 y 8083:

$ Sudo ufw permite 8883
$ Sudo ufw permite 8083

¡Eso es! Mosquitto está completamente configurado. Sin embargo, nuestra instalación aún no está completa; necesitamos configurar Certbot para reiniciar Mosquitto siempre que se renueven los certificados.

Paso 4 – Configuración de renovaciones de Certibot

Certbot está diseñado para renovar certificados SSL antes de su fecha de vencimiento. Sin embargo, Certbot no está configurado para reiniciar Mosquitto una vez que se renuevan los certificados.

Ejecute el siguiente comando para abrir el archivo conf para la renovación de Certbot:

$ sudo nano /etc/letsencrypt/renewal/mqtt.mydomain.com.conf

Agregaremos un renovar_gancho a la línea final de este archivo de configuración:

renew_hook = systemctl reiniciar mosquitto

Guarde el archivo y salga de nano. A continuación, ejecute el siguiente comando para verificar si la sintaxis es correcta:

$ sudo certbot renovar –dry-run

Si no hay errores, entonces la configuración está bien.

Paso 5 – Verificando el MosQuitto MQTT

Primero, ejecute el siguiente comando para suscribirse a un tema de prueba en su escucha localhost:

$ Mosquitto_sub -h localhost -t prueba -u "su usuario" -PAGS "tu contraseña"

A continuación, publique el tema de prueba con el mosquitto_pub:

$ Mosquitto_pub -h localhost -t prueba -m "Hola Mundo" -tu "su usuario" -PAGS "tu contraseña"

Alternativamente, si desea suscribirse a través de una lista segura en el puerto 8883, ejecute el siguiente comando:

$ Mosquitto_sub -h mqtt.mydomain.com -t test -p 8883 –capath / etc / ssl / certs / -u "su nombre de usuario" -PAGS "tu contraseña"

A continuación, ejecute el siguiente comando para publicar:

$ Mosquitto_pub -h mqtt.mydomain.com -t prueba -m "Hola Mundo" -p 8883 –capath / etc / ssl / certs / -u "su nombre de usuario" -PAGS "tu contraseña"

Ahora, probaremos la funcionalidad de WebSocket utilizando el cliente Paho javascript; un cliente basado en navegador para MQTT. Sigue estoenlace para abrir el cliente Esto lo llevará a esta página:

¿Cómo instalar y configurar Mosquitto MQTT en su servidor Ubuntu 18.04?

Ingrese los detalles a continuación:

  • Anfitrión: Ingrese el nombre de dominio del servidor Mosquitto
  • Puerto: 8083
  • ClinetId: No cambie el valor predeterminado
  • Camino: Déjalo así
  • Nombre de usuario: Ingrese el nombre de usuario como se proporciona en el paso tres
  • Contraseña: Proporcione la contraseña creada en el paso tres

Deje todos los demás campos a los valores predeterminados. prensa Conectar para contentar al cliente a su servidor Ubuntu, luego, use el Suscribir botón para suscribirse y Publicar mensaje botón para publicar el mensaje.

Conclusión

¡Eso es todo! Ha instalado y configurado correctamente el agente de mensajes Mosquitto MQTT en su sistema Ubuntu 18.04. Ahora puede aprovechar el poder de esta plataforma de mensajería para implementar su domótica, IoT y otros proyectos similares..

Echa un vistazo a estos 3 principales servicios de alojamiento Linux

FastComet

Precio inicial:
$ 2.95


Fiabilidad
9,7


Precios
9.5


Fácil de usar
9,7


Apoyo
9,7


Caracteristicas
9.6

Leer comentarios

Visita FastComet

Hostinger

Precio inicial:
$ 0.99


Fiabilidad
9.3


Precios
9.3


Fácil de usar
9.4


Apoyo
9.4


Caracteristicas
9.2

Leer comentarios

Visita Hostinger

ChemiCloud

Precio inicial:
$ 2.76


Fiabilidad
10


Precios
9,9


Fácil de usar
9,9


Apoyo
10


Caracteristicas
9,9

Leer comentarios

Visita ChemiCloud

Artículos de procedimientos relacionados

  • Cómo configurar el protocolo de transferencia de archivos SSH (SFTP) sin acceso a Shell en Ubuntu 18.04
    novato
  • Cómo cambiar la raíz web de Apache a otro directorio en un Ubuntu 18.04 VPS o servidor dedicado
    intermedio
  • Cómo instalar phpIPAM en Ubuntu 18.04
    intermedio
  • Cómo configurar Vanilla Forum en el servidor Ubuntu 18.04
    intermedio
  • Cómo instalar Vagrant en Ubuntu 18
    intermedio
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me