(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Keycloak/Linux】tarで配置した資材からインストールを行う流れ

スポンサーリンク

はじめに

IAMに関するOSSであるKeycloakですが、同ツールをインストールするためにはJDK環境が必要です。
本記事ではJDKのインストールからKeycloakの起動を行うまでの流れを記事にしました。尚、インターネットから隔離された環境を考慮してyum等のツールは利用していません。

環境情報
  • fedora
  • keycloak-21.1.2

Javaのインストール

OpenJDKの公式サイトからLinux用のモジュール(openjdk-xx_linux-x64_bin.tar.gz)を入手した上で展開します。

# ls
openjdk-20_linux-x64_bin.tar.gz
# which java
/usr/bin/which: no java in (/root/.local/bin:/root/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
# tar xzvf openjdk-20_linux-x64_bin.tar.gz 
jdk-20/bin/jar
jdk-20/bin/jarsigner
...
# ls
jdk-20  openjdk-20_linux-x64_bin.tar.gz

展開したディレクトリは管理しやすい場所に移した上でパスを通します。

# mv jdk-20/ /opt/
# ls /opt/
aws  jdk-20
# alternatives --install /usr/bin/java java /opt/jdk-20/bin/java 1
# which java
/usr/bin/java
# alternatives --install /usr/bin/jar jar /opt/jdk-20/bin/jar 1
# alternatives --install /usr/bin/javac javac /opt/jdk-20/bin/javac 1

正常にパスが通っていることが確認できます。

# java -version
openjdk version "20" ...
OpenJDK Runtime Environment (build 20+36-2344)
OpenJDK 64-Bit Server VM (build 20+36-2344, mixed mode, sharing)

Keycloakのインストール

Keycloakのモジュール(keycloak-XX.X.X.tar.gz)を公式サイトから入手した上で、同じように展開します。

# tar xzvf keycloak-21.1.2.tar.gz 
keycloak-21.1.2/version.txt
keycloak-21.1.2/conf/cache-ispn.xml
keycloak-21.1.2/README.md
...
# cd keycloak-21.1.2/
# ls
LICENSE.txt  README.md  bin  conf  lib  providers  themes  version.txt
# ls bin/
client  kc.bat  kc.sh  kcadm.bat  kcadm.sh  kcreg.bat  kcreg.sh

起動用のシェルが存在するので開発用モードで起動すると以下のような標準出力の後に起動します。

# ./bin/kc.sh start-dev
Updating the configuration and installing your custom providers, if any. Please wait.
 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 14764ms
 INFO  [org.keycloak.quarkus.runtime.hostname.DefaultHostnameProvider] (main) Hostname settings: Base URL: <unset>, Hostname: <request>, Strict HTTPS: false, Path: <request>, Strict BackChannel: false, Admin URL: <unset>, Admin: <request>, Port: -1, Proxied: false
...
 INFO  [io.quarkus] (main) Keycloak 21.1.2 on JVM (powered by Quarkus 2.13.8.Final) started in 22.560s. Listening on: http://0.0.0.0:8080
...

確かに別シェルからプロセスを表示すると起動状態が確認できました。

# ps aux | grep keycloak
root        ... pts/0  Sl+  02:59   0:22 /opt/jdk-20/bin/java -Dkc.config.built=true -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.err.encoding=UTF-8 -Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8 --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED -Dkc.home.dir=/root/keycloak-21.1.2/bin/.. -Djboss.server.config.dir=/root/keycloak-21.1.2/bin/../conf -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Dquarkus-log-max-startup-records=10000 -cp /root/keycloak-21.1.2/bin/../lib/quarkus-run.jar io.quarkus.bootstrap.runner.QuarkusEntryPoint --profile=dev start-dev

停止はCtrl+Cで行えました。

^C .. INFO  [io.quarkus] (main) Keycloak stopped in 0.205s

終わりに

KeycloakをLinux機に入れる流れについて記載しました。他の記事ではyumを利用しているケースが多かったため、資材の配置から行いましたが特に問題なく起動まで行えました。

以上、ご参考になれば幸いです。