インストール
実習セミナー内に準備されたLinuxサーバに、Shibbolethをインストールする手順となっています。
1. 実習に使用する仮想サーバについて
以下は本技術ガイドで構築する前提となる環境です。
- OS、DNS、ネットワーク、時刻同期などは設定済みとなっています。(Apache HTTP Server、mod_sslもインストール済み)
- CentOS7
- メモリ2GB以上
- Apache HTTP Server 2.4 と mod_ssl
- Shibboleth SP v3.0.0
用語 | |
---|---|
DNS | DNSは、Domain Name Systemの略で、その名前が示すようにインターネット上でドメイン名(ドメインネーム)を管理・運用するために開発されたシステム。 |
Apache HTTP Server | Apache License2.0の条件でリリースされるフリーでオープンソースのクロスプラットフォームのWebサーバソフトウェア。 |
mod_ssl | mod_sslはOpenSSLを使ってApache HTTP ServerをSSL(Secure Sockets Layer)に対応させるモジュール。 |
Shibboleth SP | Shibbolethは、組織内および組織を超えてWeb上でフェデレーション・シングルサインオン(SSO)を実現する、標準的なオープンソースソフトウェアのパッケージです。 このようなShibbolethを用いた認証を、Shibboleth(シボレス)認証と呼びます。 Shibboleth SPはSP(Service Provider)側にインストールするコンポーネントです。 |
SPサーバにインストールするのは、
- Apache HTTP Server
- mod_ssl
- Shibboleth SP
の3つのパッケージで、下図で背景色が白である図形部分です。
但し、本実習ではApache HTTP Server、mod_sslはインストール済(下図、白背景の四角で示しています)のサーバを準備しており、Shibboleth SPをインストールする実習になります。(下図、白背景の楕円形で示しています)
なお、以降の節ののコマンド投入と実行結果のメッセージを示す枠(ライトグレー背景色)内では、以下のように文字の色分けをしています。
緑色の文字 | 端末画面にキーボード入力する行。 この文字列をコピー&ペーストして端末画面に入力もできる。 |
黒色の文字 | コマンド実行結果のメッセージ。 行数が多い時は<中略>と表記し、メッセージ全部の表記を省略している。 |
赤色の文字 | コマンド実行結果のメッセージで注意する部分。 |
青色の文字 | 前後の行を説明する。 |
また、実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinuxが無効化されていることを確認してください。
$ /usr/sbin/getenforce
Disabled
なお、sudoコマンドを実行し、rootユーザで以降のコマンドを実行するようにします。
$ sudo -i
#
2.Shibbolethのインストール
1. repositoryファイル追加
Shibboleth用のrepositoryファイルをダウンロードします。
# curl -O 'https://shibboleth.net/cgi-bin/sp_repo.cgi?platform=CentOS_7'
% Total % Received % Xferd Average Speed Time Time Time Current
% Total % Received % Xferd Dload Upload Total Spent Left Speed
100 372 0 372 0 0 472 0 --:--:-- --:--:-- --:--:-- 472
ダウンロードされたファイルを確認する
# ls -l
-rw-r--r-- 1 root root 372 6月 20 23:04 sp_repo.cgi?platform=CentOS_7
yumにrepositoryファイルを追加します。
# cp sp_repo.cgi\?platform=* /etc/yum.repos.d/shibboleth.repo
2. インストール
yumコマンドを使用する為、依存関係のあるunixODBCなども同時にインストールされます。
# yum install shibboleth
途中でPGP鍵のインポートに関して確認があります。
Retrieving key from https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
Importing GPG key 0x7D0A1B3D:
Userid : "security:shibboleth OBS Project <security:shibboleth@build.opensuse.org>"
Fingerprint: 6519 b5db 7c1c 8340 a954 ed00 73c9 3745 7d0a 1b3d
From : https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
Is this ok [y/N]:
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。同様に2つ目のPGP鍵の確認がありますので、
Retrieving key from https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
Importing GPG key 0x02277962:
Userid : "Scott Cantor <cantor.2@osu.edu>"
Fingerprint: dcaa 1500 7bed 9de6 90cd 9523 378b 8454 0227 7962
From : https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
Is this ok [y/N]:
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。
なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
(2022年7月現在, CentOS 7にて)
shibboleth 3.3.0-1
libcurl-openssl
liblog4shib2
libmemcached
libsaml12
libxerces-c-3_2
libxml-security-c20
libxmltooling10
opensaml-schemas
unixODBC
xmltooling-schemas
3. httpd 設定
/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。
ServerName ex-sp-test??.gakunin.nii.ac.jp:443 ← ホスト名を設定(??には、割り振られた番号を設定)
4. shibd 起動
以下のコマンドでshibdを起動します。
# systemctl start shibd
# systemctl enable shibd
3.サービスの起動・停止方法
サービス | 起動コマンド | 停止コマンド | 再起動コマンド |
---|---|---|---|
httpd | systemctl start httpd | systemctl stop httpd | systemctl restart httpd |
shibd | systemctl start shibd | systemctl stop shibd | systemctl restart shibd |
※shibdと同様、httpdもSPの設定ファイル(shibboleth2.xml等)を読み込みますので、設定ファイルを変更した際はhttpdの再起動もしくは再読み込み(reload)もあわせて行うようにしてください。httpdに含まれるShibbolethモジュール(mod_shib)が当該ファイルを読み込みます。
インストールが完了したら,サイト情報等の設定を行って下さい.