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 Plesk Obsidian: https://docs.plesk.com/release-notes/obsidian/software-requirements/ Für Neuinstallationen ist Debian 12 (Bookworm) oder Ubuntu 22.04 LTS zu wählen; Debian 10 (Buster) ist seit 2024-06-30 EOL und sollte für Neuinstallationen nicht mehr verwendet werden. 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) ISO booten, Sprache + Locale wählen. Hostname + Domain konfigurieren (z.B. vm-plesk-live / bab.network). Root-Passwort setzen, Standard-User anlegen. Partitionierung: Standard mit LVM (separates /var-Volume optional). Paketauswahl: nur SSH-Server + Standard-System-Werkzeuge (Plesk übernimmt den Rest). 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://:8443/ aufrufen, mit Root-Passwort einloggen und den Setup-Wizard durchlaufen. Komponenten (für DESS) Im Plesk-Installer mindestens folgende Komponenten aktivieren: nginx + Apache PHP (für Plesk-UI) MariaDB (für DESS) Node.js Toolkit (für DESS-Backend) Let's-Encrypt-Extension Optional: phpMyAdmin Domain anlegen Im Plesk-UI: Subscription / Domain anlegen → dess.agrarforschung.at unter Customer agrarforschung. Vhost-Pfad: /var/www/vhosts/agrarforschung.at/dess.agrarforschung.at. Node.js aktivieren (siehe Folgeseite). 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 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 aus OpenBao PROXY true hinter nginx-Reverse-Proxy SESSION_SECRET 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 trust proxy Flag: Express muss app.set('trust proxy', 1) setzen, damit req.protocol hinter dem nginx-Reverse-Proxy korrekt https liefert. Siehe Incident DESS SSO-Login defekt nach Keycloak 26 Upgrade bzw. Vault wiki/incidents/2026/2026-05-21-dess-sso-broken-after-kc26.md. OIDC iss-Parameter: KC26 sendet iss in der Auth-Response. Aktuell ist das auf KC-Seite per Client-Attribut exclude.issuer.from.auth.response=true deaktiviert; ein Hardening-Fix in login.component.ts + Joi-Schema ist offen. 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