Keycloak-Installation auf Debian mit MariaDB als Datenbank

Installationsanleitung für eine Keycloak-Installation mit einer MariaDB für den produktiven Einsatz.

1. Vorbereitung des Systems und erstellen der Datenbank

Zuerst installiern wir MariaDB und das benötigte JDK:

sudo apt update && sudo apt -y install mariadb-server openjdk-17-jdk

Anschließend richten wir den Datenbank-Server ein:

sudo mariadb-secure-installation

Hier werden alle Fragen mit "Y" (yes) beantwortet und ein Root-Passwort für die MariaDB erstellt.

Mit dem angegebenen Passwort loggen wir uns jetzt über den MySQL CLI Client in der Maria DB ein. Anschließend erstellen wir eine Datenbank und einen Benutzer für Keycloak:

mysql -u root -p
CREATE DATABASE keycloak;
GRANT ALL ON keycloak.* TO 'keycloak'@'localhost' IDENTIFIED BY 'strongpassword';
FLUSH PRIVILEGES;
EXIT;

2. Keycloak installieren

Beim erstellen dieser Anleitung war Keycloak in der Version 18 aktuell. Ihr solltet aber auf jeden Fall, die aktuellste Version von keycloak.org herunterladen.

Also runterladen und entpacken:

cd ~
wget https://github.com/keycloak/keycloak/releases/download/18.0.0/keycloak-18.0.0.tar.gz
tar xfz keycloak-18.0.0.tar.gz
cd keycloak-18.0.0

Anschließend bearbeiten wir die Datei conf/keycloak.conf und ändern den Inhalt wiefolgt ab:

db=mariadb
db-username=keycloak
db-password=strongpassword
db-url=jdbc:mariadb://localhost:3306/keycloak

hostname=keycloak.example.org

Als hostname tragt ihr die Domain ein, über die der Keycloak später zu erreichen ist.

Ist die Basiskonfiguration erledigt, kann der Server für die Ersteinrichtung gestartet werden:

bin/kc.sh start-dev

Jetzt muss der Server über http://localhost:8080 aufgerufen werden.
Wer wie ich keine grafische Oberfläche auf dem Server hat, kann sich hier mit einem SSH-Tunnel helfen!

Nach dem Anlegen eines Admin-Accounts, kann der Server auch über seine offizielle IP/Domain aufgerufen werden.

3. Keycloak als Dienst im systemd registrieren

Wir legen unsere systemd-Service-Datei /etc/systemd/system/keycloak.service mit folgendem Inhalt an:

[Unit]
Description=Keycloak
After=network.target

[Service]
Type=idle
User=keycloak
Group=keycloak
ExecStart=/home/keycloak/keycloak-18.0.0/bin/kc.sh start --auto-build
TimeoutStartSec=600
TimeoutStopSec=600

[Install]
WantedBy=multi-user.target

Den Benuztername, die Gruppe und den Pfad, müsst ihr natürlich an eure Daten anpassen.

Dann den Dienst aktivieren und starten:

sudo systemctl daemon-reload
sudo systemctl enable keycloak
sudo systemctl start keycloak

Fertig, jetzt kann der Keycloak nach eigenen Bedürfnissen eingerichtet werden.

Neuen Kommentar hinzufügen

Sie können einen Kommentar abgeben, indem Sie das unten stehende Formular ausfüllen. Nur Text.

Ihre E-Mail-Adresse wird nicht veröffentlicht