Invoering

Mosquitto Message Queuing Telemetry Transport (MQTT) is een robuuste, open source berichtenmakelaar die de implementatie van MQTT-protocolversie 3.1 en versie 3.1.1 mogelijk maakt. Het is een lichtgewicht applicatie die handige methoden biedt om berichten door te sturen via een publish / subscribe model.


De tool is ontworpen voor gebruik op verschillende soorten IoT-apparaten, waaronder energiezuinige machines met één board en volledige servers.

Deze tutorial helpt je bij het installeren en instellen van Mosquitto MQTT op je Ubuntu 18.04-server.

Voordat je start

Om Mosquitto MQTT foutloos te implementeren, hebt u het volgende nodig:

  • Een unieke domeinnaam die verwijst naar de server. In deze handleiding wordt de domeinnaam gebruikt mqtt.mijndomein.com.
  • Ongebruikte poort 80 op uw Ubuntu 18.04-server.

Stap 1 – MosQuitto MQTT installeren

Het eerste dat u bij het installeren van deze software moet doen, is een aangepaste opslagplaats implementeren waarmee u de meest recente Certbot-versie kunt installeren. Voer de onderstaande opdracht uit om dit te bereiken:

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

Selecteer ENTER om de installatie te bevestigen. Voer vervolgens de onderstaande opdracht uit om Certbot en Mosquitto te installeren:

$ Sudo apt certbot mosquitto mosquitto-clients installeren

Stap 2 – Het SSL-certificaat verkrijgen

Zodra de software is geïnstalleerd, kunt u de SSL-certificaten ophalen. Maar voer eerst de onderstaande opdracht uit om poort 80 in de firewall toe te staan:

$ Sudo ufw staat 80 toe

Gebruik vervolgens de onderstaande opdracht om Certbot te instrueren om naar het certificaat te zoeken.

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

Notitie: Vergeet niet te vervangen mqtt.mydomian.com met uw specifieke domeinnaam.

Voer uw officiële e-mailadres in wanneer u wordt gevraagd uw e-mailadres op te geven en accepteer de voorwaarden. Zodra dat is gebeurd, ontvang je een bericht waarin het succes van het proces wordt bevestigd. U krijgt ook te horen waar het certificaat is opgeslagen.

Nu kunt u doorgaan met de installatie en Mosquitto MQTT configureren om de SSL-certificaten te gebruiken.

Stap 3 – Mosquitto MQTT instellen

Het eerste dat u bij het configureren van Mosquitto MQTT voor het gebruik van het SSL-certificaat moet doen, is het wachtwoordbestand te maken met de mosquitto_passwd commando. Dit bestand bevindt zich in de directory; / etc / mosquitto / passwd, en het maakt het voor Mosquitto gemakkelijk om alle verbindingen te verifiëren.

$ Sudo mosquitto_passwd -c / etc / mosquitto / passwd uw-gebruikersnaam

Voer desgevraagd tweemaal uw wachtwoord in. Voer vervolgens de onderstaande opdracht uit om het nieuwe Mosquitto-configuratiebestand te openen:

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

Dit bestand moet leeg zijn. Voeg nu de onderstaande inhoud toe aan dit bestand:

allow_anonymousfalse
wachtwoord_bestand / etc / mosquitto / passwd

luisteraar 1883 localhost

luisteraar 8883
certfile /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.mydomain.com/chain.pem
keyfile /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

luisteraar 8083
protocol websockets
certfile /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.maydomain.com/chain.pem
keyfile /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

Sla het bestand op en sluit het af, voer vervolgens de onderstaande opdracht uit om Mosquitto opnieuw op te starten en de wijzigingen door te voeren.

$ Sudo systemctl herstart mug

Voer vervolgens de onderstaande opdracht uit om de status van Mosquitto te controleren:

$ Sudo systemctl status mug

Dit geeft je een uitvoer zoals hieronder:

● mosquitto.service- LSB: mosquittoMQTTv3.1messagebroker
Loaded: loaded (/etc/init.d/mosquitto;generated)
Actief: actief (actief) sindsMon2018-08-1714: 03: 42UTC; 2min39sago
Documenten: man: systemd-sysv-generator (8)
Proces: 6683ExecStop = / etc / init.d / mosquittostop (code = afgesloten, status = 0 / SUCCES)
Proces: 6699ExecStart = / etc / init.d / mosquittostart (code = afgesloten, status = 0 / SUCCES)
Taken: 1 (limiet: 1152)
CGroup: /system.slice/mosquitto.service
└─6705 / usr / sbin / mosquitto-c / etc / mosquitto / mosquitto.conf

Als Mosquitto niet actief is (actief), controleer dan het configuratiebestand en start de Mosquitto opnieuw.

Voer nu de onderstaande opdracht uit om aanvullende informatie in het logbestand van de Mosquitto te bekijken:

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

