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