Projektarbeit-MYP/backend/docs/SETUP_ANLEITUNG.md

7.4 KiB

MYP Druckerverwaltung - Setup-Anleitung

Übersicht

Das neue konsolidierte setup.sh Skript ersetzt alle bisherigen Installationsskripte und bietet eine benutzerfreundliche Menüführung für verschiedene Installationsmodi.

Voraussetzungen

  • Betriebssystem: Debian/Raspbian (Raspberry Pi OS)
  • Berechtigung: Root-Zugriff (sudo)
  • Internetverbindung: Für Paket-Downloads erforderlich
  • Hardware: Raspberry Pi oder kompatibles Debian-System

Neue Struktur

Dateien

  • setup.sh - Konsolidiertes Hauptinstallationsskript
  • systemd/ - Verzeichnis mit allen systemd-Service-Dateien
    • myp-https.service - HTTPS-Backend-Service
    • myp-kiosk.service - Kiosk-Browser-Service
    • kiosk-watchdog.service - Überwachungsservice
    • kiosk-watchdog-python.service - Python-Watchdog-Service

Entfernte Dateien

  • combined.sh - Konsolidiert in setup.sh
  • installer.sh - Konsolidiert in setup.sh

Installationsmodi

1. Nur Abhängigkeiten installieren

Zweck: System vorbereiten ohne Kiosk-Modus zu aktivieren

Was wird installiert:

  • Python 3 und pip
  • Node.js und npm
  • SSL-Zertifikate (inkl. Mercedes Corporate)
  • Python-Pakete (Flask, SQLAlchemy, etc.)
  • npm-Abhängigkeiten
  • Anwendungsdeployment nach /opt/myp
  • SSL-Zertifikat-Generierung
  • Minimaler Funktionstest

Verwendung:

sudo ./setup.sh
# Wähle Option 1

Ideal für:

  • Entwicklungsumgebungen
  • Erste Installation und Tests
  • Systeme ohne Kiosk-Anforderungen

2. Finale Kiosk-Installation

Zweck: Vollständige Kiosk-Modus-Konfiguration

Was wird konfiguriert:

  • Alle Abhängigkeiten (falls noch nicht installiert)
  • Desktop-Environments entfernen
  • Minimale X11-Umgebung installieren
  • Kiosk-Benutzer erstellen
  • Automatischen Login konfigurieren
  • Systemd-Services installieren und aktivieren
  • System-Test durchführen
  • Alte Dateien aufräumen

Verwendung:

sudo ./setup.sh
# Wähle Option 2

Ideal für:

  • Produktionsumgebungen
  • Dedizierte Kiosk-Systeme
  • Finale Deployment

3. Nur Services installieren

Zweck: Systemd-Services aktualisieren ohne Systemänderungen

Was wird gemacht:

  • Service-Dateien aus systemd/ nach /etc/systemd/system/ kopieren
  • systemd-Konfiguration neu laden
  • Optional: Services aktivieren und starten

Verwendung:

sudo ./setup.sh
# Wähle Option 3

Ideal für:

  • Service-Updates
  • Konfigurationsänderungen
  • Wartung bestehender Installationen

4. System-Test

Zweck: Funktionalität der Installation überprüfen

Was wird getestet:

  • HTTPS-Verbindung zu localhost:443
  • SSL-Zertifikat-Gültigkeit
  • Service-Status aller systemd-Services
  • Systemressourcen

Verwendung:

sudo ./setup.sh
# Wähle Option 4

Ideal für:

  • Fehlerdiagnose
  • Wartung
  • Regelmäßige Systemprüfungen

Systemd-Services

myp-https.service

  • Zweck: HTTPS-Backend auf Port 443
  • Benutzer: root (für privilegierten Port)
  • Abhängigkeiten: network.target
  • SSL: Automatische Zertifikat-Generierung

myp-kiosk.service

  • Zweck: Chromium-Browser im Kiosk-Modus
  • Benutzer: kiosk
  • Abhängigkeiten: myp-https.service, graphical-session.target
  • Features: Vollbild, SSL-Ignorierung, automatische Auflösungserkennung

kiosk-watchdog.service

  • Zweck: Intelligente Systemüberwachung
  • Funktionen:
    • HTTPS-Backend-Überwachung
    • SSL-Zertifikat-Überwachung
    • Kiosk-Session-Überwachung
    • Speicher-Überwachung
    • Automatische Neustarts