Als alles in orde is, voer je de onderstaande opdrachten uit om poort 8883 en 8083 toe te staan:

$ Sudo ufw staat 8883 toe
$ Sudo ufw staat 8083 toe

Dat is het! Mosquitto is volledig geconfigureerd. Onze installatie is echter nog niet compleet; we moeten Certbot instellen om Mosquitto altijd opnieuw op te starten wanneer de certificaten worden vernieuwd.

Stap 4 – Certibot-verlengingen instellen

Certbot is ontworpen om SSL-certificaten te verlengen vóór hun vervaldatum. Certbot is echter niet geconfigureerd om Mosquitto opnieuw te starten nadat de certificaten zijn vernieuwd.

Voer de onderstaande opdracht uit om het conf-bestand voor Certbot-verlenging te openen:

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

We voegen een renew_hook naar de laatste regel van dit configuratiebestand:

renew_hook = systemctl herstart mug

Sla het bestand op en sluit nano af. Voer vervolgens de onderstaande opdracht uit om te controleren of de syntaxis correct is:

$ sudo certbot renew –dry-run

Als er geen fouten zijn, is de installatie in orde.

Stap 5 – De MosQuitto MQTT verifiëren

Voer eerst de onderstaande opdracht uit om u te abonneren op een testonderwerp op uw localhost-listener:

$ Mosquitto_sub -h localhost -t test -u "uw-gebruiker" -P "uw wachtwoord"

Publiceer vervolgens het testonderwerp met de mosquitto_pub:

$ Mosquitto_pub -h localhost -t test -m "Hallo Wereld" -u "uw-gebruiker" -P "uw wachtwoord"

Als u zich wilt abonneren via een beveiligde lister op poort 8883, voert u de onderstaande opdracht uit:

$ Mosquitto_sub -h mqtt.mydomain.com -t test -p 8883 –capath / etc / ssl / certs / -u "je gebruikersnaam" -P "uw wachtwoord"

Voer vervolgens de onderstaande opdracht uit om te publiceren:

$ Mosquitto_pub -h mqtt.mydomain.com -t test -m "Hallo Wereld" -p 8883 –capath / etc / ssl / certs / -u "je gebruikersnaam" -P "uw wachtwoord"

Nu testen we de functionaliteit van de WebSocket met behulp van de Paho javascript-client; een browsergebaseerde client voor MQTT. Volg ditkoppeling om de client te openen. Dit brengt u naar deze pagina:

Hoe installeer en configureer je Mosquitto MQTT op je Ubuntu 18.04-server?

Voer de details in zoals hieronder:

  • Gastheer: Voer de Mosquitto-serverdomeinnaam in
  • Haven: 8083
  • ClinetId: Verander de standaardwaarde niet
  • Pad: Laat het zoals het is
  • Gebruikersnaam: Voer de gebruikersnaam in zoals aangegeven in stap drie
  • Wachtwoord: Geef het wachtwoord op dat in stap drie is gemaakt

Laat alle andere velden op de standaardwaarden staan. druk op Aansluiten om de client naar uw Ubuntu-server te sturen, gebruik dan de Inschrijven knop om in te schrijven en Bericht publiceren knop om het bericht te publiceren.

Conclusie

Dat is alles! U hebt Mosquitto MQTT-berichtenmakelaar met succes geïnstalleerd en geconfigureerd op uw Ubuntu 18.04-systeem. U kunt nu de kracht van dit berichtenplatform benutten om uw domotica, IoT en andere soortgelijke projecten te implementeren.

Bekijk deze top 3 Linux-hostingservices

FastComet

Beginprijs:
$ 2,95


Betrouwbaarheid
9.7


Prijzen
9.5


Gebruikersvriendelijk
9.7


Ondersteuning
9.7


Kenmerken
9.6

Lees recensies

Bezoek FastComet

Hostinger

Beginprijs:
$ 0,99


Betrouwbaarheid
9.3


Prijzen
9.3


Gebruikersvriendelijk
9.4


Ondersteuning
9.4


Kenmerken
9.2

Lees recensies

Bezoek Hostinger

ChemiCloud

Beginprijs:
$ 2,76


Betrouwbaarheid
10


Prijzen
9,9


Gebruikersvriendelijk
9,9


Ondersteuning
10


Kenmerken
9,9

Lees recensies

Bezoek ChemiCloud

Gerelateerde How-To-artikelen

  • Hoe SSH File Transfer Protocol (SFTP) te configureren zonder Shell-toegang op Ubuntu 18.04
    Nieuweling
  • Hoe verander je de Apache Web Root naar een andere directory op een Ubuntu 18.04 VPS of Dedicated Server
    gemiddeld
  • Hoe phpIPAM op Ubuntu 18.04 te installeren
    gemiddeld
  • Hoe Vanilla Forum op Ubuntu 18.04 Server in te stellen
    gemiddeld
  • Hoe Vagrant op Ubuntu te installeren 18
    gemiddeld
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me