Files
AZess/README.md
T
2026-07-07 10:17:09 +02:00

2.1 KiB

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):
    python -m venv venv
    source venv/bin/activate
    
  3. Installieren Sie die Abhängigkeiten:
    pip install -r requirements.txt
    

Lokale Ausführung (Entwicklung)

Führen Sie die Flask-App direkt aus:

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:

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