Anleitung zur Installation und Konfiguration der JobRouter-Dienste unter Linux
Bitte beachten Sie: diese Dokumentation basiert auf einer Installation unter Debian 12. Die Download-Pakete für die JobRouter-Dienste finden Sie in unserem Kunden-Portal unter Software-Downloads.
Bitte beachten Sie: Es ist erforderlich die nachfolgenden Befehle mit administrativen Rechten auszuführen. Die nachfolgenden Skripte sollten in einer Bash ausgeführt werden.
Sofern Sie Ubuntu Linux verwenden: Führen Sie den Befehl mit ihrem normalen Benutzer-Account aus, indem Sie vor die jeweilige Befehlszeile ein sudo anfügen (im Befehl rot markiert).
Sofern Sie Debian Linux verwenden: Führen Sie den Befehl als root-Benutzer ohne den Befehl sudo aus.
Voraussetzungen
Um die Installation der Dienste unter Debian 12 erfolgreich durchzuführen, sind vorab folgende Pakete zwingend erforderlich:
Grundlegende Werkzeuge:
wget
Benötigt, um Dateien von einem HTTP/HTTPS-Server herunterzuladen.
Wird hier verwendet, um die Microsoft-Paketquelle herunterzuladen.
dpkg
Ein essenzielles Werkzeug zur Installation von .deb-Paketen.
Wird hier verwendet, um das Paket packages-microsoft-prod.deb zu installieren.
apt
Das Standard-Paketmanagement-Tool unter Debian, um Software zu installieren und zu aktualisieren.
Archivierungstools:
unzip
Zum Entpacken von ZIP-Dateien wie JobActivity.zip, JobConfig.zip, etc.
Paketquellen-Verwaltung:
contrib und non-free Repositories
Diese müssen aktiviert sein, um proprietäre Software und Pakete wie die Microsoft Core Fonts (ttf-mscorefonts-installer) zu installieren.
Folgender Befehl aktualisiert die Paketlisten und installiert grundlegend benötigte Abhängigkeiten, um JobRouter auf dem Betriebssystem zu betreiben.
Microsoft-Paketquelle hinzufügen
Siehe auch: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian
Zunächst wird die Microsoft-Paketquelle heruntergeladen und installiert. Dadurch können die benötigten .NET-Pakete installiert werden.
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Erklärung:
owget lädt die Datei herunter.
odpkg -i installiert das Paket.
orm löscht die Datei nach der Installation, um den Speicherplatz freizugeben.
.NET Runtime installieren
Nun aktualisieren wir die Paketliste und installieren die .NET Runtime 8.0, die für die Ausführung der Dienste erforderlich ist.
sudo apt update && apt -y install dotnet-runtime-8.0 unzip
Erklärung:
oapt update aktualisiert die Paketquellen und die Liste der verfügbaren Paketversionen.
oapt install dotnet-runtime-8.0 unzip installiert die .NET Runtime 8.0 und das CLI Werkzeug zum entpacken von ZIP Dokumenten.
System-Updates durchführen
Die folgenden Befehle aktualisieren das System.
sudo apt update
sudo apt upgrade
Erklärung:
oapt update aktualisiert die Paketquellen und die Liste der verfügbaren Paketversionen.
oapt upgrade Installiert die neuen Versionen der Pakete, basierend auf den aktuellen Paketlisten.
CIFS-Unterstützung installieren (optional)
Siehe auch: https://linuxize.com/post/how-to-mount-cifs-windows-share-on-linux/
cifs-utils wird für den Zugriff auf geteilte JobRouter-Verzeichnisse benötigt, sofern für diese Windows-Freigaben oder Samba-Shares verwendet werden.
sudo apt install cifs-utils
Erklärung:
oapt install installiert CIFS Werkzeuge
Microsoft Fonts nachinstallieren
Siehe auch: https://linuxcapable.com/how-to-install-microsoft-fonts-on-debian-linux/
Für die Dokumentverarbeitung (Rendering und PDF-Erstellung) in JobRouter müssen unter Umständen die Microsoft TrueType Schriftarten (Times New Roman, Arial, Verdana & Co.) nachinstalliert werden.
sudo apt install software-properties-common -y
sudo apt-add-repository contrib non-free -y
sudo apt install ttf-mscorefonts-installer
Erklärung:
oapt install installiert das software-properties-common Paket wodurch das System einfacher konfiguriert, werden kann, um zusätzliche Software-Quellen (Repositories) hinzuzufügen, die in den Standard-Repositories nicht enthalten sind.
oapt-add-repository: Dieser Befehl wird genutzt, um zusätzliche Software-Repositories hinzuzufügen.
▪contrib: Pakete, die freie Software sind, aber unfreie Abhängigkeiten haben.
▪non-free: Pakete, die nicht den Kriterien für freie Software entsprechen (z. B. proprietäre Software, Treiber oder Schriftarten.
oapt install installiert das Paket ttf-mscorefonts-installer, welches die Microsoft-Schriftarten herunterlädt und installiert, sodass man sie auf dem System verwenden kann.
Bitte beachten Sie: werden neben den Standard-Fonts hauseigene oder benutzerdefinierte Fonts benötigt, müssen diese manuell installiert werden.
Verzeichnisse für die .NET-Dienste anlegen
Bitte beachten Sie: sollte neben den Standarddiensten auch JobDocuWare benötigt werden, führen Sie alle folgenden Schritte auch für JobDocuWare aus.
Erstellen Sie Verzeichnisse, in denen die einzelnen Dienste liegen werden.
sudo mkdir -p /opt/JobRouter/{JobActivity,JobConfig,JobRunner,JobServer}
Erklärung:
omkdir -p erstellt die Verzeichnisse, falls sie nicht bereits existieren.
.NET-Dienste entpacken
Die Dienste werden entpackt und in die entsprechenden Verzeichnisse verschoben.
sudo unzip JobActivity.zip -d /opt/JobRouter/JobActivity/
sudo unzip JobConfig.zip -d /opt/JobRouter/JobConfig/
sudo unzip JobRunner.zip -d /opt/JobRouter/JobRunner/
sudo unzip JobServer.zip -d /opt/JobRouter/JobServer/
Erklärung:
ounzip entpackt die angegebene ZIP-Datei in das mittels -d angegebene Verzeichnis
Berechtigungen setzen
Um sicherzustellen, dass die Dienste ausführbar sind, setzen wir die entsprechenden Berechtigungen.
sudo chmod +x /opt/JobRouter/JobActivity/JobActivity /opt/JobRouter/JobRunner/JobRunner /opt/JobRouter/JobServer/JobServer /opt/JobRouter/JobConfig/JobRouter.JobConfig.CLI
Erklärung:
ochmod ändert die Berechtigungen der angegebenen Verzeichnisse auf “Execute” (+x)
Symbolische Links erstellen
Erstellen Sie Links zu den ausführbaren Dateien, sodass diese von überall im System aufgerufen werden können.
sudo ln -s /opt/JobRouter/JobActivity/JobActivity /usr/local/bin/JobActivity
sudo ln -s /opt/JobRouter/JobRunner/JobRunner /usr/local/bin/JobRunner
sudo ln -s /opt/JobRouter/JobServer/JobServer /usr/local/bin/JobServer
sudo ln -s /opt/JobRouter/JobConfig/JobRouter.JobConfig.CLI /usr/local/bin/JobConfig
Erklärung:
oln -s erstellt einen symbolischen Link zu einer bestimmten Datei, z.B. /opt/JobRouter/JobActivity/JobActivity, unter dem Namen JobActivity im Verzeichnis /usr/local/bin. Damit kann der Dienst JobActivity einfach durch Eingabe von JobActivity in der Konsole aufgerufen werden.
Konfigurationsverzeichnis anlegen
sudo mkdir /etc/JobRouter
Erklärung:
omkdir -p erstellt die Verzeichnisse, falls sie nicht bereits existieren.
Benutzer und Gruppe für die Dienste anlegen
sudo groupadd -g 10001 jobrouter
sudo useradd -g jobrouter -s /sbin/nologin -M -d /nonexistent jobrouter
Erklärung:
ogroupadd erstellt eine Gruppe namens jobrouter mit der ID 10001.
ouseradd erstellt einen Benutzer namens jobrouter
▪-g jobrouter fügt diesen der Gruppe jobrouter hinzu
▪-s /sbin/nologin sorgt dafür, dass sich der Benutzer nicht am System anmelden, sondern lediglich die Dienste ausführen kann
▪-M verhindert, dass ein eigenes Home-Verzeichnis für den Benutzer erstellt wird
▪-d /nonexistent legt den Pfad des Home-Verzeichnisses auf /nonexistent fest, ein Verzeichnis, das es nicht gibt
Log- und Temp-Verzeichnisse anlegen und Berechtigungen setzen
sudo mkdir -p /opt/JobRouter/{JobActivity,JobRunner,JobServer}/log /opt/JobRouter/JobActivity/temp
sudo chown root:jobrouter /opt/JobRouter/{JobActivity,JobRunner,JobServer}/log /opt/JobRouter/JobActivity/temp
sudo chmod 770 /opt/JobRouter/{JobActivity,JobRunner,JobServer}/log /opt/JobRouter/JobActivity/temp
Erklärung:
omkdir -p erstellt die Verzeichnisse, falls sie nicht bereits existieren.
ochown setzt die Eigentümer der Verzeichnisse auf den Benutzer root und die Gruppe jobrouter
ochmod 770 gibt dem Benutzer root und der Gruppe jobrouter vollständige Lese-, Schreib- und Ausführungsrechte auf die log- und temp-Verzeichnisse. Andere Benutzer haben keinen Zugriff.
Datenbank-Verbindung für die Dienste einrichten
sudo JobConfig services setup
# Enter the config file base path: /etc/JobRouter
# Enter a value for ServiceGroup: (1): 1
# Enter a value for NumberOfPools: (1): 1
# Select a value for LogLevel: Error
# Enter a value for DeleteInDays: (10): 10
# Add a ConnectionConfigModel? [y/n] (y): y
# Enter a value for Name: JobRouter
# Enter a value for Active: [y/n] (n): y
# Select a value for DatabaseType: MySql
# Enter a value for Host: 1.2.3.4
# Enter a value for Port: [1-65535]
# Enter a value for Database: JOBROUTER
# Enter a value for Key: /usr/share/nginx/html/jobrouter/config/instance.key
# Enter a value for Username: jobrouter
# Enter a value for Password: ****************
# Add a ConnectionConfigModel? [y/n] (y): n
sudo JobConfig services test
Erklärung:
osudo JobConfig services setup startet das JobConfig-Tool zur Konfiguration der Dienste. Folgen Sie den Prompt und geben Sie die notwendigen Daten ein
▪config file base path: Ablageort der Konfigurationsdatei (empfohlen: /etc/JobRouter)
▪ServiceGroup: ID der Dienstegruppe (Standard: 1)
▪NumberOfPools: Anzahl von Pools (Standard: 1)
▪LogLevel: Log Level (Empfohlen: Warning)
▪DeleteInDays: Anzahl Tage nachdem die Logs gelöscht werden (Standard: 10)
▪Add a ConnectionConfigModel? Soll eine DB-Verbindung angelegt werden? (y)
▪Name: Name der DB-Verbindung
▪Active: DB-Verbindung aktiv?
▪DatabaseType: Datenbanktyp
▪Host: DB-Host
▪Port: DB-Port
▪Database: DB-Name
▪Key: Pfad zum instance.key von JobRouter
▪Username: DB-Benutzer
▪Password: DB-Passwort
osudo JobConfig services test testet die eingerichtete Verbindung
Systemd-Dienste für automatische Ausführung erstellen
JobRunner
sudo echo '[Unit]
Description=JobRunner Service
After=network.target
Wants=network-online.target
[Service]
User=jobrouter
Group=jobrouter
SyslogIdentifier=JobRunner
Environment="JOBROUTER_SERVICESCONFIGPATH=/etc/JobRouter"
Environment="XDG_CACHE_HOME=/tmp"
WorkingDirectory=/opt/JobRouter/JobRunner/
ExecStart=/usr/share/dotnet/dotnet /opt/JobRouter/JobRunner/JobRunner.dll
Restart=always
Type=notify
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target' > /etc/systemd/system/jobrunner.service
JobActivity
sudo echo '[Unit]
Description=JobActivity Service
After=network.target
Wants=network-online.target
[Service]
User=jobrouter
Group=jobrouter
SyslogIdentifier=JobActivity
Environment="JOBROUTER_SERVICESCONFIGPATH=/etc/JobRouter"
Environment="XDG_CACHE_HOME=/tmp"
WorkingDirectory=/opt/JobRouter/JobActivity/
ExecStart=/usr/share/dotnet/dotnet /opt/JobRouter/JobActivity/JobActivity.dll
Restart=always
Type=notify
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target' > /etc/systemd/system/jobactivity.service
JobServer
sudo echo '[Unit]
Description=JobServer Service
After=network.target
Wants=network-online.target
[Service]
User=jobrouter
Group=jobrouter
SyslogIdentifier=JobServer
Environment="JOBROUTER_SERVICESCONFIGPATH=/etc/JobRouter"
Environment="XDG_CACHE_HOME=/tmp"
WorkingDirectory=/opt/JobRouter/JobServer/
ExecStart=/usr/share/dotnet/dotnet /opt/JobRouter/JobServer/JobServer.dll
Restart=always
Type=notify
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target' > /etc/systemd/system/jobserver.service
Erklärung:
osudo echo [...] > /etc/systemd/system/jobserver.service schreibt eine Systemd-Dienstdatei für den Dienst in das Verzeichnis /etc/systemd/system/. Diese Datei definiert, wie der Dienst gestartet und verwaltet werden soll. Eine detaillierte Erklärung der einzelnen Abschnitte und Parameter finden Sie im Abschnitt „Aufbau der Dienstdatei“.
Systemd-Dienste laden und aktivieren
Zum Abschluss werden die neuen Dienste geladen und automatisch gestartet.
sudo systemctl daemon-reload
sudo systemctl enable --now jobserver
sudo systemctl enable --now jobrunner
sudo systemctl enable --now jobactivity
Erklärung:
osystemctl daemon-reload lädt die neuen Dienstdateien.
osystemctl enable --now aktiviert die Dienste für den automatischen Start und startet sie sofort.