極北別世界通信
シングルサインオン
ようやくKeycloakでのシングルサインオンに手を付けた。
とはいえインターネット経由で使えるようにするとなるとまたSSLの設定やらなんやら必要ですし中々面倒ですな。
まぁ構築後の面倒をさけるための構築なんだからしょうがないんですが。
ちなみにKeyCloakは、単にテスト用程度に構築する分には実はそれほど難しくありません。
JDKのインストール
# yum update -y
# yum install java-1.8.0-openjdk
keycloakのインストール
# cd /opt
# sudo wget https://downloads.jboss.org/keycloak/11.0.2/keycloak-11.0.2.tar.gz
# tar xfpz keycloak-11.0.2.tar.gz
# mv keycloak-11.0.2 keycloak
Keycloakの設定
構築内容や状況によってはほかにもいろいろ必要だが、下記はおそらく絶対必要な対応ではないかと。
# vi /opt/keycloak/standalone/configuration/standalone.xml
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:[KeycloakサーバーのIP]}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:[KeycloakサーバーのIP]}"/>
</interface>
</interfaces>
なお、実際の構築時にはいつも通りリバースプロキシを通すのでSSL化のために下記の太字部分を書き換えている
<subsystem xmlns="urn:jboss:domain:undertow:7.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other">
<buffer-cache name="default"/>
<server name="default-server">
- <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
+ <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" proxy-address-forwarding="true"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
</server>
起動設定のためにサービスとして登録
# sudo vi /etc/systemd/system/keycloak.service
[Unit]
Description=Jboss Application Server
After=network.target
[Service]
Type=idle
Environment=JBOSS_HOME=/opt/keycloak
JBOSS_LOG_DIR=/var/log/keycloak/ "JAVA_OPTS=-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true"
User=root
Group=root
ExecStart=/opt/keycloak/bin/standalone.sh -Djboss.http.port=80 -b 0.0.0.0
TimeoutStartSec=600
TimeoutStopSec=600
[Install]
WantedBy=multi-user.target
設定ファイルを再読み込みし、サービスとして登録、起動します。
# systemctl daemon-reload
# systemctl enable keycloak
# systemctl start keycloak
Keycloakでは管理者をあらかじめ登録しないとアクセスできませんので、管理ユーザーをコンソールから登録します。
ユーザー名とパスワードは任意のものを設定してください。
# /opt/keycloak/bin/add-user-keycloak.sh -r master -u 【ユーザー名】 -p 【パスワード】
これで一応構築は完了です。
ログインしての設定等はまた別途。
Jitsiのリバースプロキシ下動作
Jitsi Meetを既存リバースプロキシの背後で動かす方法を探しているのですが、なかなか見つからない。
Jitsi MeetはインストーラがNginxを設定してくれちゃうらしいのですが、単体のマシンの中でのお話なので、
その設定を他のマシンにもっていってもうまく動かないように思われます。
(必要な設定をちゃんと書き換えればいいんだとは思いますが)
まぁただ、Jitsi Meet自体が20人ぐらいになると、クライアント側での処理が重たくなってなかなか表示が厳しくなるらしいので、単純に既存のZoom等の代替になるかというと難しそうですが。
HCI構成をOSSでやるのはなかなか難しいですな
oVirt+GlusterFSでのOSS HCIを構成しようとしていますが、GlusterFSの作成まではうまく動くのですが、Hosted-Engineの導入で毎回失敗します。
とはいえ実機を準備しておらず、すべて仮想マシンで準備していることも原因かもしれませんが、なかなか厄介ですな。
仮想マシンであればある程度のスペックのものは用意できますが、実機複数台というとちょっと厳しいですなぁ
逆にスペック落としても実機のほうがやりやすいのかもしれませんね。
ダウンローダー設置
そういやこっちに書いてなかった。
総集編以前に出したOperating System Maniacsの旧刊は、こちら からダウンロードできるようにしました。
各種イベントで無料配布したものなどもこちらからダウンロードできるようにしようかと思います。
技術書典9で配布中のものも、こちらにも置いています。
技術書典9戦利品
まだ開催初日なんですよね。まぁしばらくはだらだら見たりしますが。
購入およびいただいたもの。
無料のものが半分くらいでしょうか。当方の無料配布のも入ってるのはご愛敬。
技術書典の開始とちょっとだけリニューアル
はじまりましたねー。オンラインオンリーの開催ってのもすごいもんですね。
さて、大した変化じゃないですが、旧版(マイナーOS本総集編発行以前)のPDFデータをダウンロードできるようにしてみました。多少なり興味のある方は是非見てやってください。
だいたいわけわからんOSをモゾモゾしてるだけではありますが。
おぼえがき
技術書典にかぎりませんが、何かしらないとなかなかきちんとインストール手順とかそういうのもまとめませんね。。。
というわけでイベント様様です。
あと今後やりたいこととかのメモ(前にも書いたけどまぁ)
・オープンソースHCI
・既存リモート環境にシングルサインオンの導入
・Dockerプライベートレジストリをjenkinsとgitlab使って構築
・Snipe IT使って資産管理システム
・Exmentの活用の具体例
・Zabbixでの監視と、各種ログのとりまとめ、可視化
・ヘルプデスクシステムをオープンソースで何とかする
ポイントは当方プログラマでも何でもないので自分でコード書いてどうにかする、という手段は取れないという点です。(自慢にならん)
なるべくありものを駆使してなんとかできれば。
OpenMeetingsのLDAP設定について
OpenMeetingsのVersion5.0.0でのLDAP設定に罠が潜んでたんで軽く記載。
(ってまだLDAP構築記事書き終わっとらんやんけ)
LDAPの設定をやるとき上記のページ(管理者ユーザーで管理⇒LDAPと遷移)で設定を行いますが、ここに罠が。
説明には
「webapp/openmeetings/confに置かれている必要があります」
と書いてあるんですが、実際には
「webapps/openmeetings/data/conf」
に配置する必要があります。
以下参考
https://openmeetings.apache.org/LdapAndADS.html
いやー、しばらく気が付きませんでした。Version5になったときに変更がおいついてないとかなんでしょうか。
技術書典9に参加予定です。
https://techbookfest.org/event/tbf09
というわけで参加予定です。
とりあえずマイナーOS系は残念ながらあまりいいネタが仕入れられていないので怪しいです。
どちらかというとリモートワークを主体とした各種サービスの導入についての書籍になると思います。
可能ならなんらかのマイナーOSネタも扱いたいですが。。。
なお基本的にPDFでのダウンロード販売のみになる予定です。
その他の構築物
こちらも後々詳細を追加する気ではいますが、一応何を書こうと思ってたのかがわからなくならんように記載。
Apache Guacamole
RocketChat
NextCloud
odoo
⇒リバースプロキシ経由でアクセスさせる際の設定等
Docker Hubローカル構築(Gitlab)
Redhat OpenShift 4 テスト環境(Red Hat CodeReady Containers)
9/11追記
ちなみにGuacamole、OpenMeetings、Rocket.Chat、NextCloud nginx(リバースプロキシ)+LDAP構成を取りまとめた本を技術書典に出してます。ぜひ。