first commit

This commit is contained in:
2026-07-07 10:17:09 +02:00
commit 368a691484
+57
View File
@@ -0,0 +1,57 @@
# AZess
AZess ist eine interne Web-Anwendung für IT-Administratoren, um Active Directory-Benutzerkonten einzurichten.
Die Anwendung generiert sichere Passwörter nach festen Regeln und stellt einen herunterladbaren PDF-Antrag mit den Benutzerdaten zur Verfügung.
Es werden keine Daten auf dem Server gespeichert (keine Datenbank, keine Logs, keine Sessions).
## Systemanforderungen
- Python 3.8+
- Linux (empfohlen für den Produktionsbetrieb mit Gunicorn)
- System-Pakete für `WeasyPrint` (PDF-Generierung):
- Ubuntu/Debian: `sudo apt-get install build-essential python3-dev python3-pip python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info`
- Alpine: `apk add pango fontconfig ttf-ubuntu-font-family`
- CentOS/RHEL: `sudo yum install pango`
## Installation
1. Klonen Sie das Repository oder kopieren Sie die Dateien auf den Server.
2. Erstellen Sie eine virtuelle Umgebung (empfohlen):
```bash
python -m venv venv
source venv/bin/activate
```
3. Installieren Sie die Abhängigkeiten:
```bash
pip install -r requirements.txt
```
## Lokale Ausführung (Entwicklung)
Führen Sie die Flask-App direkt aus:
```bash
python app.py
```
Die Anwendung ist nun unter `http://localhost:5000` erreichbar.
## Produktion (mit Gunicorn)
Für den Produktionsbetrieb auf einem Linux-Server verwenden Sie Gunicorn:
```bash
gunicorn -w 4 -b 0.0.0.0:8000 app:app
```
(Passt die Anzahl der Worker (`-w 4`) und den Port (`-b 0.0.0.0:8000`) an Ihre Server-Konfiguration an).
Wir empfehlen, Gunicorn hinter einem Reverse-Proxy wie Nginx oder Apache zu betreiben.
## Anpassung des PDF-Templates
Das Layout des heruntergeladenen PDFs kann in der Datei `templates/benutzer_template.html` angepasst werden.
Dies ist eine HTML-Datei, die CSS verwendet (konvertiert von WeasyPrint in ein A4-Querformat).
Verwenden Sie die folgenden Platzhalter für die dynamischen Daten:
- `{{VORNAME}}` - Vorname des Benutzers
- `{{NACHNAME}}` - Nachname des Benutzers
- `{{BENUTZERNAME}}` - Generierter Benutzername
- `{{PASSWORT}}` - Generiertes Passwort
- `{{DATUM}}` - Aktuelles Datum im Format TT.MM.JJJJ