📚 Improved documentation and log files for better system understanding & maintenance. 🖥️🔍
This commit is contained in:
@@ -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
|
||||
|
@@ -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.
|
Reference in New Issue
Block a user