OpenAM・OpenIDのスタンドアロン環境を構築 - mitsuaki0717/shino-repo GitHub Wiki
環境
OS:CentOS7.4
Hostname:test-cent.test.com
●CentOS7にGUIをインストール
- yum -y groupinstall “GNOME Desktop”
- systemctl set-default graphical.target
- systemctl get-default
- shutdown -r now
●FQDNを設定
hostnamectl set-hostname test-cent.test.com
- vi /etc/sysconfig/network
HOSTNAME=test-cent.test.com
●hostsファイルの編集
vi /etc/hosts
192.168.0.100 test-cent.test.com
●openamユーザーの作成
- useradd -s /sbin/nologin openam
●Openjdkをインストール
- yum install java-1.8.0-openjdk
- yum install java-1.8.0-openjdk-devel
●tomcatのインストール
- yum install wget
- wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.zip
- unzip apache-tomcat-8.0.47.zip -d /opt
- ln -s /opt/apache-tomcat-8.0.47 /opt/tomcat
- vi /etc/security/limits.conf
以下を追記
openam soft nofile 65536
openam hard nofile 131072 - yum install httpd mod_ssl
- vi /etc/httpd/conf.d/openam.conf
以下を追記
Proxypass / ajp://localhost:8009/ - systemctl enable httpd
- systemctl restart httpd
●OpenAMをダウンロード&デプロイ
- wget http://download.forgerock.org/downloads/openam/OpenAM-14.0.0-SNAPSHOT_20161122.war -O /opt/tomcat/webapps/openam.war
↑のwarファイルは壊れてるっぽい。展開できない。
以下の公式サイトからダウンロードする
https://backstage.forgerock.com/downloads
今回の案件で使用しているバージョンについては以下からダウンロード
https://github.com/ForgeRock/openam-community-edition/releases
「OpenAM-Community-Edition-11.0.3.war」
- vi /opt/tomcat/bin/setenv.sh
以下を追記
#!/bin/sh
JAVA_HOME=/usr
JAVA_OPTS=“-server -Xmx1024m”
※LBの配下にOpenAMを配置する場合は以下となる。
JAVA_OPTS=“-Xmx1024m -XX:MaxPermSize=256m”
export JAVA_OPTS
- chown -R openam. /opt/tomcat/
- chmod +x /opt/tomcat/bin/*.sh
●tomcatを起動
- sudo -u openam /opt/tomcat/bin/startup.sh
●初期設定
ブラウザで以下のURLに接続
https://test-cent.test.com/openam
●OAuthを使ってプロバイダの設定を行う(12/9参照)
確認
curl -k https://test-cent.test.com/openam/.well-known/openid-configuration
参考URL
https://qiita.com/advent-calendar/2016/openam-alone
postgresqlを使う
http://tryerror.net/tryerror/wordpress/post-259
LinuxをLBにする
IPエイリアスを設定(公開IP用)
※クライアントからサービス用にリクエストを受け付けるためのIPアドレス
eth1:0等
IPフォワーディング設定
vi /etc/sysctl.conf
以下を追記
net.ipv4.ip_forward = 1
systemctl -p
keepalivedおよびipvsadmをインストール
yum install ipvsadm keepalived
LVSの設定をクリアしておく
ipvsadm -C
keepalivedの設定
設定ファイルのバックアップ
cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bkup
サービスIPアドレス設定(上記手順で設定したVIPを指定)
ipvsadm -A -t 192.168.1.100:80
転送先となるIPおよびポートを設定する
ipvsadm -a -t 192.168.1.100:80 -r 192.168.0.100:80 -m
ipvsadm -a -t 192.168.1.100:80 -r 192.168.0.106:80 -m
設定の確認
ipvsadm -l
touch /etc/sysconfig/ipvsadm
systemctl start ipvsadm
systemctl enable ipvsadm
keepalived設定
vi /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected] !<通知メール送信先メールアドレス>
}
notification_email_from [email protected] !<通知メール送信元メールアドレス>
smtp_server 127.0.0.1 !メール送信に使用するSMTPサーバのIPアドレス
smtp_connect_timeout 30
router_id LVS_DEVEL !ロードバランサを識別するための名前(デフォルト)
}
virtual_server 192.168.1.100 80 {
delay_loop 5
lb_algo wlc
lb_kind NAT
!persistence_timeout 0
protocol TCP
sorry_server 192.168.0.105 80
}
systemctl start keepalived
systemctl enable keepalived
OpenAMのデータストア用にPostgreSQLを使う
http://tryerror.net/tryerror/wordpress/post-259
テーブルを作成
create table auth_users(
uid varchar(50),
cn varchar(50),
inetuserstatus varchar(20),
userpassword varchar(50),
ChangePassword varchar(50),
mail varchar(50),
sunIdentityMSISDNNumber varchar(50),
sn varchar(50),
manager varchar(50),
preferredlocale varchar(10),
iplanet_am_user_password_reset_force_reset varchar(50),
givenname varchar(50),
iplanet_am_user_alias_list varchar(50),
iplanet_am_user_account_life varchar(50),
telephonenumber varchar(50),
employeenumber varchar(50),
iplanet_am_user_auth_config varchar(50),
postaladdress varchar(50),
iplanet_am_user_password_resetoptions varchar(50),
iplanet_am_user_password_reset_question_answer varchar(50),
iplanet_am_user_success_url varchar(50),
iplanet_am_user_failure_url varchar(50)
);
openamサーバで実施
wget https://jdbc.postgresql.org/download/postgresql-42.1.4.jre6.jar
mv postgresql-42.1.4.jre6.jar /opt/tomcat/webapps/openam/WEB-INF/lib
chown openam.openam postgresql-42.1.4.jre6.jar
OpemAMの認証サーバを冗長構成にする
https://blue21neo.blogspot.jp/p/centos6openam10-lvsnatopenam.html