Wie können wir helfen?

Print

Wie installiert man einen Cloud MQTT Broker auf einem VPS (Virtual Private Server)?

 

Dieses Tutorial ist nützlich, um einen Cloud MQTT Broker auf einem VPS (Virtual Private Server) zum Testen und Bereitstellen Ihrer MQTT-Projekte einzurichten.

Mit dieser Art von MQTT-Broker sind Sie unabhängig, seine Verfügbarkeit beträgt 99,99 % und seine Kosten sind sehr erschwinglich.
Die Kosten für einen VPS liegen bei etwa 1€ bis 4€/Monat. Wir verwenden die von Ionos. (und wählen Sie Servers > VPS Hosting)

Sie können auch einen gebrauchsfertigen MQTT Broker im Internet oder eine Android-App wie MQTT Broker (zum Testen) wählen.

Testen Sie unseren MQTT Broker

Bevor Sie beginnen, können Sie unseren MQTT Broker mit einer Verfügbarkeit von 99,99% testen

  • Installieren Sie auf Ihrem Widnows PC einen MQTT Client: MQTT-Explorer
  • Richten Sie eine neue Verbindung ein
  • Host = aceautomation.ddns.net oder 101b7a0.online-server.cloud
  • Anschluss = 1883
  • Benutzername = aceautomation
  • Passwort = (Bitte kontaktieren Sie uns, um es zu erhalten – dieser MQTT-Server ist ein Test-Broker für unsere Kunden, nicht für den dauerhaften Einsatz)
  • Verbinden !

Wählen Sie den richtigen VPS bei einem Provider Ihrer Wahl

Die Kosten für einen VPS liegen bei etwa 1€ bis 4€/Monat. Sie können ein Konto bei Ionos eröffnen und VPS Cloud Hosting wählen.

  • Linux (Debian oder similare)
  • CPU: 1 vCore oder mehr, RAM: 0,5 Go oder mehr, SSD: 10 Go oder mehr

Firewall-Richtlinien

Fügen Sie über das Dashboard Ihres VPS den TCP-Port 1883 für den MQTT-Brokerhinzu

Die anderen Ports sind standardmäßig vorhanden. Den TCP-Port 22 benötigen Sie für einen SSH-Zugang. Die anderen Ports werden nicht verwendet.

Verbinden Sie sich mit dem VPS-Server über SSH

Sie können PuTTY als SSH-Client für die Verbindung verwenden.
Geben Sie Ihren Hostnamen oder Ihre IP und 22 als Port ein und verbinden Sie sich.
Das Login (root oder admin ?) und das Passwort werden von Ihrem VPS-Provider bereitgestellt.

MQTT-Broker installieren

Installieren wir nun den Mosquitto MQTT Broker.

Geben Sie die Befehle ein:
sudo apt update
sudo apt install -y mosquitto

Der MQTT-Brokerdienst wird nach Abschluss der Installation automatisch gestartet.

Installationsstatus von Mosquitto Broker

Geben Sie die folgenden Befehle ein: sudo systemctl status mosquitto zur Überprüfung der Mosquitto MQTT-Installation: Stellen Sie sicher, dass das Paket„Geladen: …“ und„Aktiv: …“ist

Optional: Testen Sie lokal den Mosquitto Broker

Wenn Sie möchten, können Sie auch den Mosquitto-Client installieren. Dies kann nützlich sein, um den MQTT-Broker auf dem Server selbst zu testen.

  • Geben Sie die folgenden Befehle ein: sudo apt-get install mosquitto-clients und bestätigen Sie die Installation
  • Öffnen Sie eine zweite Kommandozeilenschnittstelle (CLI) mit PuTTY
    • abonnieren Sie ein Testthema mit dem Namen „mymqtttesttopic“ durch Eingabe von: mosquitto_sub -h localhost -t mymqtttesttopic
    • Dann veröffentlichen Sie eine Nachricht vom anderen Terminal aus: mosquitto_pub -h localhost -t mymqtttesttopic -m "Sent from my own MQTT Broker"
    • Wenn die Installation ordnungsgemäß funktioniert, empfängt das Subscribe-Terminal die Nachricht:

Mosquitto anhalten, ausführen und neu starten

Der MQTT-Brokerdienst wurde nach Abschluss der Installation automatisch gestartet, aber es ist nützlich, diese Befehle zu kennen, insbesondere nach Änderungen an der Mosquitto-Konfigurationsdatei:

Stoppen Sie den MQTT-Serverdienst: sudo systemctl stop mosquitto
Starten Sie den MQTT-Server-Dienst: sudo systemctl start mosquitto
Starten Sie den MQTT-Server-Dienst neu: sudo systemctl restart mosquitto

Sichern des MQTT-Servers

MQTT Server liest Konfigurationsinformationen aus dem folgenden Verzeichnis: /etc/mosquitto/conf.d

Erstellen Sie eine default.conf in diesem Verzeichnis:

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

Sie befinden sich im Texteditor. Möglicherweise werden Sie nach Ihrem Passwort für den SSH-Benutzer gefragt

Fügen Sie die folgenden Informationen ein, um anonyme Verbindungen zu deaktivieren und Mosquitto zu erlauben, gültige Anmeldedaten aus der Datei /etc/mosquitto/passwd zu lesen:

allow_anonymous false
passwort_datei /etc/mosquitto/passwd
hörer 1883

  • [Strg] [X]
  • [Y]
  • [Enter] zum Speichern der Datei in /etc/mosquitto/conf.d/default.conf

Hinzufügen eines Passworts zum MQTT-Broker

Ersetzen Sie USER durch Ihren Benutzernamen in diesem Befehl und führen Sie ihn aus:

sudo mosquitto_passwd -c /etc/mosquitto/passwd USER

Es wird zweimal nach dem neuen Passwort gefragt

Starten Sie den mosquitto-Dienst neu, um die neuen Änderungen zu übernehmen:

sudo systemctl restart mosquitto

Verbinden Sie einen MQTT-Client

Sie können den MQTT Explorer als MQTT-Client verwenden

Host = IP-Adresse oder DNS-Hostname
Anschluss = 1883
Benutzername = USER, den Sie im vorherigen Abschnitt gewählt haben
Passwort = PASSWORT, das Sie ebenfalls im vorigen Abschnitt gewählt haben

Mehrere Benutzer hinzufügen, ohne dass sie die Themen der anderen sehen können

Für jeden Benutzer

Benutzer2 hinzufügen:


sudo mosquitto_passwd /etc/mosquitto/passwd user2

Erstellen der ACL-Datei (Access Control List). Diese Datei definiert, was jeder Benutzer tun kann


sudo nano /etc/mosquitto/acl_file

Fügen Sie diese Zeilen hinzu:

benutzer benutzer2
thema lesen schreiben user2/#

Damit kann jeder Benutzer nur die Themen lesen und schreiben, die mit seinem Benutzernamen beginnen.

  • [Strg] [X]
  • [Y]
  • [Enter] um die Datei in /etc/mosquitto/acl_file zu speichern
Ändern der Konfiguration von Mosquitto

Bearbeiten Sie die Hauptkonfigurationsdatei:

sudo nano /etc/mosquitto/mosquitto.conf

Fügen Sie diese Zeilen hinzu oder ändern Sie sie:

allow_anonymous false
passwort_datei /etc/mosquitto/passwd_datei
acl_file /etc/mosquitto/acl_file

Damit wird Mosquitto angewiesen, Ihre Passwort- und ACL-Dateien zu verwenden und den anonymen Zugriff zu unterbinden.

Starten Sie den MQTT-Server-Dienst neu:

sudo systemctl restart mosquitto