MQTT Server · 6 min read · Oct 31, 2025
So installieren Sie den Mosquitto MQTT-Server auf Ubuntu 22.04

Mosquitto ist eine kostenlose, Open-Source- und leichtgewichtige Serverimplementierung des MQTT-Protokolls. Es ist für alle Geräte konzipiert, von energieeffizienten Einplatinencomputern bis hin zu vollständigen Servern. MQTT arbeitet über dem TCP/IP-Protokoll und nutzt Ihr bestehendes Internet-Heimnetzwerk, um Nachrichten an Ihre IoT-Geräte zu senden und auf diese Nachrichten zu reagieren. Es ist in C geschrieben, was es schneller und effizienter macht als andere MQTT-Broker.
Dieser Beitrag zeigt Ihnen, wie Sie den Mosquitto-Server auf Ubuntu 22.04 installieren.
Voraussetzungen
- Ein Server, der Ubuntu 22.04 ausführt.
- Ein Root-Passwort ist auf Ihrem Server konfiguriert.
Installieren Sie die erforderlichen Abhängigkeiten
Bevor Sie beginnen, wird empfohlen, alle Systempakete auf die aktualisierte Version zu aktualisieren und zu upgraden. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
apt update -y
apt upgrade -yNachdem Sie alle Pakete aktualisiert haben, führen Sie den folgenden Befehl aus, um die anderen erforderlichen Pakete zu installieren:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -ySobald alle erforderlichen Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie den Mosquitto-Server
Standardmäßig ist das Mosquitto-Paket im Standard-Repo von Ubuntu 22.04 nicht verfügbar. Daher müssen Sie das offizielle Repository von Mosquitto zu APT hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:
add-apt-repository ppa:mosquitto-dev/mosquitto-ppa -ySobald das Repository zu APT hinzugefügt wurde, können Sie es mit dem folgenden Befehl installieren:
apt install mosquitto mosquitto-clients -ySobald die Installation abgeschlossen ist, können Sie den Status von Mosquitto mit dem folgenden Befehl überprüfen:
systemctl status mosquittoSie sollten die folgende Ausgabe sehen:
? mosquitto.service - Mosquitto MQTT Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-12-06 04:50:33 UTC; 8s ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Process: 5491 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
Process: 5492 ExecStartPre=/bin/chown mosquitto:mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
Process: 5493 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
Process: 5494 ExecStartPre=/bin/chown mosquitto:mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
Main PID: 5495 (mosquitto)
Tasks: 1 (limit: 2242)
Memory: 1.3M
CPU: 23ms
CGroup: /system.slice/mosquitto.service
??5495 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Dec 06 04:50:32 ubuntu2204 systemd[1]: Starting Mosquitto MQTT Broker...
Dec 06 04:50:33 ubuntu2204 systemd[1]: Started Mosquitto MQTT Broker.
Erstellen Sie ein MQTT-Administrationspasswort
Aus Sicherheitsgründen wird empfohlen, die Passwortauthentifizierung für MQTT zu konfigurieren.
Lassen Sie uns einen Admin-Benutzer und ein Passwort mit dem folgenden Befehl einrichten:
mosquitto_passwd -c /etc/mosquitto/passwd hiteshLegen Sie ein Passwort fest, wie unten gezeigt:
Password:
Reenter password:
Als Nächstes bearbeiten Sie die MQTT-Konfigurationsdatei und definieren den Port und die Passwortdatei.
nano /etc/mosquitto/conf.d/default.confFügen Sie die folgenden Zeilen hinzu:
listener 1883
password_file /etc/mosquitto/passwd
Speichern und schließen Sie die Datei, und starten Sie dann den Mosquitto-Dienst neu, um die Änderungen anzuwenden.
systemctl restart mosquittoSo verwenden Sie MQTT zum Senden und Empfangen von Nachrichten
Sie müssen den Mosquitto-Client verwenden, um eine Verbindung zum Mosquitto-Server herzustellen und dann Nachrichten zu verschiedenen Themen zu senden und zu empfangen.
Bevor Sie Nachrichten senden und empfangen, müssen Sie sich für ein Thema anmelden. Sie können eines der folgenden Themen in der Hausautomatisierung verwenden.
- home/lights/sitting_room
- home/lights/kitchen
- home/lights/master_bedroom
- home/lights/kids_bedroom
Lassen Sie uns den folgenden Befehl ausführen, um sich für das Thema home/lights/kids_bedroom anzumelden.
mosquitto_sub -u hitesh -P password -t "home/lights/kids_bedroom"Öffnen Sie als Nächstes die neue Terminaloberfläche und veröffentlichen Sie eine Nachricht an das Thema home/lights/kids_bedroom mit dem folgenden Befehl.
mosquitto_pub -u hitesh -P password -m "ON" -t "home/lights/kids_bedroom"Im ersten Terminal erhalten Sie die ON-Nutzlast:
ON
Gehen Sie jetzt zum zweiten Terminal und senden Sie die OFF-Nachricht zum selben Thema.
mosquitto_pub -u hitesh -P password -m "OFF" -t "home/lights/kids_bedroom"Sie sollten die folgende Nachricht im ersten Terminal sehen:
ON
OFF
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Sichern Sie Mosquitto mit Let’s Encrypt SSL
Um Mosquitto mit SSL zu sichern, müssen Sie das Certbot-Clientpaket auf Ihrem Server installieren.
Zuerst installieren Sie den Snap-Paketmanager mit dem folgenden Befehl:
apt install snapdAktualisieren Sie als Nächstes das Snap-Paket mit dem folgenden Befehl:
snap install core
snap refresh coreInstallieren Sie als Nächstes das Certbot-Paket mit dem folgenden Befehl:
snap install --classic certbotErstellen Sie als Nächstes einen symbolischen Link der Certbot-Binärdatei zum Systemstandort.
ln -s /snap/bin/certbot /usr/bin/certbotFühren Sie als Nächstes den folgenden Befehl aus, um ein SSL-Zertifikat zu generieren.
certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d mosquitto.linuxbuz.comSie sollten die folgende Ausgabe sehen:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for mosquitto.linuxbuz.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/mosquitto.linuxbuz.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/mosquitto.linuxbuz.com/privkey.pem
This certificate expires on 2023-03-06.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sie können alle generierten Zertifikatsdateien mit dem folgenden Befehl anzeigen:
ls /etc/letsencrypt/live/mosquitto.linuxbuz.com/Sie erhalten die folgende Ausgabe:
cert.pem chain.pem fullchain.pem privkey.pem README
Generieren Sie als Nächstes ein Diffie-Hellman-Zertifikat mit dem folgenden Befehl:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Konfigurieren Sie MQTT zur Verwendung von Let’s Encrypt SSL
Zuerst kopieren Sie alle generierten Zertifikate in das Mosquitto-Verzeichnis mit dem folgenden Befehl:
cp /etc/letsencrypt/live/mosquitto.linuxbuz.com/fullchain.pem /etc/mosquitto/certs/server.pem
cp /etc/letsencrypt/live/mosquitto.linuxbuz.com/privkey.pem /etc/mosquitto/certs/server.keySetzen Sie als Nächstes die richtigen Berechtigungen für das Mosquitto-Zertifikat.
chown -R mosquitto: /etc/mosquitto/certsBearbeiten Sie als Nächstes die Mosquitto-Konfigurationsdatei und definieren Sie das Let’s Encrypt SSL.
nano /etc/mosquitto/conf.d/default.confFügen Sie die folgenden Zeilen hinzu:
listener 8883
certfile /etc/mosquitto/certs/server.pem
cafile /etc/ssl/certs/ISRG_Root_X1.pem
keyfile /etc/mosquitto/certs/server.key
dhparamfile /etc/ssl/certs/dhparam.pem
Speichern und schließen Sie die Datei, und starten Sie dann den Mosquitto-Dienst neu, um die Änderungen anzuwenden.
systemctl restart mosquittoÜberprüfen Sie als Nächstes die Mosquitto-Verbindung mit dem folgenden Befehl:
mosquitto_pub -h mosquitto.linuxbuz.com -t "home/lights/kids_bedroom" -m "hello" -p 8883 --capath /etc/ssl/certs/ -u hitesh -P passwordSobald Sie fertig sind, können Sie die Mosquitto-Verbindung über den Webbrowser testen.
Konfigurieren Sie Mosquitto-Websockets
Als Nächstes müssen Sie Websockets konfigurieren, um das MQTT-Protokoll aus Browsern heraus zu verwenden. Sie können es aktivieren, indem Sie die Standardkonfigurationsdatei von Mosquitto bearbeiten:
nano /etc/mosquitto/conf.d/default.confFügen Sie die folgenden Zeilen hinzu:
listener 8083
protocol websockets
certfile /etc/mosquitto/certs/server.pem
cafile /etc/ssl/certs/ISRG_Root_X1.pem
keyfile /etc/mosquitto/certs/server.key
dhparamfile /etc/ssl/certs/dhparam.pem
Speichern und schließen Sie die Datei, und starten Sie dann den Mosquitto-Dienst neu, um die Änderungen anzuwenden.
systemctl restart mosquittoÖffnen Sie als Nächstes Ihre Terminaloberfläche und führen Sie den folgenden Befehl aus:
mosquitto_sub -u hitesh -P password -t "home/lights/kids_bedroom"Öffnen Sie jetzt Ihren Webbrowser und verwenden Sie den browserbasierten MQTT-Client, um die WebSockets-Funktionalität zu testen. Sie sollten den folgenden Bildschirm sehen:

Geben Sie Ihren Mosquitto-Server-Host, Port, Benutzernamen, Passwort ein und klicken Sie auf die Schaltfläche Verbinden. Sie sollten den folgenden Bildschirm sehen:

Geben Sie jetzt ein beliebiges Thema, eine Nachricht ein und klicken Sie auf die Schaltfläche Veröffentlichen.
Gehen Sie als Nächstes zurück zur Terminaloberfläche. Sie sollten Ihre veröffentlichte Nachricht in der folgenden Ausgabe sehen:
Hi
Fazit
In diesem Beitrag haben wir erklärt, wie man den Mosquitto-Server installiert und ihn mit Let’s Encrypt SSL auf Ubuntu 22.04 sichert. Wir haben auch Mosquitto über einen browserbasierten Client getestet. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.