📚 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,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.