kiosk-watchdog-python.service

  • Zweck: Python-basierte Überwachung
  • Ergänzung: Zusätzliche Überwachungsfunktionen

Konfiguration

SSL-Zertifikate

Mercedes Corporate Zertifikate:

  • Automatische Installation aus certs/mercedes/
  • Unterstützte Formate: .crt, .pem, .cer
  • DER-zu-PEM Konvertierung

Localhost-Zertifikat:

  • Automatische Generierung für HTTPS
  • Gültigkeitsdauer: 365 Tage
  • Speicherort: /opt/myp/certs/localhost/

Kiosk-Benutzer

Benutzer: kiosk

  • Automatischer Login auf tty1
  • Gruppen: audio, video, input, dialout, plugdev, users
  • Passwortlos für Sicherheit

Verzeichnisstruktur

/opt/myp/                    # Hauptanwendungsverzeichnis
├── app.py                   # Flask-Hauptanwendung
├── models.py                # Datenbankmodelle
├── blueprints/              # Flask-Blueprints
├── config/                  # Konfigurationsdateien
├── database/                # SQLite-Datenbank
├── static/                  # Statische Dateien (CSS, JS)
├── templates/               # HTML-Templates
├── uploads/                 # Upload-Verzeichnis
├── utils/                   # Hilfsfunktionen
├── logs/                    # Log-Dateien
└── certs/                   # SSL-Zertifikate
    └── localhost/           # Localhost-Zertifikate

Logging

Installationslog: /var/log/myp-install.log Service-Logs: journalctl -u <service-name> Watchdog-Log: /var/log/kiosk-watchdog.log

Fehlerbehebung

Häufige Probleme

  1. HTTPS-Backend nicht erreichbar

    sudo systemctl status myp-https
    sudo journalctl -u myp-https -f
    
  2. Kiosk-Browser startet nicht

    sudo systemctl status myp-kiosk
    sudo journalctl -u myp-kiosk -f
    
  3. SSL-Zertifikat-Probleme

    sudo ./setup.sh
    # Option 4 für System-Test
    
  4. Service-Neustart

    sudo systemctl restart myp-https
    sudo systemctl restart kiosk-watchdog
    

Manuelle Service-Verwaltung

# Services aktivieren
sudo systemctl enable myp-https myp-kiosk kiosk-watchdog

# Services starten
sudo systemctl start myp-https myp-kiosk kiosk-watchdog

# Status prüfen
sudo systemctl status myp-https myp-kiosk kiosk-watchdog

# Logs anzeigen
sudo journalctl -u myp-https -f

Wartung

Regelmäßige Aufgaben

  1. System-Updates

    sudo apt update && sudo apt upgrade -y
    
  2. Log-Rotation

    • Automatisch durch systemd
    • Watchdog rotiert eigene Logs bei >10MB
  3. SSL-Zertifikat-Erneuerung

    • Automatisch durch Watchdog bei Ablauf
    • Manuell: Option 1 im Setup-Skript
  4. System-Test

    sudo ./setup.sh
    # Option 4
    

Sicherheit

Implementierte Maßnahmen

  • Minimale Berechtigungen: Services laufen mit minimal nötigen Rechten
  • SSL-Verschlüsselung: HTTPS für alle Verbindungen
  • Systemd-Härtung: NoNewPrivileges, ProtectSystem
  • Automatische Updates: Watchdog überwacht und repariert
  • Passwortlose Kiosk: Reduziert Angriffsfläche

Empfohlene Zusatzmaßnahmen

  • Firewall-Konfiguration
  • SSH-Schlüssel statt Passwörter
  • Regelmäßige Backups
  • Monitoring der Log-Dateien

Migration von alten Installationen

Wenn Sie eine bestehende Installation mit combined.sh oder installer.sh haben:

  1. Backup erstellen

    sudo cp -r /opt/myp /opt/myp.backup
    
  2. Neue Installation

    sudo ./setup.sh
    # Option 3 für Service-Update
    
  3. Konfiguration übertragen

    • Datenbank-Dateien
    • Upload-Verzeichnisse
    • Benutzerdefinierte Konfigurationen

Support

Bei Problemen:

  1. Log-Dateien prüfen
  2. System-Test durchführen (Option 4)
  3. Services neu starten
  4. Installation wiederholen mit entsprechender Option

Das konsolidierte Setup-System bietet maximale Flexibilität bei minimaler Komplexität und ermöglicht sowohl Entwicklungs- als auch Produktionsumgebungen.