keycloak的安装和启动

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30038111/article/details/83659254
  1. 官网下载keycloak ,我的版本是keycloak-4.5.0.Final.tar.gz

  2. 上传到linux,解压 tar -zxvf keycloak-4.5.0.Final.tar.gz

  3. 修改文件夹名称 mv keycloak-4.5.0.Final keycloak

  4. 修改配置文件 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&amp;useUnicode=true&amp;createDatabaseIfNotExist=true&amp;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>
    
  5. 修改keycloak启动时的数据库更新模式,下面的代码在standalone.xml存在,只需要修改migrationStrategy属性的value值,官网的解释如下,我们使用manual模式,因为keycloak在启动时会创建90多张表,耗时很长,可能导致jboss启动超时,并且还会有其他问题。manual模式会创建一部分表,随后导出keycloak-database-update.sqlkeycloak的解压目录,我们需要手动执行这个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>
    
  6. 在第4步,我们使用了mysql,因此需要配置mysqlmodule,并引入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>
    

    在这里插入图片描述

  7. 初始化keycloak管理员用户

    keycloak/bin/add-user-keycloak.sh -r master -u admin -p admin
    
  8. 创建数据库

    CREATE database keycloak DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
    
  9. 启动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
    
  10. 再次启动,并访问 http://192.168.1.11:8080/auth/ ,点击Administration Console, 使用第7步创建的管理员账号登录
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30038111/article/details/83659254