Installation Basissystem

VM für PLESK vorbereiten

VM für PLESK vorbereiten

Hinweis (Stand 2026-05-23): Diese Seite beschreibt die ursprüngliche Aufsetzung der DESS-Hosting-VM aus 2021. Die Produktivinstanz vm-plesk-live.bab.network (192.168.101.121) läuft weiterhin auf Plesk, das Basis-OS-Setup ist historisch. Für Neuinstallationen gelten die jeweils aktuellen Plesk-Software-Requirements (siehe Hinweis am Ende).

Empfehlung VM-Sizing

Die notwendige Leistung richtet sich stark nach der Anzahl der gleichzeitigen Benutzer:innen im System. DESS selbst ist wenig anspruchsvoll, der Plesk-Stack braucht etwas mehr Reserven.

Ressource Empfehlung Hinweis
vCPU 4 Kerne bei >300 aktiven Benutzer:innen 6–8 Kerne
RAM 4 GB bei >300 aktiven Benutzer:innen 8 GB
Festplatte 100 GB Wachstum über Reports + Logs einkalkulieren

BAB-Setup (Produktion)

vm-plesk-live.bab.network (192.168.101.121) hostet dess.agrarforschung.at mit Plesk + Node.js + MariaDB. Plesk-Vhost-Pfad:

/var/www/vhosts/agrarforschung.at/dess.agrarforschung.at

Deployment erfolgt CI-gesteuert per SCP aus dess/dess-Repo → touch tmp/restart.txt startet Node.js neu (siehe .gitlab-ci.yml).

Aktuelle Plesk-Anforderungen


Stand: 2026-05-23 · Audit: Roland Neissl · Quelle: GitLab dess/dess Commit-Historie + Vault wiki/concepts/integration-dess-openproject.md + Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md

Debian installieren

Debian installieren

Achtung (Stand 2026-05-23): Diese Anleitung wurde 2021 für Debian 10 (Buster) verfasst. Debian 10 ist seit 2024-06-30 EOL (End of Life) und erhält keine Sicherheitsupdates mehr. Für Neuinstallationen ist Debian 12 (Bookworm) zu wählen.

Die DESS-Produktivinstanz auf vm-plesk-live.bab.network läuft Stand 2026-05 noch unter dem ursprünglichen Plesk-Setup; ein Host-OS-Upgrade ist als Backlog-Punkt erfasst.

Wahl des Basis-OS

OS Empfehlung Anmerkung
Debian 12 (Bookworm) empfohlen für Neuinstallationen Plesk Obsidian unterstützt
Ubuntu 22.04 LTS gleichwertig Plesk-getestet
Debian 10 (Buster) abgelaufen (EOL 2024-06-30) nur für Bestandsanalyse, keine Neuinstallation
CentOS / RHEL möglich an der BAB nicht eingesetzt
Windows nicht empfohlen wesentlich ressourcenhungriger, an der BAB keine Erfahrung

Aktuelle Plesk-Software-Requirements: https://docs.plesk.com/release-notes/obsidian/software-requirements/

Installationsmedium

Debian NetInstall AMD64 ISO: https://www.debian.org/CD/netinst/

Installations-Schritte (Standard)

  1. ISO booten, Sprache + Locale wählen.
  2. Hostname + Domain konfigurieren (z.B. vm-plesk-live / bab.network).
  3. Root-Passwort setzen, Standard-User anlegen.
  4. Partitionierung: Standard mit LVM (separates /var-Volume optional).
  5. Paketauswahl: nur SSH-Server + Standard-System-Werkzeuge (Plesk übernimmt den Rest).
  6. GRUB in den MBR installieren.

Nach der Installation

apt update && apt -y upgrade
apt -y install sudo curl gnupg

Dann weiter mit der Plesk-Installation (siehe Folgeseite).


Stand: 2026-05-23 · Audit: Roland Neissl · Quelle: GitLab dess/dess Commit-Historie + Vault wiki/concepts/integration-dess-openproject.md + Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md

Debian einrichten und Plesk installieren

Debian einrichten und Plesk installieren

