Job Downloader – Server Installation

Version 1.1.3

Es gibt zwei Möglichkeiten den Job-Server aufzusetzen:

  • Die Installation mit Hilfe eines Debian-Pakets oder
  • Die manuelle Installation

Beide Varianten werden im Folgenden beschrieben.

Die Debian-Variante ist schneller und unkomplizierter zu handhaben. Es gibt einige Einschränkungen: So muss der Server Debian-Pakete verarbeiten können und der Name des Datenbankusers (jduser) ist festgelegt.

Die manuelle Installation setzt ein klein wenig mehr Wissen voraus; dafür ist sie flexibler und kann auch auf Nicht-Debian-Maschinen zum Einsatz kommen.

Voraussetzungen

Systemvoraussetzungen:

  • Für eine Standalone-Lösung genügt beispielsweise ein kleiner RasperryPi mit einer 32 GB SD-Karte.
  • 4 GB RAM werden empfohlen.
  • Sie können den Jobserver aber auch auf einem anderen Server (z.B. einer NAS oder einer Cloud) als zusätzlichen Dienst einrichten.
  • Für die Debian-Variante muss die Linuxdistribution mit Debianpaketen umgehen können (debian, Ubuntu, …).
  • Einen installierten SSH-Server (aber das ist in einer Serverinstallation normalerweise sowieso Standard). Das Paket heißt openssh-server, falls es nachgerüstet werden müsste.
  • Außerdem werden sqlite3 und
  • zip benötigt.
  • Admin-Rechte (Das geschieht unter Linux normalerweise durch einen privilegierten User mit sudo-Rechten).

Die Installation mit Hilfe des Debian-Pakets

Vorbereitung

In dieser Beschreibung gehe ich davon aus, auf Ihrem Arbeitsplatzrechner Linux als Betriebssystem installiert ist. Sollten Sie ein anderes Betriebssystem bevorzugen, müssen Sie sinngemäß vorgehen.

  • Laden Sie das Jobserver-Paket auf Ihren Arbeitsplatzrechner. Wechseln Sie in das Download-Verzeichnis.
  • Richten Sie – wenn nicht schon geschehen – auf dem Server eine SSH-Verbindung für Ihren Admin-User ein. Das sollte auf Servern eigentlich immer der Fall sein.

Ich gehe im Folgenden davon aus das der Admin-User administrator und der Server jdserver.local heißen. Bitte ersetzen Sie diese Namen durch die in Ihrem System gebräuchlichen.

  • Starten Sie ein Terminal
  • Testen Sie diese Verbindung, indem Sie im Terminal folgendes eingeben:
> ssh administrator@jdserver.local
  • Richten Sie ggf. ein Downloads-Verzeichnis für diesen User ein (das ist insofern sinnvoll, als Ihr Homeverzeichnis dann von Downloads frei gehalten wird),
> mkdir ~/Downloads
> exit
  • Der exit-Befehl bringt Sie wieder zurück auf Ihren Arbeitsplatzrechner zurück.

Installation des Serverpakets

  • Kopieren Sie das heruntergeladene Paket auf ihren Server (das aktuelles Verzeichnis ist das Downloads-Verzeichnis auf Ihrem Arbeitsplatzrechner):
> scp jd-server-1.1.3.deb administrator@jdserver.local:Downloads

  • Installieren Sie nun dieses Paket:
> ssh administrator@jdserver.local
> sudo apt install ~/Downloads/jd-server-1.1.3.deb

Sie haben nun auf Ihrem Gerät einen vollgültigen Job-Server installiert. Dieser Dienst wird über SSH akiviert. Der entsprechende Benutzer heißt jduser. Das Passwort ist ebenfalls jduser.

Sie sollten nun unbedingt das Passwort ändern

> sudo passwd jduser
  • Geben Sie nun das neue Passwort 2x ein … und verlassen Sie den Server:
> exit
  • Merken Sie sich das neue Passwort. Sie benötigen es bei der Einrichtung der Clients.

Zusammenfassung

Sie sollten nun über folgende Infos verfügen, die Sie bei der Client-Installation wieder benötigen werden:

