Diese Anleitung gilt für Systeme auf Basis von Debian GNU/Linux und damit auch Ubuntu, Linux Mint und Raspberry Pi OS.

Die gezeigten Befehle werden im Terminal ausgeführt.

Bei Fragen und Problemen kannst du dich im Forum melden.

Node.js

Wie bereits in den Voraussetzungen erwähnt, wird Node.js benötigt. Ebenso brauchen wir npm (Node Package Manager), um die Abhängigkeiten zu installieren. Beides kann aus den Paketquellen installiert werden.

sudo apt-get install nodejs npm

Es ist mindestens Node.js in Version 12 erforderlich, empfohlen wird jedoch Version 16. Da in den Paketquellen meist ältere Versionen zu finden sind, empfiehlt es sich, vor der Installation die Paketquellen von NodeSource einzubinden.

Zusätzliche Software

Für die Verarbeitung von Alarmfaxen wird weitere Software benötigt, die mit den folgenden Befehlen installiert und konfiguriert werden kann:

sudo apt-get install imagemagick tesseract-ocr-deu
sudo sed -i.bak '$i\ \ <policy domain="coder" rights="read" pattern="PDF" />' /etc/ImageMagick-6/policy.xml

Server vorbereiten

Lade das aktuelle Beta-Release herunter und entpacke es. Beim Entpacken entsteht ein neuer Ordner hub.

wget https://github.com/alarmdisplay/hub/releases/download/v1.0.0-beta.4/hub-1.0.0-beta.4.tar.gz
tar -xzf hub-1.0.0-beta.4.tar.gz
cd hub

Mit cd hub begibst du dich in das Hauptverzeichnis des Servers für die Zentrale. Alle nachfolgenden Befehle werden in diesem Verzeichnis ausgeführt.

Installiere nun die Abhängigkeiten.

npm install --only=production

Dann muss noch die Datenbankverbindung konfiguriert werden, ohne die der Server nicht starten kann. Lege dazu eine Datei local-production.json im Verzeichnis config/ an.

edit ./config/local-production.json

Mit den Werten aus der Anleitung zum Anlegen der Datenbank würde die Datei folgendermaßen aussehen:

{
  "mysql": "mysql://hubserver:Bitte_ersetzen@localhost:3306/ad_hub"
}

Hier trägst du natürlich deine richtigen Daten ein.

Der erste Start

Der Server kann jetzt zur Probe von der Kommandozeile aus gestartet werden.

NODE_ENV=production node index.js

Der Server sollte starten, sich mit der Datenbank verbinden und die benötigten Datenbanktabellen anlegen. Zum Schluss sollte Hub Backend started on http://localhost:3030 ausgegeben werden.

Als Service einrichten

Damit der Server dauerhaft läuft und bei einem Neustart automatisch startet, kann er als Service eingerichtet werden. Dies geht beispielsweise mit forever-service.

npm install -g forever
npm install -g forever-service
sudo forever-service install -s index.js -r pi -e "NODE_ENV=production" alarmdisplay_hub

Die Option -r pi gibt an, dass der Prozess unter dem Benutzer pi ausgeführt werden soll. Hier kann ein beliebiger anderer Benutzer angegeben werden, aus Sicherheitsgründen sollte es aber nicht root sein. Jetzt kannst du den Dienst mit dem service-Kommando steuern, z. B. sudo service alarmdisplay_hub restart.

Betrieb überwachen

Der Server protokolliert wichtige Ereignisse oder Fehler in der Datei /var/log/alarmdisplay_hub.log. Mit dem Befehl tail -f /var/log/alarmdisplay_hub.log wird das Ende der Datei angezeigt und neue Einträge tauchen automatisch auf.

Updates

Wenn eine neue Version erscheint, läuft das Update sehr ähnlich zur Installation. Also Release herunterladen, entpacken und mit npm die Abhängigkeiten installieren. Die Datei config/local-production.json kann aus der bestehenden Installation übernommen werden.

Wenn alles bereit ist, stoppe den Dienst mit sudo service alarmdisplay_hub stop. Ersetze die bestehende Installation mit dem eben vorbereiteten Ordner. Dabei kann es ratsam sein, den alten Ordner zuvor umzubenennen (z.B. von hub zu hub_old), um bei Fehlern auf diese funktionierende Variante zurückgreifen zu können. Starte dann den Dienst mit sudo service alarmdisplay_hub start und prüfe die Logdatei auf eventuelle Warnungen oder Fehlermeldungen.