Linux系统(CentOS)安装KeyCloak

概述

Keycloak是开源的身份及访问控制管理软件,提供开箱即用的认证、授权、单点登录、用户管理等功能,更容易地对应用和服务进行安全保护。

本文档提供的Keycloak,基于开源的Keycloak V3.4.0,增加了扩展的自定义REST API和个性化主题,并初始化了MySQL数据库连接模块,可以更加快速地实施搭建,以提供统一身份认证和访问控制功能。

Keycloak的安装部署过程,可以概括为系统环境准备安装包准备实施部署,如下:

系统环境准备:Keycloak可以运行在任何具有JRE的操作系统上,本文档提供的Keycloak还需要MySQL。

安装包准备:请联系技术研究中心技术支持部(电话:0531-85105635),获取Keycloak安装包;或者见网盘

实施部署:包括安装发布包、创建数据库、启动。

系统环境准备

硬件环境要求

(1)     至少512M内存。

(2)     至少1G磁盘空间。

软件环境要求

(1)     需要安装Java 8 JDK,以提供Keycloak所需的Java运行时环境。

(2)     安装MySQL 5.x版本,并配置为表名不区分大小写,作为Keycloak的数据源。

(3)     需要解压缩软件,用于解压Keycloak安装包。

keycloak的需要jdk以及mysql的支持,这里要求jdk1.8以上mysql5.7以上,我部署的时候使用的jdk1.8_u201以及mysql5.7.25

检查系统中是否有jdk,在命令行输入java -version,若有以下信息则说明安装成功

检查系统中是否有mysql,在命令行输入ps -el|grep mysql,若有以下信息则说明安装成功

安装包准备

安装包所含的文件清单如下:

序号

名称

说明

1

Keycloak-3.4.0.Final.zip

Keycloak官方发布包,下载地址

2

Keycloak-additional.zip

增加自定义API,个性化主题等特性

3

Keycloak-init.sql

初始化SQL

部署实施

1.安装发布包

先解压Keycloak-3.4.0.Final.zip到一个目录下,如解压到/opt/keycloak中,然后解压Keycloak-additional.zip到上一个的解压文件里面,即/opt/keycloak/Keycloak-3.4.0.Final

unzip keycloak-3.4.0.Final.zip -d /opt/keycloak
unzip -o keycloak-additional.zip -d /opt/keycloak/keycloak-3.4.0.Final/

2.创建数据库

第一步,创建MySQL数据库keycloak,再使用keycloak-init.sql进行初始化。

第二步,修改数据库连接配置,包括数据库地址与端口、数据库名称、数据库连接用户名与密码。配置文件位置:

{KEYCLOAK_HOME}/standalone/configuration/standalone.xml

Linux系统(CentOS)安装KeyCloak_第1张图片

3.启动与停止

一种是前台启动,一种是后台启动,前台启动的话需要不关闭当前窗口,后台启动的话会一直启动杀死进程才会停止keycloak

前台启动:

cd {KEYCLOAK_HOME}

./bin/standalone.sh -Djboss.http.port=9080 -Djboss.bind.address.management=10.111.25.222 -Djboss.bind.address=10.111.25.222

启动后,在命令行显示started,表示启动成功,如下所示:

上述启动命令中包括一些“-D”参数,这里做一下详细说明。

-Djboss.http.port=9080:

用于指定所用的HTTP端口,默认是8080。keycloak所用的端口有近十个,部署时根据当前服务器端口的可用情况进行修改,一般可能需要修改的端口详见{KEYCLOAK_HOME}/standalone/configuration/standalone.xml,如下:

Linux系统(CentOS)安装KeyCloak_第2张图片

-Djboss.bind.address.management=10.110.13.xx -Djboss.bind.address=10.110.13.xx:

用于绑定Keycloak部署的服务器IP,如果Keycloak部署在内外网环境下,那么使用内网IP绑定。如果10.110.13.xx对应的内网地址是172.16.1.32,启动命令就变成了

./bin/standalone.sh -Djboss.http.port=9080 -Djboss.bind.address.management=172.16.1.32 -Djboss.bind.address=172.16.1.32

配置文件中所有的“${}”标记的配置项,既可以直接在配置文件中修改,也可以启动时用“-D”指定。

停止

这种启动后,命令行仍在前台,使用Ctrl+c强制结束进程,即可停止Keycloak

后台启动:

使用“nohup”和“&”,以后台进程的方式启动,即“nohup”+空格+要执行的命令+空格+“&”,如下:

d {KEYCLOAK_HOME}

nohup ./bin/standalone.sh -Djboss.http.port=9080 -Djboss.bind.address.management=10.111.25.222 -Djboss.bind.address=10.111.25.222 &

  停止

这种方式,需要使用kill+进程号的方式停止Keycloak。如下所示:

ps -ef | grep keycloak

kill -9 4814

以上介绍的两种方式,更适合开发阶段,在测试环境和生产环境上,建议将Keycloak添加的系统服务中,以系统服务的方式启停。

 

参考文档:http://idatalake.inspur.com/jsp/indata/docs/product/intelligentQA.jsp?li=nav-doc

你可能感兴趣的:(部署,Linux+Shell指令)