Comment pouvons-nous aider ?

Print

Comment installer un Cloud MQTT Broker sur un VPS (Virtual Private Server)

 

Ce tutoriel est utile pour mettre en place un Cloud MQTT Broker sur un VPS (Virtual Private Server) pour tester et déployer vos projets MQTT.

Avec ce type de broker MQTT, vous êtes indépendant, sa disponibilité est de 99,99% et son coût est très abordable.
Le coût d’un VPS est d’environ 1€ à 4€ /mois. Nous utilisons ceux de Ionos. (et sélectionnez Serveurs > Hébergement VPS)

Vous pouvez également choisir un MQTT Broker prêt à l’emploi sur Internet ou une application Android comme MQTT Broker (pour les tests).

Tester notre courtier MQTT

Avant de commencer, vous pouvez tester notre courtier MQTT avec un temps de disponibilité de 99,99% (disponibilité)

  • Installez sur votre PC Windows un client MQTT : MQTT Explorer
  • Etablissez une nouvelle connexion
  • Hôte = aceautomation.ddns.net ou 101b7a0.online-server.cloud
  • Port = 1883
  • Nom d’utilisateur = aceautomation
  • Mot de passe = (Veuillez nous contacter pour l’obtenir – Ce serveur MQTT est un courtier de test pour nos clients, pas pour une utilisation permanente)
  • Connecter !

Sélectionnez le bon VPS chez le fournisseur de votre choix

Le coût d’un VPS est d’environ 1€ à 4€ /mois. Vous pouvez ouvrir un compte chez Ionos et sélectionner l’hébergement cloud VPS.

  • Linux (Debian ou similaire)
  • CPU : 1 vCore ou plus, RAM : 0,5 Go ou plus, SSD : 10 Go ou plus

Politiques de pare-feu

Via le tableau de bord de votre VPS, ajoutez le port TCP 1883 pour le courtier MQTT

Les autres ports sont présents par défaut. Vous aurez besoin du port TCP 22 pour un accès SSH. Les autres ne sont pas utilisés.

Se connecter au serveur VPS via SSH

Vous pouvez utiliser PuTTY comme client SSH pour vous connecter.
Entrez votre nom d’hôte ou votre IP et 22 comme port, et connectez-vous.
Le login (root ou admin ?) et le mot de passe sont ceux fournis par votre fournisseur de Serveur Virtuel.

Installer le courtier MQTT

Installons le Mosquitto MQTT Broker.

Entrez les commandes suivantes :
sudo apt update
sudo apt install -y mosquitto

Le service de courtage MQTT démarrera automatiquement une fois l’installation terminée.

État de l’installation de Mosquitto Broker

Entrez les commandes : sudo systemctl status mosquitto pour vérifier l’installation de Mosquitto MQTT : Assurez-vous que le paquet est« Loaded : … » et« Active : … »

Facultatif : Testez localement le courtier Mosquitto

Vous pouvez également installer le client Mosquitto si vous le souhaitez. Cela peut être utile pour tester le courtier MQTT sur le serveur lui-même.

  • Entrez les commandes : sudo apt-get install mosquitto-clients et confirmez l’installation
  • Ouvrez une seconde interface de ligne de commande (CLI) en utilisant PuTTY
    • abonnez-vous à un sujet de test nommé « mymqtttesttopic » en entrant : mosquitto_sub -h localhost -t mymqtttesttopic
    • Ensuite, publiez un message depuis l’autre terminal : mosquitto_pub -h localhost -t mymqtttesttopic -m "Sent from my own MQTT Broker"
    • Si l’installation fonctionne correctement, le terminal subscribe recevra le message :

Arrêter, exécuter et redémarrer Mosquitto

Le service de courtage MQTT a démarré automatiquement après l’installation, mais il est utile de connaître ces commandes, surtout après avoir modifié le fichier de configuration de Mosquitto :

Arrêter le service du serveur MQTT : sudo systemctl stop mosquitto
Démarrer le service MQTT : sudo systemctl start mosquitto
Redémarrer le service MQTT : sudo systemctl restart mosquitto

Sécuriser le serveur MQTT

Le serveur MQTT lit les informations de configuration à partir de l’emplacement suivant : /etc/mosquitto/conf.d

Créez un fichier default.conf dans ce répertoire :

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

Vous êtes dans un éditeur de texte. Il vous demandera peut-être votre mot de passe pour l’utilisateur SSH

Collez les informations ci-dessous pour désactiver les connexions anonymes et permettre à Mosquitto de lire des informations d’identification valides dans le fichier /etc/mosquitto/passwd :

allow_anonymous false
password_file /etc/mosquitto/passwd
auditeur 1883

  • [Ctrl] [X]
  • [Y]
  • [Enter] pour enregistrer le fichier dans /etc/mosquitto/conf.d/default.conf

Ajouter un mot de passe au courtier MQTT

Remplacez USER par votre nom d’utilisateur dans cette commande et exécutez :

sudo mosquitto_passwd -c /etc/mosquitto/passwd USER

Il vous demandera deux fois le nouveau mot de passe

Redémarrez le service mosquitto pour prendre en compte les nouvelles modifications :

sudo systemctl restart mosquitto

Connecter un client MQTT

Vous pouvez utiliser MQTT Explorer comme client MQTT

Hôte = adresse IP ou nom d’hôte DNS
Port = 1883
Nom d’utilisateur = UTILISATEUR que vous avez choisi dans la section précédente
Mot de passe = MOT DE PASSE que vous avez également choisi dans la section précédente

Ajouter plusieurs utilisateurs sans qu’ils puissent voir les sujets les uns des autres

Pour chaque utilisateur

Ajouter utilisateur2:


sudo mosquitto_passwd /etc/mosquitto/passwd user2

Création du fichier ACL (Access Control List). Ce fichier définit ce que chaque utilisateur peut faire


sudo nano /etc/mosquitto/acl_file

Ajoutez ces lignes :

user user2
topic read write user2/#

Cela permet à chaque utilisateur de lire et d’écrire uniquement dans les rubriques commençant par son nom d’utilisateur.

  • [Ctrl] [X]
  • [Y]
  • [Enter] pour sauvegarder le fichier dans /etc/mosquitto/acl_file
Modifier la configuration de Mosquitto

Modifiez le fichier de configuration principal :

sudo nano /etc/mosquitto/mosquitto.conf

Ajoutez ou modifiez ces lignes :

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

Ceci indique à Mosquitto d’utiliser vos fichiers de mot de passe et d’ACL, et d’interdire l’accès anonyme.

Redémarrez le service MQTT Server :

sudo systemctl restart mosquitto