Установка Keycloak
Установка Keycloak на Oracle Linux 8.5
Первым шагом ставим Java
yum install java-17-openjdk.x86_64
Скачиваем установщик https://www.keycloak.org/downloads и распаковываем его в /opt/keycloak
Добавляем пользователя и группу
groupadd -r keycloak useradd -m -d /var/lib/keycloak -s /sbin/nologin -r -g keycloak keycloak
Выставляем права
chwon -R keycloak: /opt/keycloak chmod 744 /opt/keycloak/bin/kc.sh
Скачиваем модуль для работы java приложения с базой PostgresSQL https://jdbc.postgresql.org/download.html
Далее кладём его в папку /opt/keycloak/providers, тут не понятно - не стартует, надо проверить, до кучи кидаем в /opt/drivers
Производим установку PostgreSQL
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm dnf module disable postgresql dnf install postgresql13-server postgresql13 /usr/pgsql-13/bin/postgresql-13-setup initdb systemctl enable postgresql-13 systemctl start postgresql-13
Подключаемся к PostgreSQL и создаём пользователя и базу
su - postgres psql create user keycloak with password 'DB_PASS'; create database keycloak owner keycloak; grant all privileges on database keycloak to keycloak;
Редактируем конфиг /var/lib/pgsql/13/data/pg_hba.conf
host all all 127.0.0.1/32 trust
Рестартим PostgreSQL
systemctl restart postgresql-13
Запускаем сборку
/opt/keycloak/bin/kc.sh build
Правим конфиг внося нужные изменения /opt/keycloak/conf/keycloak.conf
# The database vendor. db=postgres # The username of the database user. db-username=keycloak # The password of the database user. db-password=DB_PASS # The full database JDBC URL. If not provided, a default URL is set based on the selected database vendor. db-url=jdbc:postgresql://localhost/keycloak # Observability # If the server should expose metrics and healthcheck endpoints. metrics-enabled=true # Hostname for the Keycloak server. hostname=keycloak.site
Перед первым запуском добавляем в env админа с паролем, при запуске keycloak он перенесётся в базу
export KEYCLOAK_ADMIN=keycloak_admin export KEYCLOAK_ADMIN_PASSWORD=PASSWORD
Запускаем keycloak
/opt/keycloak/bin/kc.sh -cf conf/keycloak.conf start-dev --http-port 80
Заходим в web-интерфейс и наслаждаемся
http://keycloak.site