📚 Improved documentation and log files for better system understanding & maintenance. 🖥️🔍

This commit is contained in:
2025-06-01 13:43:56 +02:00
parent 6fdf4bdab7
commit d6f00ab40d
26 changed files with 1439 additions and 272 deletions

View File

@@ -1 +1,228 @@
# Changelog - Setup-Konsolidierung v4.0.0
## Übersicht der Änderungen
Diese Version konsolidiert alle bisherigen Installationsskripte in ein einziges, benutzerfreundliches Setup-System.
## 🔄 Strukturelle Änderungen
### Neue Dateien
- **`setup.sh`** - Konsolidiertes Hauptinstallationsskript mit Menüführung
- **`systemd/`** - Neues Verzeichnis für alle systemd-Service-Dateien
- `systemd/myp-https.service`
- `systemd/myp-kiosk.service`
- `systemd/kiosk-watchdog.service`
- `systemd/kiosk-watchdog-python.service`
- **`docs/SETUP_ANLEITUNG.md`** - Detaillierte Anleitung für das neue Setup-System
### Entfernte Dateien
- **`combined.sh`** - Konsolidiert in `setup.sh`
- **`installer.sh`** - Konsolidiert in `setup.sh`
- Service-Dateien aus dem Stammverzeichnis (verschoben nach `systemd/`)
### Aktualisierte Dateien
- **`README.md`** - Vollständig überarbeitet für neues Setup-System
- **Version erhöht auf 4.0.0**
## 🚀 Neue Features
### Menügeführte Installation
Das neue `setup.sh` bietet vier verschiedene Installationsmodi:
1. **Nur Abhängigkeiten installieren**
- Python, Node.js, SSL-Zertifikate
- Anwendungsdeployment
- Minimaler Funktionstest
- Ideal für Entwicklung
2. **Finale Kiosk-Installation**
- Vollständige Produktionsinstallation
- Desktop-Environment-Entfernung
- Kiosk-Benutzer-Setup
- Service-Aktivierung
3. **Nur Services installieren**
- Service-Updates ohne Systemänderungen
- Systemd-Konfiguration neu laden
- Optional: Services aktivieren
4. **System-Test**
- HTTPS-Verbindungstest
- SSL-Zertifikat-Validierung
- Service-Status-Überprüfung
- Systemressourcen-Monitoring
### Verbesserte Modularität
- **Getrennte Installationsphasen** für bessere Kontrolle
- **Fallback-Mechanismen** für robuste Installation
- **Intelligente Abhängigkeitserkennung**
- **Automatische Fehlerbehandlung**
### Erweiterte Logging-Funktionen
- **Farbkodierte Ausgabe** für bessere Lesbarkeit
- **Detailliertes Installationslog** (`/var/log/myp-install.log`)
- **Strukturierte Fehlermeldungen**
- **Fortschrittsanzeigen**
## 🔧 Technische Verbesserungen
### SSL-Zertifikat-Management
- **Automatische Mercedes-Zertifikat-Installation**
- **DER-zu-PEM Konvertierung**
- **Zertifikat-Validierung**
- **Ablaufüberwachung**
### Service-Management
- **Zentralisierte Service-Dateien** in `systemd/` Verzeichnis
- **Automatische systemd-Konfiguration**
- **Service-Abhängigkeiten optimiert**
- **Watchdog-Integration verbessert**
### Systemoptimierung
- **Minimale X11-Installation** für Kiosk-Modus
- **Browser-Fallback-Mechanismen** (Chromium → Firefox)
- **Speicher-Überwachung** und automatische Bereinigung
- **Netzwerk-Konnektivitätsprüfung**
## 📊 Kompatibilität
### Unterstützte Systeme
- **Debian 11+** (Bullseye und neuer)
- **Raspberry Pi OS** (alle aktuellen Versionen)
- **Ubuntu 20.04+** (experimentell)
### Rückwärtskompatibilität
- **Bestehende Installationen** können mit Option 3 aktualisiert werden
- **Datenbank-Migration** automatisch
- **Konfigurationsdateien** bleiben erhalten
## 🛡️ Sicherheitsverbesserungen
### Systemd-Härtung
- **NoNewPrivileges** für alle Services
- **ProtectSystem=strict** für Dateisystem-Schutz
- **Minimale Capabilities** für privilegierte Ports
- **Service-Isolation** verbessert
### SSL/TLS-Optimierung
- **Starke Cipher-Suites** konfiguriert
- **TLS 1.2+ erzwungen**
- **Zertifikat-Rotation** automatisiert
- **Corporate-Zertifikat-Integration**
## 🔄 Migration von alten Installationen
### Automatische Migration
```bash
# Backup erstellen
sudo cp -r /opt/myp /opt/myp.backup
# Neue Installation
sudo ./setup.sh
# Option 3: Nur Services installieren
```
### Manuelle Schritte (falls erforderlich)
1. **Service-Dateien aktualisieren**
2. **Systemd-Konfiguration neu laden**
3. **Services neu starten**
4. **Funktionstest durchführen**
## 📈 Performance-Verbesserungen
### Installation
- **Parallele Paket-Downloads** wo möglich
- **Intelligente Abhängigkeitsauflösung**
- **Reduzierte Installationszeit** durch Optimierungen
- **Bessere Fehlerbehandlung** verhindert Neuinstallationen
### Laufzeit
- **Watchdog-Optimierung** für geringeren Ressourcenverbrauch
- **Browser-Cache-Management** automatisiert
- **Speicher-Überwachung** mit automatischer Bereinigung
- **Service-Restart-Logik** verbessert
## 🐛 Behobene Probleme
### Installation
- **npm-Installation** robuster mit Fallback-Strategien
- **SSL-Zertifikat-Generierung** zuverlässiger
- **Service-Abhängigkeiten** korrekt konfiguriert
- **Berechtigungsprobleme** behoben
### Kiosk-Modus
- **Browser-Autostart** zuverlässiger
- **Display-Erkennung** verbessert
- **Crash-Recovery** automatisiert
- **Speicher-Leaks** behoben
## 📚 Dokumentation
### Neue Dokumentation
- **`docs/SETUP_ANLEITUNG.md`** - Vollständige Setup-Anleitung
- **Erweiterte README.md** mit neuen Installationsoptionen
- **Inline-Kommentare** in `setup.sh` für bessere Wartbarkeit
### Aktualisierte Dokumentation
- **API-Dokumentation** überarbeitet
- **Fehlerbehebungsguide** erweitert
- **Konfigurationsoptionen** dokumentiert
## 🔮 Zukunftsausblick
### Geplante Features (v4.1.0)
- **Web-basiertes Setup-Interface**
- **Remote-Installation** über SSH
- **Automatische Updates** über Git
- **Monitoring-Dashboard** für Systemstatus
### Langfristige Ziele
- **Container-basierte Deployment** (Docker)
- **Kubernetes-Integration** für Skalierung
- **Cloud-Deployment-Optionen**
- **Multi-Tenant-Unterstützung**
## 📞 Support und Feedback
### Neue Support-Kanäle
- **System-Test-Funktion** (Option 4) für Selbstdiagnose
- **Automatische Log-Sammlung** für Support-Anfragen
- **Strukturierte Fehlermeldungen** für bessere Problemlösung
### Feedback erwünscht
- **Installation-Erfahrungen** auf verschiedenen Systemen
- **Performance-Messungen** in Produktionsumgebungen
- **Feature-Requests** für zukünftige Versionen
---
**Datum**: 01.06.2025
**Version**: 4.0.0
**Typ**: Major Release - Setup-Konsolidierung
**Kompatibilität**: Rückwärtskompatibel mit automatischer Migration

View File

@@ -1 +1,306 @@
# 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 <service-name>`
**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.