MQTT Broker unter Windows Server 2016 installieren

Seit dem letzten MQTT Installationsbeitrag ist einiges passiert. Deshalb ein aktueller Beitrag zur Installation von MQTT auf einem Windows Server 2016. In diesem Beitrag werde ich wieder nur die Basis Installation durchführen. Weitere Konfiguration zur Absicherung des Dienstes beschreibe ich in weiteren Beiträgen.

Vorbereitungen

Mosquitto Install
image-829
Die Installation erfolgt auf einem frisch Installierten Windows Server 2016. Dies ist in etwa das gleiche wie die Installation auf Windows 10. Ich verwende unter Windows immer noch Mosquitto als MQTT Broker. Dieser lässt sich einfach als Service registrieren. Wie sich bei der Installation herausstellt, benötigt Mosquitto einige DLLs und Runtime Bibliotheken. Welche Dateien benötigt werden kann man entweder selber herausfinden, in dem man Mosquitto einfach installiert oder installiert diese Programme & DLLs anhand meiner Liste im voraus. Mosquitto selber ist eine 32 bit Anwendung. Deshalb werde ich auch die Abhängigkeiten als 32 bit Versionen herunterladen und verwenden.

Folgende Abhängigkeiten gibt es:

  • libcrypto-1_1.dll und libssl-1_1.dll aus dem OpenSSL Paket
  • pthreadVC2.dll eine Bibliothek um MultiThread Applikationen zu starten
  • Microsoft Visual C++ Runtime 2010
  • Microsoft Visual C++ Runtime 2013
  • Microsoft Visual C++ Runtime 2015

Am besten erstellt man sich gleich ein Ordner um die Installationsdateien zu sammeln.

OpenSSL Dateien beziehen
Die Dateien von OpenSSL kann man sich bestimmt irgendwo herunterladen aber ich empfehle es, diese lieber aus einer Quelle zu nehmen die höchst wahrscheinlich sicher ist. Dazu lade ich die Win32OpenSSL_Light-1_1_0g.exe von der Seite http://slproweb.com/products/Win32OpenSSL.html herunter. 

Download OpenSSL
image-830

Danach installiert man OpenSSL in ein beliebigen Pfad, da es am ende wieder deinstalliert wird.

Dann kopiert man sich die beiden Dateien (libcrypto-1_1.dll und libssl-1_1.dll) in sein Installationsordner und deinstalliert OpenSSL wieder.

OpenSLL Dateien kopieren
image-831

pthreadVC2.dll herunterladen
Die pthreadVC2.dll kann man sich von der Redhat Seite herunterladen. Dies ist auch die Quelle die Mosquitto während seiner Installation selber vorschlägt.

Download pthreadVC2.dll
image-832

Microsoft Visual Studio C++ Runtime
Diese Runtimes beheben übrigens die Fehlermeldungen mit MSVCR100, MSVCR120 oder MSVCR140.
Fehlermeldung MSVCR100.dll
Die Installationsdateien bekommt man einfach bei Microsoft.

Da die Dateien alle den gleichen Namen haben, habe ich diese unter “2010-vcredist_x86.exe”, “2013-vcredist_x86.exe” und “2015-vc_redist.x86.exe” abgespeichert

Installation

Wenn man alle Dateien zusammen hat, kann man mit der Installation beginnen. Der Installationsordner sollte dann wie auf dem Bild aussehen.

Notwendige Dateien
image-833

VisualStudio C++ Runtime
Als erstes werden die VisualStudio C++ Bibliotheken installiert. Dazu muss man nicht viel machen. Außer die AGBs zu akzeptiert, ist nichts weiter zu tun. Ich habe die unterschiedlichen Versionen in aufsteigender Reihenfolge installiert. Erst Microsoft Visual C++ Runtime 2010, dann 2013 und abschließend 2015.

Kopieren benötigter DLLs
Ist dies durchgelaufen sollte der Installationsort für Mosquitto vor der eigentlichen Installation erstellt werden. In diesen Ordner werden dann die drei DLLs kopiert. Bei mir ist dies der Pfad “D:\Program Files\mosquitto”. Wenn dies vor der eigentlichen Installation gemacht wird umgeht man die Fehlermeldungen bei der Installation von Mosquitto.

Mosquitto Installationsordner
image-834

Installation Mosquitto
Die eigentliche Installation von Mosquitto ist nicht weiter kompliziert. Ich habe mich entschlossen einen Windows Service einzurichten. Anschlissend ist darauf zu achten, den Pfad richtig auszuwählen. In diesem Pfad müssen die DLL-Dateien liegen.

Testen der Installation

Als erstes sollte überprüft werden ob der Dienst gestartet wurde. Einfach Startmenü öffnen und “services.msc” eingeben. Der Dienst heisst “Mosquitto Broker”. Bei mir war der Dienst nicht gestartet. Das starten selbst war aber kein Problem. Ist der Dienst gestartet, kann man in einer DOS Eingabeaufforderung mit “netstat -a” nachschauen ob der TCP-Port 1883 geöffnet ist.

Ist dies der Fall kann man Mosquitto direkt testen. Dafür in einer ersten DOS Eingabeaufforderung in das Mosquitto Verzeichnis “D:\Program Files\mosquitto\” wechseln und folgenden Befehl “mosquitto_sub.exe -d -t hallo/Welt” eingeben, um das topic hallo/Welt zu abonnieren. Nicht vergessen das Laufwerk zu wechseln. In einer zweiten Eingabeaufforderung auch in des Verzeichnis “D:\Program Files\mosquitto\” wechseln. Dort aber eine Nachricht mit “mosquitto_pub.exe -d -t hallo/Welt -m “Hallo Mosquitto”” publizieren.

Das Endergebnis sollte dann wie folgt aussehen.

Mosquitto PUB SUB
image-835

Ist dies alles ohne Fehlermeldungen durchgelaufen, ist Mosquitto bereit um lokale Anfragen entgegen zu nehmen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.