Wer seine Benutzerverwaltung souverän in die eigene Hand nehmen will, kommt an Keycloak kaum vorbei. Das Open-Source-Projekt von Red Hat ist eine mächtige Lösung für Single Sign-On (SSO), OAuth2, OpenID Connect und Zugriffsmanagement. In dieser Anleitung zeigen wir, wie du Keycloak auf einem Debian- oder Ubuntu-Server installierst, sicher konfigurierst und mit SSL verschlüsselst – inklusive der Einrichtung deines ersten Realms.
Voraussetzungen
Bevor es losgeht, solltest du Folgendes vorbereitet haben:
- Einen Server mit Debian 12 oder Ubuntu 24.04 LTS
- Root-Zugang oder ein Benutzer mit sudo-Rechten
- Eine registrierte Domain (z. B.
id.deinserver.de) - Java 17 oder höher
- Optional: NGINX oder Apache2 als Reverse-Proxy
Schritt 1: System aktualisieren
Zuerst wird das System auf den neuesten Stand gebracht:
``bash sudo apt update && sudo apt upgrade -y ``
Schritt 2: Java installieren
Keycloak benötigt Java, vorzugsweise OpenJDK 17:
``bash sudo apt install openjdk-17-jdk -y ``
Überprüfe die Installation:
``bash java -version ``
Schritt 3: Keycloak herunterladen und entpacken
Lade die aktuelle Version direkt von GitHub herunter:
``bash cd /opt sudo wget https://github.com/keycloak/keycloak/releases/download/26.0.2/keycloak-26.0.2.tar.gz sudo tar -xzf keycloak-26.0.2.tar.gz sudo mv keycloak-26.0.2 keycloak ``
Schritt 4: Keycloak konfigurieren
Wechsle ins Installationsverzeichnis:
``bash cd /opt/keycloak ``
Starte den Konfigurationsassistenten:
``bash sudo ./bin/kc.sh build ``
Schritt 5: Admin-Benutzer anlegen
Lege einen Administrator-Account an:
``bash sudo ./bin/kc.sh create-admin --user admin --password MeinSicheresPasswort ``
Schritt 6: Keycloak starten
Zum Testen kann Keycloak direkt gestartet werden:
``bash sudo ./bin/kc.sh start-dev ``
Danach erreichst du das Admin-Interface über: 👉 http:// oder http://id.deinserver.de:8080
Für den Produktivbetrieb nutzt du:
``bash sudo ./bin/kc.sh start --hostname id.deinserver.de --https-certificate-file /etc/ssl/certs/fullchain.pem --https-certificate-key-file /etc/ssl/private/privkey.pem ``
Schritt 7: SSL-Absicherung (empfohlen)
Falls du keinen eigenen Reverse-Proxy einsetzt, kannst du Let’s Encrypt direkt über Certbot verwenden:
``bash sudo apt install certbot -y sudo certbot certonly --standalone -d id.deinserver.de ``
Danach verknüpfe die Zertifikate in deiner Start-Konfiguration (siehe oben).
Alternativ bietet sich die Kombination mit NGINX an, der Anfragen an Keycloak weiterleitet:
``bash sudo apt install nginx -y ``
Beispiel-Konfiguration:
``nginx server { server_name id.deinserver.de; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } listen 443 ssl; ssl_certificate /etc/letsencrypt/live/id.deinserver.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/id.deinserver.de/privkey.pem; } ``
Schritt 8: Erster Realm & Client
Melde dich an unter: 👉 https://id.deinserver.de/auth
- Erstelle einen neuen Realm (z. B. „Organisation“)
- Lege einen Client an (z. B. „Nextcloud“)
- Füge Benutzer hinzu und weise Rollen zu
Schon jetzt kannst du deine ersten Anwendungen über Single Sign-On mit Keycloak verbinden.
Schritt 9: Keycloak als Dienst einrichten (systemd)
Damit Keycloak automatisch startet:
``bash sudo nano /etc/systemd/system/keycloak.service ``
Inhalt:
```ini [Unit] Description=Keycloak Service After=network.target
[Service] User=root ExecStart=/opt/keycloak/bin/kc.sh start Restart=always
[Install] WantedBy=multi-user.target ```
Dann aktivieren:
``bash sudo systemctl enable keycloak sudo systemctl start keycloak ``
Mit wenigen Befehlen lässt sich Keycloak unter Debian oder Ubuntu installieren und produktiv absichern. Du hast jetzt ein vollständiges Identity-Management-System, das Open-Source, erweiterbar und DSGVO-konform ist – perfekt für eigene Anwendungen, Intranet-Portale oder ganze Behördenplattformen.