インストール
実習セミナー内に準備されたLinuxサーバに、Shibbolethをインストールする手順となっています。
目次 maxLevel 2 minLevel 2 style none
...
アンカー spInst1 spInst1
1. 実習に使用する仮想サーバについて
以下は本技術ガイドで構築する前提となる環境です。
- OS、DNS、ネットワーク、時刻同期などは設定済みとなっています。(Apache HTTP Server、mod_sslもインストール済み)
- CentOS7
- メモリ2GB以上
- Apache HTTP Server 2.4 と mod_ssl
- Shibboleth SP v2.6.0
また、実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinux設定が確認できます。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
$ /usr/sbin/getenforce |
...
2. Shibboleth SP (version 2.6以降) の動作要件
以下は本技術ガイドで構築する前提となる環境です。
- Apache HTTP Server 2.4以上と mod_ssl
他の環境および最新の情報はShibbolethのサイトでご確認ください:
全体, Linux, Mac OS X, Solaris, Windows, Java Servlets
...
3. Shibbolethのインストール
SPバージョン2.3からはrepositoryが用意され、yumに対応したのでインストールが大変楽になっています。
ここで説明するのは、以下のOSについてのインストール方法となります。
- CentOS 5/6/7, Red Hat Enterprise Linux 5/6/7 (i386)
- SUSE Linux Enterprise Server 10/11(無印/SP1/SP2/SP3) (i386)
- OpenSUSE Linux 12.1/12.2/12.3 (i386)
その他のOSについては、以下を参照してください。
※上記OSでx86_64の場合
⇒下記の"yum install shibboleth"を"yum install shibboleth.x86_64"と読み替えてください。
※Linuxの他のディストリビューションの場合
⇒こちら
※他のOSの場合
⇒こちら
1. repositoryファイル追加(★)
Shibboleth用のrepositoryファイルをダウンロードします。
(下記コマンドは、CentOS7 の場合です。他のディストリビューションの場合はURLの "CentOS_7" の部分を適宜読み替えてください。ただし、RHEL 7 の場合は "CentOS_7" をご利用ください。)
対応表:
OS/バージョン | URL |
---|---|
CentOS 5 | CentOS_5 |
CentOS 6 | CentOS_CentOS-6 |
CentOS 7, RHEL 7 | CentOS_7 |
ヒント | ||
---|---|---|
| ||
研究クラウド環境はCentOS 7なのでこのままでOKです。 |
- v3
本手順における用語の解説:
用語 | 説明 |
---|---|
DNS | DNSは、Domain Name Systemの略で、インターネット上でドメイン名を管理・運用するためのシステム。 |
Apache HTTP Server | Apache License2.0の条件でリリースされるフリーでオープンソースなクロスプラットフォームのWebサーバソフトウェア。 |
mod_ssl | mod_sslはOpenSSLを使ってApache HTTP Serverを通信の暗号化(SSL(Secure Sockets Layer), TLS(Transport Layer Security))に対応させるモジュール。 |
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 |
実行していなければsudoコマンドを実行し、rootユーザで以降のコマンドを実行するようにしてください。あくまで実習の効率化のためであり、実環境ではコマンドごとにrootユーザでの実行の必要性の有無を確認してください。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
$ sudo -i # |
...
アンカー spInst2 spInst2
2.Shibbolethのインストール
1. repositoryファイル追加
Shibboleth SP用のrepositoryファイルをダウンロードします。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# curl wget-O http |
yumにrepositoryファイルを追加します。
(コロンはちょっと気持ち悪いので、ファイル名も変更しています。)
|
yumにrepositoryファイルを追加します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# cp security\:shibboleth.repo |
2. インストール
...
yumコマンドを使用する為、依存関係のあるunixODBCなども同時にインストールされます。
...
yum コマンドの実行前に、まず※PGP鍵のインポートを参照してください。
yumコマンドを使用する為、依存性のあるunixODBCなども同時にインストールされます。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
(2017年2月9日現在, CentOS7にて)
shibbolethパッケージの依存性、インストール容量等表示され、インストールするかの確認があります。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
shibboleth2.6.0-2.1 libcurl-openssl (*) liblog4shib1 libmemcached (*) libsaml9 libxml-security-c17 libxmltooling7 opensaml-schemas unixODBC xerces-c |
(2012年11月14日注:CentOS 5の場合は libcurl-openssl, libmemcachedはインストールされません)
(2011年6月21日注:ここでliblog4shib1でなく古いlog4shibがインストールされた場合はyum update liblog4shib1
を実行してアップデートしてください)
3. httpd 設定(★)
ヒント | ||
---|---|---|
| ||
ここで設定するホスト名は、各自SPサーバのホスト名を設定してください。 |
...
|
インストールが始まり、途中でPGP鍵のインポートに関して確認があります。
パネル |
---|
|
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。同様に2つ目のPGP鍵の確認がありますので、
パネル |
---|
|
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。
なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
(2023年7月現在, CentOS 7にて)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
3. httpd 設定
/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
#ServerName www.example.com:443 |
情報 | ||
---|---|---|
加えて、SSL 3.0プロトコルに対する攻撃が発見されておりますので、当該プロトコルを無効化することをお勧めします。⇒SSLバージョン3の脆弱性について (CVE-2014-3566)
|
先頭の#を削除しホスト名を設定(??には、割り振られた番号を設定) |
4. shibd 起動
...
以下のコマンドでshibdを起動します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...
|
...
アンカー | ||||
---|---|---|---|---|
|
3.サービスの起動・停止方法
サービス | 起動コマンド | 停止コマンド | 再起動コマンド |
---|---|---|---|
httpd | systemctl start httpd | systemctl stop httpd | systemctl restart httpd |
shibd | systemctl start shibd | systemctl stop shibd | systemctl restart |
...
4.サービスの起動・停止方法
httpd の起動方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# systemctl start httpd |
shibd の起動方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# systemctl start shibd |
httpd の停止方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# systemctl stop httpd |
shibd の停止方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# systemctl stop shibd |
httpd の再起動方法(停止→起動)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# systemctl restart httpd |
shibd の再起動方法(停止→起動)
...
borderColor | #cccccc |
---|---|
bgColor | #eeeeee |
borderStyle | solid |
...
shibd |
※shibdと同様、httpdもSPの設定ファイル(shibboleth2.xml等)を読み込みますので、設定ファイルを変更した際はhttpdの再起動もしくは再読み込み(reload)もあわせて行うようにしてください。httpdに含まれるShibbolethモジュール(mod_shib)が当該ファイルを読み込みます。
...
インストールが完了したら,サイト情報等の設定を行って下さい.