Keycloak installieren: Dein sicherer Hafen für Benutzerverwaltung – Schritt für Schritt
Du bist es leid, dich durch ein Labyrinth aus Passwörtern zu schlängeln? Dein System sieht aus, als hätte ein kleiner T-Rex dort ein Picknick veranstaltet? Dann ist Keycloak genau das Richtige für dich. Diese Open-Source-Lösung ist wie ein gut organisiertes Büro für deine Benutzerverwaltung – sicher, effizient und leicht zu handhaben. In diesem Guide zeigen wir dir, wie du Keycloak mit Docker einrichtest, damit du dich auf das Wesentliche konzentrieren kannst.
Vorbereitung ist alles: Was du brauchst
- Ein Computer mit Internetzugang: Na, das sollte klar sein, oder?
- Grundkenntnisse in Linux: Du solltest dich mit der Kommandozeile auskennen (z.B. Ubuntu/Debian).
- Docker und Docker Compose: Diese beiden sind das Herzstück unserer Installation. Falls du sie noch nicht hast, musst du sie zuerst installieren.
Docker Compose installieren – Der Schlüssel zum Erfolg
Docker Compose ist wie ein Dirigent für deine Docker-Container. Es ermöglicht dir, mehrere Container gleichzeitig zu verwalten.
sudo apt-get update
sudo apt-get install -y curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update && sudo apt-get install docker-ce
Und jetzt, die Installation von Docker Compose selbst:
curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$((uname -s)-$((uname -m))"-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # Überprüfen Sie die Installation
Die Keycloak-Umgebung vorbereiten – Ein sauberer Arbeitsplatz Wir erstellen zuerst eine Ordnerstruktur für unsere Keycloak-Datenbanken. Das ist wie das Anlegen eines ordentlichen Archivs für alle wichtigen Dokumente.
mkdir ~/keycloak-databases && cd ~/keycloak-databases
touch ./data-sql/mysqld.conf ./docker-compose.yml .env
chmod 777 data-sql/
MySQL konfigurieren – Die solide Basis MySQL ist die Datenbank, in der Keycloak alle Benutzerdaten speichert. Wir erstellen eine Konfigurationsdatei für MySQL.
Erstelle die Datei data-sql/mysqld.conf mit folgendem Inhalt:
[mysqld]
bind-address = 0.0.0.0
port = 3306
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
log-error=/var/log/mysql/error.log
pid-file=/var/run/mysqld/mysqld.pid
user=mysql
Dann die docker-compose.yml Datei:
version: '3.4'
services:
mysqldb:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
env_file: .env
environment:
MYSQL_ROOT_PASSWORD: rootpassword # Root-Passwort für MySQL
MYSQL_DATABASE: keycloak-db
MYSQL_USER_KEYCLOAK: keycloak-user
MYSQL_PASSWORD_KEYCLOAK: passwordkeycloak # Keycloak-Benutzerpasswort
mem_limit: 500m
ports:
- "33066:/3306"
volumes_from:
- mysqldb
volumes:
data-sql:
networks:
default:
Und schließlich die .env Datei (passe die Werte an deine Bedürfnisse an):
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=keycloak-db
MYSQL_USER_KEYCLOAK=keycloak-user
MYSQL_PASSWORD_KEYCLOAK=passwordkeycloak
Keycloakstarten – Das Herzstück der Benutzerverwaltung Jetzt kommt der wichtigste Schritt: Wir starten den Keycloak-Container.
docker run -d --name keycloak \
-p 8080:8080 \
-e "DB_VENDOR=MYSQL" \
-e "KEYCLOAK_USER=keycloak-user" \
-e "KEYCLOAK_PASSWORD=passwordkeycloak" \
-v ~/keycloak-databases/data-sql/:/var/lib/mysql \
jboss/Keycloak
Testen – Ist alles grün? Überprüfe, ob der Keycloak-Server läuft, indem du im Browser http://localhost:8080/auth/ aufrufst. Du solltest die Anmeldeseite sehen.
Melde dich an und erstelle deinen ersten Benutzer.
Wichtige Hinweise – Sicherheit geht vor!
- Firewall: Stelle sicher, dass deine Firewall die Ports 3306 (MySQL) und 8080 (Keycloak) freigibt.
- Passwörter: Verwende starke, einzigartige Passwörter für alle Konten.
- Backups: Erstelle regelmäßig Backups deiner Keycloak-Datenbank.
Pro-Tip: Die Magie von Linux – Und warum du es lieben wirst Linux ist wie ein Schweizer Taschenmesser für Entwickler. Es bietet dir die Flexibilität und Kontrolle, die du brauchst, um deine Projekte zum Laufen zu bringen. Und mit Docker und Keycloakhast du ein mächtiges Werkzeug, um deine Benutzerverwaltung sicher und effizient zu gestalten.
Zusammenfassung der Befehle:
{
"name": "docker-compose up -d mysqldb",
"parameters": {
"command": "--default-authentication-plugin=mysql_native_password",
"restart": "always",
"env_file": ".env",
"environment": [
"MYSQL_ROOT_PASSWORD: rootpassword",
"MYSQL_DATABASE: keycloak-db",
"MYSQL_USER_KEYCLOAK: keycloak-user",
"MYSQL_PASSWORD_KEYCLOAK: passwordkeycloak"
],
"mem_limit": "500m",
"ports": [
"33066:/3306"
],
"volumes_from": [
"mysqldb"
]
}
}
Und denk dran: Ein gut organisierter Benutzerzugriff ist das A und O für ein entspanntes Entwicklerleben. Viel Erfolg!