# 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**: ```bash 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**: ```bash 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**: ```bash 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**: ```bash 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 ` **Watchdog-Log**: `/var/log/kiosk-watchdog.log` ## Fehlerbehebung ### Häufige Probleme 1. **HTTPS-Backend nicht erreichbar** ```bash sudo systemctl status myp-https sudo journalctl -u myp-https -f ``` 2. **Kiosk-Browser startet nicht** ```bash sudo systemctl status myp-kiosk sudo journalctl -u myp-kiosk -f ``` 3. **SSL-Zertifikat-Probleme** ```bash sudo ./setup.sh # Option 4 für System-Test ``` 4. **Service-Neustart** ```bash sudo systemctl restart myp-https sudo systemctl restart kiosk-watchdog ``` ### Manuelle Service-Verwaltung ```bash # 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** ```bash 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** ```bash 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** ```bash sudo cp -r /opt/myp /opt/myp.backup ``` 2. **Neue Installation** ```bash 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.