# 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