-
官网下载keycloak ,我的版本是
keycloak-4.5.0.Final.tar.gz
-
上传到
linux
,解压tar -zxvf keycloak-4.5.0.Final.tar.gz
-
修改文件夹名称
mv keycloak-4.5.0.Final keycloak
-
修改配置文件
vim keycloak/standalone/configuration/standalone.xml
注意:
xml
中的&
符号需要转义;这里的UTF-8
必须大写,否则启动时抛异常
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://10.8.12.113:3306/keycloak?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=UTF-8</connection-url> <driver>mysql</driver> <security> <user-name>root</user-name> <password>root</password> </security> </datasource> <drivers> <driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver>
-
修改
keycloak
启动时的数据库更新模式,下面的代码在standalone.xml
存在,只需要修改migrationStrategy
属性的value
值,官网的解释如下,我们使用manual
模式,因为keycloak在启动时会创建90多张表,耗时很长,可能导致jboss
启动超时,并且还会有其他问题。manual
模式会创建一部分表,随后导出keycloak-database-update.sql
在keycloak
的解压目录,我们需要手动执行这个sql
文件。
官网文档:https://www.keycloak.org/docs/latest/server_installation/index.html#database<spi name="connectionsJpa"> <provider name="default" enabled="true"> <properties> <property name="dataSource" value="java:jboss/datasources/KeycloakDS"/> <property name="initializeEmpty" value="true"/> <property name="migrationStrategy" value="manual"/> <property name="migrationExport" value="${jboss.home.dir}/keycloak-database-update.sql"/> </properties> </provider> </spi>
-
在第4步,我们使用了
mysql
,因此需要配置mysql
的module
,并引入mysql
的驱动包mkdir -p keycloak/modules/system/layers/base/com/mysql/main/ touch module.xml
module.xml
内容<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.3" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.40.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module>
-
初始化
keycloak
管理员用户keycloak/bin/add-user-keycloak.sh -r master -u admin -p admin
-
创建数据库
CREATE database keycloak DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
-
启动
keycloak
,此过程会耗时很久,可能jboss
会超时。在第5步,会生成keycloak-database-update.sql
,我们使用mysql -uroot -proot --force keycloak < C:\Users\yangzhen\Desktop\keycloak-database-update.sql
执行SQL
,如果直接粘贴到mysql
执行,会有Error
keycloak/bin/standalone.sh
-
再次启动,并访问 http://192.168.1.11:8080/auth/ ,点击
Administration Console
, 使用第7步创建的管理员账号登录
keycloak的安装和启动
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30038111/article/details/83659254
猜你喜欢
转载自blog.csdn.net/qq_30038111/article/details/83659254
今日推荐
周排行