====== Installation von Node-RED ====== Für die Installation von Node-RED steht jeder Schülerin und jedem Schüler eine virtuelle Maschine mit einem aktuellen Ubuntu Linux zur Verfügung. Diese Maschine kann per SSH (**Anleitung siehe unten**) oder über die Proxmox-Weboberfläche administriert werden. ===== Installation ===== Die Installation von Node-RED kann auf verschiedene Arten erfolgen. Empfehlenswert ist vorher eine Aktualisierung mit ''apt update''. Am einfachsten ist dies auf unserem System mittels Snap. Damit dies funktioniert, müssen zuerst die Pakete //squashfuse// und //snapd// installiert werden. Das geht mit dem Befehl ''apt -y install squashfuse snapd'' Danach solltest du das System rebooten. ''reboot'' Nach erfolgreichem Reboot kannst du Node-RED mittels Snap installieren: ''snap install node-red'' Falls die Installation fehlschlägt, versuche es noch einmal. Snap startet Node-RED zukünftig automatisch bei jedem Systemstart mit. Du brauchst dich darum nicht mehr zu kümmern. ===== Absicherung des Zugangs ===== Da diese Node-RED-Installation aus dem gesamten Schulnetz erreichbar ist, muss die Web-GUI gegen unbefugte Benutzung abgesichert werden. Einen Grundlegenden Schutz bietet eine Passwortsicherung für den Admin-Zugriff. Im Produktivbetrieb wäre es unabdingbar zusätzlich auch für eine verschlüsselte Übertragung mittels TLS zu sorgen. Der Passwortschutz wird aktiviert, indem in der Konfigurationsdatei die Kommentarzeichen vor dem **entsprechenden Block** ''adminAuth'' entfernt werden und der bcrypt-Hash-Wert durch einen selbst erzeugten ausgetauscht wird. Die Datei kann wieder mit **nano** oder einem beliebigen anderen Editor bearbeitet werden. Der Pfad zur Konfigurationsdatei lautet bei einer Installation via Snap: ''/var/snap/node-red/current/settings.js'' /******************************************************************************* * Security * - https * - httpsRefreshInterval * - requireHttps * - httpNodeAuth * - httpStaticAuth ******************************************************************************/ /** To password protect the Node-RED editor and admin API, the following * property can be used. See http://nodered.org/docs/security.html for details. */ //adminAuth: { // type: "credentials", // users: [{ // username: "admin", // password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.", // permissions: "*" // }] //}, Ein Hash-Wert für ein neues Kennwort lässt sich z. B. online auf: [[https://bcrypt-generator.com/]] erzeugen. Das ist aus Sicherheitsgesichtspunkten bei einem Produktivsystem nicht optimal aber für unseren Anwendungsfall in Ordnung. Auf diese Weise brauchen wir nicht noch zusätzliche Software zu installieren. Danach sollte das Snap neu gestartet werden: ''snap restart node-red'' Anschließend ist die Anmeldeseite unter der URL ''http://ip-des-servers:1880'' erreichbar. ===== SSH-Login mit Passwort für root aktivieren ===== Das Vorgehen um die Anmeldung als ''root'' mit Kennwort zu erlauben ist auf [[:ssh_root_login|dieser Seite]] beschrieben. ===== IPv6-Listener für Node-RED aktivieren ===== Standardmäßig hört Node-RED nur über IPv4 auf den Port 1880/tcp. Wenn der Zugriff auf Node-RED auch über IPv6 möglich sein soll, muss ebenfalls die Datei ''/var/snap/node-red/current/settings.js'' angepasst werden. Die Konfigurationszeile ''uiHost'' muss entkommentiert werden und auf ''uiHost: "::",'' gesetzt werden. Danach ''snap restart node-red'' nicht vergessen.