Keycloak 설치하기: Ubuntu 및 CentOS – 오픈소스 소프트웨어 가이드

Keycloak 은 국제적인 인증, 인가 표준 및 접근 관리에 통합 인증을 제공하는 오픈소스 소프트웨어 제품입니다.

Keycloak의 대표적인 기능은 다음과 같습니다 :

  • 다중 프로토콜 지원 (OIDC, SAML, OAuth 2.0 등)
  • SSO (Single-Sign-On)
  • 사용자 ID 및 액세스
  • 관리자 / 계정관리 콘솔 제공
  • Client Adapters

해당 포스트에서는 Ubuntu 22.04 및 CentOS 7 환경에서 Keycloak을 설치하는 방법을 가이드합니다.

목차

1. Ubuntu Keycloak 설치 구성
 1-1. 환경 업데이트
 1-2. Java 설치
 1-3. Keycloak 설치 및 구성
 1-4. Keycloak 관리자 계정 생성
 1-5. Keycloak 웹 인터페이스 액세스
2. CentOS Keycloak 설치 구성
 2-1. 환경 업데이트
 2-2. Java 설치
 2-3. Keycloak 설치 및 구성
 2-4. Keycloak 관리자 계정 생성
 2-5. Keyclaok 웹 인터페이스 액세스

1. Ubuntu Keycloak 설치 구성

cat /etc/issue

Ubuntu가 최신버전인지 확인합니다.

1-1. 환경 업데이트

apt update

apt update를 사용해 패키지 환경을 업데이트 합니다.

1-2. Java 설치

apt install openjdk-11-jdk

Keycloak은 Java 기반 애플리케이션 이기 때문에 Java를 설치합니다.
원활한 구동을 위해서 JDK 11 버전 이상을 설치해야 합니다.
구버전 Java가 설치되어 있다면 제거 후 설치를 진행합니다.

java -version

Java 버전을 확인합니다.

readlink -f /bin/java

Java가 설치된 물리적 경로를 확인합니다.

vim /etc/profile

profile 파일을 편집기로 오픈 합니다.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java

Java 환경 변수를 등록합니다.

source /etc/profile

profile을 재시작 합니다.

echo $JAVA_HOME

환경 변수를 확인합니다.

1-3. Keycloak 설치 및 구성

wget https://github.com/keycloak/keycloak/releases/download/21.0.1/keycloak-21.0.1.tar.gz

Keyclaok 최신 버전을 다운로드합니다.

tar -zxf keycloak-21.0.1.tar.gz

다운 받은 파일의 압축을 해제합니다.

cd keycloak-21.0.1/

압축이 해제된 디렉토리로 이동합니다.

ufw allow 8080

Keycloak을 실행하기 전, 8080 포트의 방화벽을 오픈합니다.

sudo bin/kc.sh start-dev

해당 명령어로 keycloak을 실행합니다.

1-4. Keycloak 관리자 계정 생성

localhost:8080 으로 접속하고 아이디와 패스워드를 친 후
Create 버튼을 눌러 관리자 계정을 생성합니다.

1-5. Keyclaok 웹 인터페이스 액세스

생성한 관리자 계정을 통해 웹 인터페이스에 접근합니다.

최종적으로 접속이 되는지 확인합니다.

2. CentOS Keycloak 설치 구성

cat /etc/centos-release

CentOS가 최신버전인지 확인합니다.

2-1. 환경 업데이트

yum update

yum update 명령어를 사용해 패키지 환경을 업데이트 합니다.

2-2. Java 설치

keycloak shell command14
yum install java-11-openjdk

Keycloak은 Java 기반 애플리케이션 이기 때문에 Java를 설치합니다.
원활한 구동을 위해서 JDK 11 버전 이상을 설치해야 합니다.
구버전 Java가 설치되어 있다면 제거 후 설치를 진행합니다.

keycloak shell command13
java -version

Java 버전을 확인합니다.

keycloak shell command12
readlink -f /bin/java

Java가 설치된 물리적 경로를 확인합니다.

keycloak shell command11
vim /etc/profile

profile 파일을 편집기로 오픈 합니다.

keycloak shell command10
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/bin/java

Java 환경 변수를 등록합니다.

keycloak shell command8
source /etc/profile

profile을 재시작 합니다.

keycloak shell command7
echo $JAVA_HOME

환경 변수를 확인합니다.

2-3. Keycloak 설치 및 구성

keycloak shell command4
wget https://github.com/keycloak/keycloak/releases/download/21.0.1/keycloak-21.0.1.tar.gz

Keyclaok 최신 버전을 다운로드합니다.

keycloak shell command5
tar -zxf keycloak-21.0.1.tar.gz

다운 받은 파일의 압축을 해제합니다.

keycloak shell command1
firewall-cmd --zone=public --add-port=8080/tcp --permanent

Keycloak을 실행하기 전, 8080 포트의 방화벽을 오픈합니다.

keycloak shell command2
firewall-cmd --reload

방화벽을 재시작합니다.

cd keycloak-21.0.1/

압축이 해제된 디렉토리로 이동합니다.

bin/kc.sh start-dev

해당 명령어로 keycloak을 실행합니다.

keycloak shell command3

2-4. Keycloak 관리자 계정 생성

localhost:8080 으로 접속하고 아이디와 패스워드를 친 후
Create 버튼을 눌러 관리자 계정을 생성합니다.

2-5. Keyclaok 웹 인터페이스 액세스

생성한 관리자 계정을 통해 웹 인터페이스에 접근합니다.

최종적으로 접속이 되는지 확인합니다.

Keycloak에 대한 기술지원 또는 NGINX Plus + Keycloak 연동에 대해 컨설팅이 필요하시다면 아래 폼을 통해 신청해주세요!

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required