Der Jobserver heißt:   jdserver.local (bitte anpassen)
Der Jobuser heißt: jduser (das ist vom Paket so vorgegeben)
Das Passwort heißt: <Sie haben sich das gerade gemerkt>
Die Datenbank heißt: <Bitte leer lassen>
Den Port für SSH: <wenn Sie nichts anderes konfiguriert
haben, bitte leer lassen,
ansonsten hier den (auf dem Server) in
/etc/ssh/sshd_config hinterlegten
Port angeben>

Die manuelle Installation

Für die manuelle Installationsvariante muss auf Ihrem Arbeitsplatzrechner Linux als Betriebssystem installiert sein.

  • Richten Sie – wenn nicht schon geschehen – auf dem Server eine SSH-Verbindung für Ihren Admin-User ein. Das sollte auf Servern eigentlich immer der Fall sein.

Ich gehe im Folgenden davon aus das der Admin-User administrator und der Server jdserver.local heißen. Bitte ersetzen Sie diese Namen durch die in Ihrem System gebräuchlichen.

Ich gehe außerdem davon aus, dass der Name des Jobserver-Users jduser ist. Passen Sie dies bitte Ihren Wünschen gemäß an.

Weiterhin beschreibe ich die Softwareinstallation unter Debian. Wird eine andere Distribution verwendet, müssen sie den Befehl apt durch den dort üblichen Befehl ersetzen. Möglicherweise müssen auch die Paketnamen angepasst werden.

Arbeiten auf dem Server

  • Starten Sie ein Terminal
  • Testen Sie diese Verbindung, indem Sie im Terminal folgendes eingeben:
> ssh administrator@jdserver.local
  • Installieren Sie sqlite3 und zip.
  • Richten Sie nun einen Benutzer für den Jobserver ein. Vergeben Sie dabei ein sicheres Passwort und schreiben Sie dies bitte auf.
> sudo apt install sqlite3 zip
> sudo adduser jduser
> exit
  • Der exit-Befehl bringt Sie wieder zurück auf Ihren Arbeitsplatzrechner zurück.

Arbeiten auf Ihrem Arbeitsplatzrechner

Der Rest der Installation erfolgt nun von Ihrem Arbeitsplatzrechner aus. Hierfür benötigen Sie auch Admin-Rechte.

  • Laden Sie das Hilfspaket für die manuelle Serverinstallation auf ihren Arbeitsplatzrechner (jdserver-manuell-helper-1.1.3.zip)
  • Entpacken Sie nun den Inhalt des Hilfspakets in ein neues Unterverzeichnis (z.B. ~/jdserver-manuell) auf ihrem Homedirectory.
  • Wechseln Sie in das o.a. Verzeichnis und editieren Sie dort die config-Datei.
  • Starten Sie nun ein Terminal und wechseln Sie in das o.a. Unterverzeichnis und installieren Sie den Jobserver von Ihrem Arbeitsplatz aus.
> cd ~/jdserver-manuell
> sudo ./jd-initialize-server

Hat alles geklappt, können Sie das Unterverzeichnis mitsamt Inhalt wieder löschen.

Tipps

  • Es ist keine gute Idee, die SSH-Ports via Portweiterleitung auf Ihrem Router nach außen zu legen , weil eine passwortgestützte SSH-Verbindung meines Erachtens zu unsicher ist. SSH kann man mit passphrasegesicherten SSH-Keys sehr gut absichern; dies ist in der aktuellen Server-Version jedoch noch nicht implementiert.
  • Es kann durchaus sinnvoll sein, den SSH-Zugriff über einen anderen Port zu steuern. Sie müssen dafür folgende Veränderngen vornehmen:
    • Ändern Sie in der Datei /etc/ssh/sshd_config den Eintrag bei Port (ich verwende in den Beispielen 2222, anstatt 22 (Standard)).
    • ssh … ergänzen Sie nun bitte durch ssh -p 2222 … und …
    • scp … durch scp -P 2222 … (beachten Sie hier das große P !)
    • In der Konfigurationsdatei der Clients muss dies auch berücksichtigt werden (siehe dort).

Problembehandlung

  • Das Debian-Paket überprüft, ob der Benutzer jduser bereits existiert. Ist dies der Fall (weil z.B. bereits eine manuelle Installation durchgeführt wurde), wird die Installation nicht ausgeführt, da der Job-Server mit gültigen Daten möglicherweise bereits existiert. Soll die Installation trotzdem durchgeführt werden, löschen Sie zuvor den Benutzer mitsamt dessen Homeverzeichnis.