SSOを導入したいとの依頼があり、無料で出来るkeycloakをテストする事になりました。
サーバーはconohaのVPSでテスト
早速CONOHAサーバーでVPSを取得します。
CONOHAのVPSのいい所は、 VPSの削除が簡単に出来るので、すぐに違う環境が作れる事です。
色んな環境でのテストに向いています。
ちなみに、この記事を書いているのは2023年4月です。
まずOSを選びます。
安定していて使いやすいので、ubuntuの20.04をOSにします。
次にアプリですが、keycloakを使うのにブラウザを使うのでwebサーバーがついている、LAMPサーバーにします。
これでROOTパスワードを設定して「追加」します。
サーバーが出来ました。
ちゃんとWEBサーバーになっているか、ブラウザからIPアドレスを見てみます。
ブラウザで確認出来ました。
ちゃんとWEBサーバーになっています。
では早速、ターミナルでサーバーに入って、keycloakを入れていきます。
まずは、サーバーの整備
新しいサーバーなので色々準備をします。
まずは諸々アップデート
apt-get update -y
次にjavaのインストール
apt-get install default-jdk -y
ちゃんとインストール出来たかバージョンを確認します。
java –version
インストール成功しています。
javaがインスト出来たらkeycloakをgetします。
wget https://github.com/keycloak/keycloak/releases/download/15.0.2/keycloak-15.0.2.tar.gz
getしたら解凍
tar -xvzf keycloak-15.0.2.tar.gz
解凍したらoptに移動
mv keycloak-15.0.2 /opt/keycloak
keycloakをグループに追加
groupadd keycloak
ユーザーを追加
useradd -r -g keycloak -d /opt/keycloak -s /sbin/nologin keycloak
所有者変更
chown -R keycloak: /opt/keycloak
アクセス権変更
chmod o+x /opt/keycloak/bin/
ディレクトリ作成
mkdir /etc/keycloak
confをコピー
cp /opt/keycloak/docs/contrib/scripts/systemd/wildfly.conf /etc/keycloak/keycloak.conf
launch.shをコピー
cp /opt/keycloak/docs/contrib/scripts/systemd/launch.sh /opt/keycloak/bin
所有者変更
chown keycloak: /opt/keycloak/bin/launch.sh
launch.shを編集します。
nano /opt/keycloak/bin/launch.sh
WILDFLY_HOME=“/opt/wildfly”
↓
WILDFLY_HOME=“/opt/keycloak”
に変えます。
keycloak.serviceをコピー
cp /opt/keycloak/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/keycloak.service
keycloak.serviceファイルを編集
nano /etc/systemd/system/keycloak.service
wildflyをkeyclaokに変更
↓
User=keycloak
の下に
Group=keycloak
を追加しています。
次に、デーモンをリロードします。
systemctl daemon-reload
keycloakすたーと
systemctl start keycloak
keycloakを有効化
systemctl enable keycloak
さてここまで来たら、keycloakがちゃんと動いたか確認します。
systemctl status keycloak
失敗していると↓こうなります。
Active: failed
になっていると、どこかで設定が間違っています。
成功していると
Active: active (running)
となっています。
ブラウザでkeycloakを確認
まず、8080がどうなっているか確認
ss -antpl | grep 8080
keycloakの管理人を作成
/opt/keycloak/bin/add-user-keycloak.sh -u admin
パスワード聞かれるので設定する。
keycloakを再起動
systemctl restart keycloak
最後に↓これと
/opt/keycloak/bin/kcadm.sh config credentials –server http://localhost:8080/auth –realm master –user admin
↓これをやって設定は終わり。
/opt/keycloak/bin/kcadm.sh update realms/master -s sslRequired=NONE
ここまで来たらブラウザでkeycloakを見てみましょう!!
http://サーバーのIPアドレス:8080/auth
でアクセスしてみてください。
この画面が表示されたら成功です!!
※たどりつけない場合は8080がブロックされてると思うので、サーバー側で許可して下さい。
またはセキュリティ的に危険ですが
uff disable
ufo allow 8080
でも解放できます!!
お疲れ様でした!!!