Hinweis (Stand 2026-05-23): Verfasst 2021 für Debian 10 + Plesk Obsidian. Die Schritte gelten sinngemäß für Debian 12 + aktuelles Plesk.

Basis-Konfiguration

apt update && apt -y upgrade

Netzwerk: statische IP konfigurieren

Für Serverbetrieb statt DHCP eine statische IP setzen:

nano /etc/network/interfaces

Beispiel (Debian-klassisch):

auto eth0
iface eth0 inet static
    address 192.168.101.121
    netmask 255.255.255.0
    gateway 192.168.101.1
    dns-nameservers 192.168.64.10 192.168.64.11

Speichern mit Strg+X, dann Y zur Bestätigung. Anschließend Netzwerk-Stack neu starten:

systemctl restart networking

Bei Debian 12 (Bookworm) kommt systemd-networkd oder NetworkManager infrage — siehe https://wiki.debian.org/NetworkConfiguration.

Plesk installieren

Aktuelle Anleitung (Console Installer): https://docs.plesk.com/en-US/obsidian/deployment-guide/plesk-installation-and-upgrade-on-single-server/installing-plesk-using-installer-console/installing-plesk-for-linux-using-installer-console.76445/

Kurzform:

sh <(curl https://autoinstall.plesk.com/one-click-installer)

Nach der Installation https://<server-ip>:8443/ aufrufen, mit Root-Passwort einloggen und den Setup-Wizard durchlaufen.

Komponenten (für DESS)

Im Plesk-Installer mindestens folgende Komponenten aktivieren:

Domain anlegen

Im Plesk-UI:

  1. Subscription / Domain anlegen → dess.agrarforschung.at unter Customer agrarforschung.
  2. Vhost-Pfad: /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at.
  3. Node.js aktivieren (siehe Folgeseite).
  4. SSL-Zertifikat via Let's-Encrypt oder Wildcard *.agrarforschung.at (Hetzner-DNS-01) zuweisen.

Stand: 2026-05-23 · Audit: Roland Neissl · Quelle: GitLab dess/dess Commit-Historie + Vault wiki/concepts/integration-dess-openproject.md + Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md

PLESK · Node.js-Einstellungen

PLESK · Node.js-Einstellungen

Hinweis (Stand 2026-05-23): Aktuelle Produktion läuft mit Node.js 18.x LTS (siehe .gitlab-ci.yml). Plesk-Node.js-Toolkit muss installiert sein.

Application-Settings im Plesk-UI

Im Plesk-Vhost unter Node.js folgende Felder setzen:

Feld Wert
Node.js Version 18.x (LTS)
Document Root /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at
Application Root /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at
Application Startup File index.js
Application Mode production

Custom Environment Variables

DESS liest seine Konfiguration über config/config.js aus, dort werden bestimmte Felder über process.env überschreibbar gehalten. Im Plesk-UI unter Node.js → Custom environment variables mindestens setzen:

Variable Beispiel Zweck
NODE_ENV production Aktiviert Production-Logging + Caching
PORT 3000 interner Node-Port (Plesk-nginx-Proxy davor)
DB_HOST 127.0.0.1 MariaDB-Host
DB_USER dess DB-User
DB_PASSWORD <secret> aus OpenBao, niemals im Vault im Klartext
DB_NAME dess DB-Name
OIDC_ENABLED true Aktiviert Keycloak-Login (seit 1.0.9)
OIDC_ISSUER https://sso.agrarforschung.at/realms/bab Keycloak-Realm
OIDC_CLIENT_ID dess KC-Client
OIDC_CLIENT_SECRET <secret> aus OpenBao
PROXY true hinter nginx-Reverse-Proxy
SESSION_SECRET <random> Express-Session-Secret, nicht hardcoden

Restart-Mechanismus

Plesk Passenger erkennt Neustart-Triggerdatei:

touch /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at/tmp/restart.txt

Die CI-Pipeline .gitlab-ci.yml setzt dieses File automatisch nach jedem erfolgreichen SCP-Upload.

Bekannte Hardening-Punkte


Stand: 2026-05-23 · Audit: Roland Neissl · Quelle: GitLab dess/dess Commit-Historie + Vault wiki/concepts/integration-dess-openproject.md + Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md