Centos7下keycloak的安装以及使用
环境说明
java版本:1.8.0_101
mysql版本:mysql Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL)
一、keycloak的下载及安装
-
keycloak官网下载安装包
我这边下载的是keycloak-11.0.2.tar.gz
-
将安装包上传至
/usr/local
下 -
解压
tar -zxvf keycloak-11.0.2.tar.gz
二、mysql环境准备
- 创建keycloak数据库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fl7SP3IB-1606195222818)(E:\typora图片\image-20201104221336082.png)]
-
配置mysql驱动
-
创建目录:
/usr/local/keycloak-11.0.2/modules/system/layers/base/com/mysql
-
上传mysql对应的驱动包至该目录下
-
新建文件:
module.xml
<?xml version="1.0" encoding="UTF-8"?> <module name="com.mysql" xmlns="urn:jboss:module:1.5"> <resources> <!-- 改成自己驱动包版本--> <resource-root path="mysql-connector-java-8.0.20.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jAwMeN6q-1606195222821)(E:\typora图片\image-20201104231049056.png)]
-
-
修改standalone.xml文件
/usr/local/keycloak-11.0.2/standalone/configuration/standalone.xml
插入如下配置:
<driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class> </driver>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SUtssEbj-1606195222822)(E:\typora图片\image-20201104224757880.png)]
查找
datasources
一节,修改jndi-name="java:jboss/datasources/KeycloakDS
这节的xml,内容如下<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://localhost:3306/keycloak?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8</connection-url> <!-- 增加时区东八区,增加强制UTF8编码,让其能够写入特殊字符,关闭ssl警告 --> <driver>mysql</driver> <security> <user-name>用户名</user-name> <password>密码</password> </security> </datasource>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ObEIskjw-1606195222823)(E:\typora图片\image-20201104230404620.png)]
三、keycloak配置
-
设置所有ip都能访问,否则浏览器是访问不到虚拟机中keycloak的
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:0.0.0.0}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:0.0.0.0}"/> </interface> </interfaces>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RPpFlsNJ-1606195222825)(E:\typora图片\image-20201104235349372.png)]
-
开放虚拟机端口
#开放端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=9990/tcp --permanent # 重启防火墙 firewall-cmd --reload # 查看放行端口号 firewall-cmd --list-ports
-
初始化一个管理员账户
cd /usr/local/keycloak-11.0.2/bin #执行添加用户命令 ./add-user-keycloak.sh -r master -u admin -p admin
-
启动
cd /usr/local/keycloak-11.0.2/bin ./standalone.sh
四、页面访问
- 输入虚拟机ip:8080/auth,即可看到:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DR9bZdX-1606195222825)(E:\typora图片\image-20201104234943550.png)]
- 点击 administration console,输入初始化的用户名和密码,即可登陆:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s3Z5aOBp-1606195222826)(E:\typora图片\image-20201104235006883.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSiyd5R3-1606195222827)(E:\typora图片\image-20201104235035539.png)]