Globus Toolkit 3.9.4 インストール例

2005/4/13

目次

1 はじめに

2 主な手順

3 ユーザ、グループ作成

4 ライブラリインストール

5 GT4インストール

6 コンポーネント設定

付録


1 はじめに

1.1 目的

1.2 前提

1.3 環境

目次に戻る

1.1 目的

本書では、Globus Toolkit 4(以下GT4)のインストール手順について説明します。

GT4の詳細な情報については、Globus Toolkit のサイトをご覧下さい。

1 はじめに に戻る

1.2 前提

本書では、読者がインストール対象サーバの root のパスワードを知っており、Linux GUIツールの使用や、シェルコマンド等を用いたコマンドラインで通常の操作が出来ることを前提としています。

また、本書に掲載する情報は 2005131日現在の情報を元にしています。

1 はじめに に戻る

1.3環境

本書では、以下の環境でインストールを行いました。

  • 使用機種:Dell Optiplex GX110
  • CPU :PentiumIII 733MHz
  • メモリ :512MB
  • OS  :Fedora Core 3
  • シェル :bash
インストールに使用する媒体は、すべて /home/globus/INSTALL_SRC/ に格納してあるものとして説明します。

また、本書では、データベースとしてPostgreSQLを使用します。MySQLを使用する場合は、GT4System Administrator Guide等をご参照下さい。


1 はじめに に戻る

2 主な手順


GT4のインストールは、以下の手順で行います。

2.1 ユーザ、グループ作成

2.2 ライブラリインストール

2.3 GT4インストール

2.4 コンポーネント設定

目次に戻る

2.1 ユーザ、グループ作成

GT4では、GT4をインストールし、コンテナを起動するユーザとして globus ユーザを使用します。

また、サービスを利用するユーザのアカウントも必要です。

この手順では、上記の2つのアカウントを作成します。

2 主な手順に戻る

2.2 ライブラリインストール

GT4では、J2SDKをはじめ、いくつかのサードパーティのライブラリを使用しています。

インストール対象の環境に不足しているものがあれば、ここでインストールを行います。

2 主な手順に戻る

2.3 GT4インストール

GT4make、インストールします。

GT4では証明書が必要となりますが、本書では、GT4のコンポーネントのひとつであるSimpleCAを使用します。

この手順では、最後に簡単な動作確認を行います。

2 主な手順に戻る

2.4 コンポーネント設定

GT4にはさまざまなコンポーネントがあり、インストール後に追加の設定が必要なものもあります。

使用目的に応じて、各コンポーネントの設定を行います。


2 主な手順に戻る

3 ユーザ、グループ作成


GT4のインストールに必要なユーザ、グループを作成します。

グループについては作成しなくても問題ありませんが、ここでは、わかりやすいようにGT4用のグループも作成します。

3.1 グループの作成

3.2 GT4管理ユーザの作成

3.3 GT4利用ユーザの作成

目次に戻る

3.1 グループの作成

この次の節で作成するユーザが所属するグループを作成します。

gidはご自身の環境のルールに従って採番して下さい。
  • グループID:globus
  • gid    :2000

3 ユーザ、グループ作成に戻る

3.2 GT4管理ユーザの作成

GT4のインストール、コンテナの起動/停止等を行うユーザを作成します。

uidはご自身の環境のルールに従って採番して下さい。
  • ユーザID:globus
  • ユーザ名:Globus Toolkit Install User
  • uid   :2001
  • グループ:globus

3 ユーザ、グループ作成に戻る

3.3 GT4利用ユーザの作成

サービスを利用するユーザを作成します。

uidはご自身の環境のルールに従って採番して下さい。
  • ユーザID:gtuser
  • ユーザ名:Globus Toolkit User
  • uid   :2002
  • グループ:globus


3 ユーザ、グループ作成に戻る

4 ライブラリインストール


GT4では、以下のライブラリを使用しています。

  • 必須のライブラリ
    • J2SDK 1.4.2 以降
    • Ant 1.5 以降
    • C コンパイラ (gccの場合、3.2、3.2.1以外。2.95.xはOK)
    • GNU tar
    • GNU Make
    • JDBC準拠のDB(PostgreSQLの場合、7.1以降)

  • 使用するコンポーネントによっては必要となるライブラリ
    • Tomcat
        GT4のコンテナとしてTomcatを使用する場合インストールします。
        また、WebMDSをインストールする場合にも必要となります。
    • JUnit
        GT4の単体テストプログラムを実行する場合、必要となります。
    • iODBC
        RLSを使用する場合、必要となります。
    • psqlODBC
        データベースにPostgreSQLを使用していて、RLSを使用する場合に必要です。

4.1 J2SDK

4.2 Ant

4.3 Cコンパイラ

4.4 GNU tar

4.5 GNU Make

4.6 JDBC準拠のデータベース

4.7 Tomcat

4.8 JUnit

4.9 iODBC

4.10 psqlODBC

目次に戻る

4.1 J2SDK

バージョン1.4.2以降のものをインストールします。


4.1.1 入手元

URL    :http://java.sun.com/j2se/
バージョン:1.4.2_07
ファイル名:j2sdk-1_4_2_07-linux-i586.bin


4.1.2 インストール先

ディレクトリ:/usr/
オーナー  :root


4.1.3 インストール

入手したアーカイブに実行権限を付与します。

[globus]$ cd /home/globus/INSTALL_SRC/

[globus]$ chmod a+x j2sdk-1_4_2_07-linux-i586.bin

root にスイッチします。

[globus]$ su -

Password:

J2SDKは、シェルを実行したディレクトリにインストールされますので、/usrに移動します。

[root]# cd /usr/

[root]# /home/globus/INSTALL_SRC/j2sdk-1_4_2_07-linux-i586.bin

実行すると使用許諾が表示されますので、スペースキー等を押下、最後まで表示します。

全て表示されると、同意するか否かを尋ねられます。内容を読んで同意できる場合は yes と入力し Enter を押下してください。

/usr/java でアクセスできるよう、シンボリックリンクを張ります。

[root]# ln -s j2sdk-1_4_2_07-linux-i586 java

4 ライブラリインストールに戻る

4.2 Ant

バージョン1.5以降のものをインストールします。


4.2.1 入手元

URL    :http://ant.apache.org/
バージョン:1.6.2
ファイル名:apache-ant-1.6.2-bin.tar.gz


4.2.2 インストール先

ディレクトリ:/usr/local/apache-ant-1.6.2
オーナー  :globus


4.2.3 インストール

rootユーザでアーカイブの解凍先を作成します。

[root]# mkdir /usr/local/apache-ant-1.6.2

[root]# chown globus:globus /usr/local/apache-ant-1.6.2

[root]# exit

インストール先に移動、入手したアーカイブを解凍します。

[globus]$ cd /usr/local

[globus]$ tar xvzf /home/globus/INSTALL_SRC/apache-ant-1.6.2-bin.tar.gz

rootユーザにスイッチし、/usr/local/antでアクセスできるよう、シンボリックリンクを張ります。

[globus]$ su -

Password:

[root]# cd /usr/local

[root]# ln -s apache-ant-1.6.2 ant

[root]# exit

4 ライブラリインストールに戻る

4.3 Cコンパイラ

Fedora Core 3 に入っている gcc の場合、インストール作業は不要です。

インストール対象サーバに C コンパイラがないか、 gcc でバージョンが 3.2 または 3.2.1 の場合は、 gcc の情報を参考にインストールしてください。

4 ライブラリインストールに戻る

4.4 GNU tar

Fedora Core 3 に入っている tar の場合、インストール作業は不要です。

GNU tar がない場合は、 GNU tar の情報を参考にインストールしてください。

4 ライブラリインストールに戻る

4.5 GNU Make

Fedora Core 3 に入っている make の場合、インストール作業は不要です。

GNU make がない場合は、 GNU make の情報を参考にインストールしてください。

4 ライブラリインストールに戻る

4.6 JDBC準拠のデータベース

PostgreSQLの場合、バージョン7.1以降のものを入手してください。

本書では、Fedora Core 3 に同梱の PostgreSQL OS とともにインストールしたものを使用します。

PostgreSQL がインストールされていない場合は、 PostgreSQL の情報を参考にインストールしてください。

ここでは、PostgreSQLrpmによりインストール済みであるものとして、設定を行います。


4.6.1 postgresユーザのパスワード設定

Fedora Core 3 に同梱の PostgreSQL OS とともにインストールした場合、postgresユーザが作成されています。初期設定ではパスワードがロックされていてroot以外のユーザから直接スイッチすることができません。root以外のユーザから直接スイッチできるよう、パスワードを設定します。作業はrootユーザで行います。

[globus]$ su -

Password:

[root]# passwd postgres

Changing password for user postgres.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root]# exit


4.6.2 DBの初期化

postgresユーザでデータベースを初期化します。

[globus]$ su - postgres

Password:

[postgres]$ initdb


4.6.3 起動スクリプト編集

起動スクリプトを編集し、起動時のオプションを追加します。

[postgres]$ su -

Password:

[root]# vi /etc/init.d/postgresql

97行目付近に、変数にデフォルト値を設定する処理が記述されています。

107行目のPGLOGの設定の前にPGOPTSに関する設定を追加します。


<変更前>
# Set defaults for configuration variables
PGENGINE=/usr/bin
PGPORT=5432
export PGDATA=/var/lib/pgsql
if [ -f $PGDATA/PG_VERSION ] && [ -d $PGDATA/base/template1 ]
then
        echo "Using old-style directory structure"
else
        export PGDATA=/var/lib/pgsql/data
fi
PGLOG=/dev/null

<変更後>

# Set defaults for configuration variables
PGENGINE=/usr/bin
PGPORT=5432
export PGDATA=/var/lib/pgsql
if [ -f $PGDATA/PG_VERSION ] && [ -d $PGDATA/base/template1 ]
then
        echo "Using old-style directory structure"
else
        export PGDATA=/var/lib/pgsql/data
fi
PGOPTS="-i -o -F"
PGLOG=/dev/null


4.6.4 設定ファイル変更

/var/lib/pgsql/data/pg_hba.confを開き、デフォルトで設定されている内容をコメントアウト、GT4用の設定を追加します。

[postgres]$ vi /var/lib/pgsql/data/pg_hba.conf

以下の通り変更します。

なお、以下の設定はglobusユーザが同一サーバ内で接続可能となるようにしたものです。

DATABASEUSERIP-ADDRESSIP-MASKMETHODの各値は、ご自身の環境のポリシーにあわせ必要に応じて変更してください。

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

# IPv4-style local connections:
#host all all 127.0.0.1 255.255.255.255 trust
# IPv6-style local connections:
#host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust

# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)
# Comment out for GT4 on 2005/2/3 by Glatts.
#local all all ident sameuser

# Added on for GT4 on 2005/2/3 by Glatts.
local all postgres trust
local all globus trust
host casDatabase globus 127.0.0.1 255.255.255.255 trust
host rftDatabase globus 127.0.0.1 255.255.255.255 trust
host lrc1000 globus 127.0.0.1 255.255.255.255 trust
host rli1000 globus 127.0.0.1 255.255.255.255 trust

※ casDatabase CASが使用するDB

※ rftDatabase RFTが使用するDB

※ lrc1000 RLSが使用するDBRLSを使用しない場合、このDBに関する設定は不要)

※ rli1000 RLSが使用するDBRLSを使用しない場合、このDBに関する設定は不要)


4.6.5 自動実行の設定

そのままでは自動で起動されないので、サーバを再起動する毎にPostgreSQLを起動する必要があります。

必要に応じてPostgreSQLが自動起動されるように設定してください。

なお、設定方法としてはFedora Core の GUI ツールを使用する(「アプリケーション」→「システム設定」→「サーバ設定」→「サービス」)、chkconfigコマンドを使用する等があります。詳しくは、OSのマニュアルをご覧下さい。


4.6.6 ユーザ作成

DBユーザを作成します。ここでは、ユーザ名をglobusで作成します。

PostgreSQLの状態を確認し、停止している場合は起動してください。

[postgres]$ /etc/init.d/postgresql status

postmaser は停止しています

[postgres]$ su -

Password:

[root]# /etc/init.d/postgresql start

postgresql サービスを開始中:                               [ OK ]

[root]# exit

ユーザ作成の際は、パスワードを設定する-Pオプションを指定します。

[postgres]$ createuser -P globus


Enter password for new user:

パスワードを聞かれますので、入力しEnterを押下してください。

Enter it again:

もう一度確認をきかれますので、同じものを入力、Enterを押下します。

Shall the new user be allowed to create databases? (y/n) y

DBの作成を許可するかどうかを聞かれたら、yを入力します。

Shall the new user be allowed to create more new users? (y/n) n

ユーザの作成は許可しないのでnを入力してください。

ユーザが作成されると、次のメッセージが表示されます。

CREATE USER

4 ライブラリインストールに戻る

4.7 Tomcat

GT4のコンテナとして Tomcat を使用する場合や、WebMDS を使用する場合、Tomcat をインストールします。

Tomcatのインストールは GT4 のインストール後でも可能ですので、この手順はスキップしても問題ありません。


4.7.1 入手元

URL    :http://jakarta.apache.org/tomcat/
バージョン:5.0.28
ファイル名:jakarta-tomcat-5.0.28.tar.gz


4.7.2 インストール先

ディレクトリ:/usr/local/jakarta-tomcat-5.0.28
オーナー  :globus


4.7.3 インストール

rootユーザでアーカイブの解凍先を作成します。

[globus]$ su -

Password:

[root]# mkdir /usr/local/jakarta-tomcat-5.0.28

[root]# chown globus:globus /usr/local/jakarta-tomcat-5.0.28

[root]# exit

インストール先に移動、入手したアーカイブを解凍します。

[globus]$ cd /usr/local

[globus]$ tar xvzf /home/globus/INSTALL_SRC/jakarta-tomcat-5.0.28.tar.gz

rootユーザにスイッチし、/usr/local/tomcatでアクセスできるよう、シンボリックリンクを張ります。

[globus]$ su -

Password:

[root]# cd /usr/local

[root]# ln -s jakarta-tomcat-5.0.28 tomcat

[root]# exit

4 ライブラリインストールに戻る

4.8 JUnit

GT4 には、JUnit を使用した単体テストクラスが同梱されています。

実行する場合には、JUnit が必要となります。


4.8.1 入手元

URL    :http://junit.sourceforge.net/
バージョン:3.8.1
ファイル名:junit3.8.1.zip


4.8.2 インストール先

ディレクトリ:/usr/local/junit3.8.1
オーナー  :globus


4.8.3 インストール

rootユーザでアーカイブの解凍先を作成します。

[globus]$ su -

Password:

[root]# mkdir /usr/local/junit3.8.1

[root]# chown globus:globus /usr/local/junit3.8.1

[root]# exit

インストール先に移動、入手したアーカイブを解凍します。

[globus]$ cd /usr/local

[globus]$ unzip /home/globus/INSTALL_SRC/junit3.8.1.zip

4 ライブラリインストールに戻る

4.9 iODBC

RLS を使用する場合に必要となります。


4.9.1 入手元

URL    :http://www.iodbc.org/
バージョン:3.52.1
ファイル名:libiodbc-3.52.1.tar.gz


4.9.2 インストール先

ディレクトリ:/usr/local/globus
オーナー  :globus


4.9.3 インストール

rootユーザでアーカイブの解凍先およびインストール先を作成します。

[globus]$ su -

Password:

[root]# mkdir /usr/local/src/libiodbc-3.52.1

[root]# chown globus:globus /usr/local/src/libiodbc-3.52.1

[root]# mkdir /usr/local/globus

[root]# chown globus:globus /usr/local/globus

[root]# exit

入手したアーカイブを解凍します。

[globus]$ cd /usr/local/src

[globus]$ tar xvzf /home/globus/INSTALL_SRC/libiodbc-3.52.1.tar.gz

解凍先に移動、configureコマンドを実行します。

[globus]$ cd /usr/local/src/libiodbc-3.52.1

[globus]$ ./configure --prefix=/usr/local/globus --disable-gtktest \
> --enable-pthreads --disable-gui \
> --with-iodbc-inidir=/usr/local/globus/var

最後に次のようなメッセージが標準出力に表示されます。

iODBC Driver Manager 3.52.1 configuration summary
=================================================

Installation variables
layout default
prefix /usr/local/globus
exec_prefix ${prefix}

Installation paths
programs ${exec_prefix}/bin
include files ${prefix}/include
libraries ${exec_prefix}/lib
manual pages ${prefix}/man

Configuration files
odbc.ini /usr/local/globus/var/odbc.ini
odbcinst.ini /usr/local/globus/var/odbcinst.ini

Extensions
ODBC Version 3
GUI Extensions false
ThreadSafe true

次に、iODBCmake、インストールします。

[globus]$ make

[globus]$ make install

インストールが終了したら、設定ファイルを作成します。

本書では、設定ファイルを/usr/local/globus/varに配置するよう設定しましたので、odbc.iniという名前のファイルを/usr/local/globus/varに作成します。

[globus]$ cd /usr/local/globus

[globus]$ mkdir var

[globus]$ cd var

[globus]$ vi odbc.ini

次の内容を記入します。

[ODBC Data Sources]
lrc1000=lrc database
rli1000=rli database

[lrc1000]
Description=LRC database
DSN=lrc1000
Servertype=postgres
Servername=localhost
Database=lrc1000
ReadOnly=no
Driver=/usr/local/globus/lib/psqlodbc.so
Port=5432

[rli1000]
Description=RLI database
DSN=rli1000
Servertype=postgres
Servername=localhost
Database=rli1000
ReadOnly=no
Driver=/usr/local/globus/lib/psqlodbc.so
Port=5432

[Default]
Driver=/usr/local/globus/lib/psqlodbc.so
Port=5432

4 ライブラリインストールに戻る

4.10 psqlODBC

RLSを使用する際に、PostgreSQLデータベースに接続するために使用します。


4.10.1 入手元

URL    :http://gborg.postgresql.org/
バージョン:07.03.0200
ファイル名:psqlodbc-07.03.0200.tar.gz


4.10.2 インストール先

ディレクトリ:/usr/local/globus
オーナー  :globus


4.10.3 インストール

rootユーザでアーカイブの解凍先およびインストール先を作成します。

[globus]$ su -

Password:

[root]# mkdir /usr/local/src/psqlodbc-07.03.0200

[root]# chown globus:globus /usr/local/src/psqlodbc-07.03.0200

[root]# exit

入手したアーカイブを解凍します。

[globus]$ cd /usr/local/src

[globus]$ tar xvzf /home/globus/INSTALL_SRC/psqlodbc-07.03.0200.tar.gz

解凍先に移動、configureコマンドを実行します。

[globus]$ cd /usr/local/src/psqlodbc-07.03.0200

[globus]$ ./configure --prefix=/usr/local/globus --enable-pthreads

次に、psqlODBCmake、インストールします。

[globus]$ make install

4 ライブラリインストールに戻る

5 GT4インストール

必要なライブラリのインストール、設定が完了したら、GT4をインストールします。

本章以降の手順の中では、ウィンドウを2つ使用します。
[globus]$
このウィンドウの場合、ログインユーザはglobusです。


[gtuser]$
このウィンドウの場合、ログインユーザはgtuserです。


5.1 環境変数設定

5.2 GT4インストール

目次に戻る

5.1 環境変数設定

5.1.1 globusユーザ

インストール及びインストール後のコンテナの起動に必要な環境変数を設定します。

[globus]$ vi ~/.bash_profile

以下の変数を設定します。

export JAVA_HOME=/usr/java
export CATALINA_HOME=/usr/local/tomcat
export ANT_HOME=/usr/local/ant
export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
export GLOBUS_LOCATION=/usr/local/globus
export GPT_LOCATION=/usr/local/globus

環境変数を設定したら、sourceコマンドを実行して設定を読み込んでおきます。

[globus]$ source ~/.bash_profile


5.1.2 gtuserユーザ

証明書の要求や動作確認に必要な環境変数を設定します。

[gtuser]$ vi ~/.bash_profile

以下の変数を設定します。

export JAVA_HOME=/usr/java
export PATH=$JAVA_HOME/bin:$PATH
export GLOBUS_LOCATION=/usr/local/globus
source $GLOBUS_LOCATION/etc/globus-user-env.sh

環境変数を設定したら、sourceコマンドを実行して設定を読み込んでおきます。

[gtuser]$ source ~/.bash_profile

5 GT4インストールに戻る

5.2 GT4インストール

入手元

インストール先

インストール

証明書の設定

動作確認

5.2.1 入手元

URL    :http://www-unix.globus.org/toolkit/
バージョン:3.9.4
ファイル名:gt3.9.4-all-source-installer.tar.gz

5.2 GT4インストールに戻る

5.2.2 インストール先

ディレクトリ:/usr/local/globus
オーナー  :globus

5.2 GT4インストールに戻る

5.2.3 インストール

rootユーザでアーカイブの解凍先およびインストール先を作成します。

4.9 の手順に従ってiODBCをインストールをした場合は、/usr/local/globusディレクトリは既に作成済みですので解凍先のみ作成します。

[globus]$ su -

Password:

[root]# mkdir /usr/local/src/gt3.9.4-all-source-installer

[root]# chown globus:globus /usr/local/src/gt3.9.4-all-source-installer

[root]# mkdir /usr/local/globus

[root]# chown globus:globus /usr/local/globus

[root]# exit

入手したアーカイブを解凍します。

[globus]$ cd /usr/local/src

[globus]$ tar xvzf \

> /home/globus/INSTALL_SRC/gt3.9.4-all-source-installer.tar.gz

解凍先に移動、configureコマンドを実行します。

[globus]$ cd gt3.9.4-all-source-installer

[globus]$ ./configure --prefix=/usr/local/globus \

> --enable-rls --with-iodbc=/usr/local/globus/lib --enable-i18n

次に、GT4make、インストールします。

[globus]$ make -k

※ GT4makeには、かなり時間がかかります。本書で使用した環境では、約4時間半でした。

本書の環境でmakeしたところ、gaa_simple_testパッケージのmakeでエラーが発生しました。

  原因は今のところ不明ですが、本書で行っている動作確認程度の処理であれば、動作しているようです。


5.2.4 証明書の設定

本書では、GT4SimpleCAを使用して証明書を発行します。


5.2.4.1 SimpleCAセットアップ

globusユーザでセットアップを行います。

セットアップを行うと、/home/globus/.globus/simpleCAにファイルが配置されます。

環境変数を設定します。

[globus]$ source $GLOBUS_LOCATION/etc/globus-user-env.sh

次に、セットアップスクリプトを実行します。

[globus]$ cd $GLOBUS_LOCATION

[globus]$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca

コマンドを実行すると次のようなメッセージが標準出力に表示されます。


C e r t i f i c a t e A u t h o r i t y S e t u p

This script will setup a Certificate Authority for signing Globus
users certificates. It will also generate a simple CA package
that can be distributed to the users of the CA.

The CA information about the certificates it distributes will
be kept in:

/home/globus/.globus/simpleCA/

The unique subject name for this CA is:
_____________________________________________________________________________
cn=Globus Simple CA, ou=simpleCA-localhost.localdomain, ou=GlobusTest, o=Grid

Do you want to keep this as the CA subject (y/n) [y]:

ここでは、yesでよいので、そのままEnterを押下します。

次に、メールアドレスを聞かれます。

Enter the email of the CA (this is the email where certificate

requests will be sent to be signed by the CA):

自身のメールアドレス等、任意のメールアドレスを入力してください。

次に、証明書の有効期限を聞かれます。

The CA certificate has an expiration date. Keep in mind that
once the CA certificate has expired, all the certificates
signed by that CA become invalid. A CA should regenerate
the CA certificate and start re-issuing ca-setup packages
before the actual CA certificate expires. This can be done
by re-running this setup script. Enter the number of DAYS
the CA certificate should last before it expires.
[default: 5 years (1825 days)]:

デフォルトでは5年間となっていますので、必要に応じて入力してください。

そのままでよい場合は、何も入力せずにEnterを押下します。

最後に、CA局のパスフレーズを聞かれます。

Enter PEM pass phrase:

パスフレーズを入力、Enterを押下すると確認用にもう一度入力を促されますので、もう一度パスフレーズを入力します。

Verifying - Enter PEM pass phrase:

パスフレーズをもう一度入力してEnterを押下すると、処理が始まります。

多少時間がかかりますが、以下のメッセージが表示され、処理が終わればOKです。

***************************************************************************

Note: To complete setup of the GSI software you need to run the
following script as root to configure your security configuration
directory:

/usr/local/globus/setup/globus_simple_ca_eb14a879_setup/setup-gsi

For further information on using the setup-gsi script, use the -help
option. The -default option sets this security configuration to be
the default, and -nonroot can be used on systems where root access is
not available.

***************************************************************************

setup-ssl-utils: Complete

最後に、rootユーザでGSIの設定をします。

-defaultを忘れないで下さい。

[globus]$ su

Password:

[root]# $GLOBUS_LOCATION/setup/globus_simple_ca_eb14a879_setup/setup-gsi \
_________________________________________________________________________________________
> -default
コマンドのpathのうち、 globus_simple_ca_eb14a879_setupの部分は環境毎に異なります。

  実際のコマンドのpathは一つ前の手順で標準出力に表示された内容を確認してください。


5.2.4.2 ホスト証明書設定

ホスト証明書を発行、設定します。

まず、ホスト証明書を要求します。この作業は、rootユーザのまま行います。

localhost.localdomainとなっている箇所は、インストール先のホスト名に変更してください。

ここで指定するホスト名は、DNS内で矛盾しない名前である必要があります。

  また、異なる名前が割り当てられる可能性のあるDHCPを使用しているマシン上では実行しないで下さい。

[root]# grid-cert-request -host 'localhost.localdomain'

実行すると、次のようなメッセージが表示されます。

Generating a 1024 bit RSA private key
....++++++
...........................................++++++
writing new private key to '/etc/grid-security/hostkey.pem'

[...中略...]

Your certificate will be mailed to you within two working days.
If you receive no response, contact Globus Simple CA at foo@bar.com

実際に画面に表示されるメッセージのメールアドレス箇所には、SimpleCAをセットアップする際に入力したものが表示されます。

次に、globusユーザ(CA局をセットアップしたユーザ)でホスト証明書に署名します。

[root]# exit

[globus]$ grid-ca-sign -in /etc/grid-security/hostcert_request.pem \

> -out hostsigned.pem

CA局のパスフレーズを聞かれますので、SimpleCAセットアップ時に入力したパスフレーズを入力し、Enterを押下します。

Enter password for the CA key:

以下のメッセージが表示され、署名が完了します。

The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/01.pem

署名済みの証明書を配置します。通常、ホスト証明書は/etc/grid-securityにおきます。

rootユーザにスイッチして作業を行います。

[globus]$ su

Password:

[root]# mv ./hostsigned.pem /etc/grid-security/hostcert.pem

globusユーザが署名した段階では、hostcert.pemglobusユーザの所有となっており、また、パーミッションも不適切(664)ですので変更します。

[root]# chown root:root /etc/grid-security/hostcert.pem

[root]# chmod 644 /etc/grid-security/hostcert.pem

[root]# exit


5.2.4.3 ユーザ証明書設定

サービスを利用するユーザ用の証明書を設定します。

はじめに、インストール作業の開始時に作成しておいたgtuserユーザで証明書を要求します。

新しくウィンドウを開いてgtuserでサーバにログインしてください。

証明書を要求します。

[gtuser]$ grid-cert-request

途中、証明書のパスフレーズを聞かれますので、パスフレーズを入力、Enterを押下します。

Enter PEM pass phrase:

確認のためにもう一度入力するようメッセージが表示されます。同じパスフレーズを入力しEnterを押下してください。

Verifying - Enter PEM pass phrase:

処理が終わると、/home/gtuser/.globusにファイルが作成されます。

次に、ユーザ証明書に署名をします。

署名の際は、証明書要求時に作成された/home/gtuser/.globus/usercert_request.pemファイルをglobusユーザが参照できなければなりません。

ここでは、gtuserのホームディレクトリの権限を変更し、globusユーザがファイルを直接参照できるようにします。

[gtuser]$ su -

Password:

[root]# cd /home/

[root]# chmod 755 gtuser

[root]# exit

globusユーザでログインしていたウィンドウに戻り、ユーザ証明書に署名します。ホスト証明書への署名と同様、globusユーザ(CA局をセットアップしたユーザ)で署名します。

[globus]$ grid-ca-sign -in /home/gtuser/.globus/usercert_request.pem \

> -out signed.pem

CA局のパスフレーズを聞かれますので、SimpleCAセットアップ時に入力したパスフレーズを入力し、Enterを押下します。

Enter password for the CA key:

以下のメッセージが表示され、署名が完了します。

The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/02.pem

gtuserユーザでログインしているウィンドウに戻り、署名済みの証明書を配置します。本書の手順では、署名済みの証明書は$GLOBUS_LOCATIONsigned.pemという名前で作成されています。

[gtuser]$ cp -p $GLOBUS_LOCATION/signed.pem /home/gtuser/.globus/usercert.pem

署名されたばかりの証明書は、パーミッションが不適切(664)なものになっていますので、変更します。

[gtuser]$ chmod 644 /home/gtuser/.globus/usercert.pem

ユーザ証明書がインストールされたことを確認します。

gtuserで次のコマンドを実行します。

[gtuser]$ grid-proxy-init -debug -verify

以下のメッセージが表示されます。

User Cert File: /home/gtuser/.globus/usercert.pem
User Key File: /home/gtuser/.globus/userkey.pem

Trusted CA Cert Dir: /etc/grid-security/certificates

Output File: /tmp/x509up_u2002
Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=Globus Toolkit User
Enter GRID pass phrase for this identity:

※ localhost.localdomainlocaldomainとなっているところは、ホスト名により異なります。

証明書のパスフレーズを聞かれますので、ユーザ証明書要求時に入力したパスフレーズを入力、Enterを押下してください。

次のように表示されれば、ユーザ証明書はインストールされています。

Creating proxy .......++++++++++++
....++++++++++++
Done
Proxy Verify OK
Your proxy is valid until: Wed Feb 16 23:04:14 2005

最終行の日時は実行した日時により異なります。

ユーザ証明書のインストール作業の最後に、globusユーザで署名した際に作成したファイルを削除しておきます。

globusユーザでログインしていたウィンドウに戻り、削除してください。

[globus]$ rm signed.pem


5.2.4.4 コンテナ証明書設定

コンテナが使用するホスト証明書を設定します。

ホスト証明書はrootユーザが所有していますので、作業はrootユーザで行います。

[globus]$ su -

Password:

[root]# cd /etc/grid-security

[root]# cp -p hostkey.pem containerkey.pem

[root]# cp -p hostcert.pem containercert.pem

コンテナはglobusユーザで起動しますので、コンテナ用の証明書および鍵のオーナーをglobusユーザに変更します。

[root]# chown globus:globus containerkey.pem containercert.pem

[root]# exit


5.2.4.5 認証情報追加

最後にgrid-mapfileにユーザ情報を追加して、証明書の設定が終了します。

ユーザ証明書を発行したユーザの情報をファイルに記載するため、まず、情報を収集します。

gtuserでログインしたウィンドウで以下のコマンドを実行し、証明書のサブジェクトを取得します。

[gtuser]$ grid-cert-info -subject
/O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=Globus Toolkit User

linuxのユーザIDを取得します。

[gtuser]$ whoami
gtuser

収集した情報をgrid-mapfileに記載します。このファイルは/etc/grid-securityに作成しますので、rootユーザで作業をします。

[globus]$ su -

Password:

[root]# vi /etc/grid-security/grid-mapfile

ファイルには、以下の内容を1行で記述します。

証明書のサブジェクトにはスペースが含まれていることもありますので、ダブルクウォートで囲みます。

"/O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=Globus Toolkit User" gtuser

5.2 GT4インストールに戻る

5.2.5 動作確認

まず、セキュアではない(httpを使用する)コンテナで、その次にセキュアな(httpsを使用する)コンテナで動作確認をしてみましょう。

5.2.5.1 セキュアではないコンテナの起動

globusユーザでセキュアではないコンテナを起動します。

[globus]$ globus-start-container -nosec

起動すると、次のようなメッセージが表示されます。

2005-04-01 09:58:23,688 WARN service.ReliableFileTransferHome [main,initialize:88] All RFT requests will fail and all GRAM jobs that require file staging will fail.org.postgresql.util.PSQLException: A connection error has occurred: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "tester", database "rftDatabase", SSL off

Starting SOAP server at: http://127.0.0.1:8080/wsrf/services/
With the following services:

[1]: http://127.0.0.1:8080/wsrf/services/TriggerFactoryService
[2]: http://127.0.0.1:8080/wsrf/services/DelegationTestService

[...中略...]

[48]: http://127.0.0.1:8080/wsrf/services/CASService
[49]: http://127.0.0.1:8080/wsrf/services/ManagedJobFactoryService

※ RFTの設定を行うまでは、上記のようなWarningが出ますが、RFTを使用しなければ問題ありません。

※ IPアドレスは環境により異なります。

※ GT4 Version3.9.5 の場合

3.9.5 の場合、サービスに WebMDS が追加されたのでコンテナ起動時のメッセージに表示されるサービスは 50 になります。

3.9.4 の場合は WebMDSは別途設定が必要です。( 6.6 参照)


5.2.5.2 リソースプロパティ取得

コマンドラインツールwsrf-get-propertyを使用して、ContainerRegistryServiceのリソースプロパティを取得してみます。

[gtuser]$ wsrf-get-property \
________________________________________________________________________________________
> -s http://127.0.0.1:8080/wsrf/services/ContainerRegistryService \

> {http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-01.xsd}Entry

※ IPは環境によりことなります。

コンテナ起動時に表示されていたサービスのURLのリストがXMLで表示されます。


5.2.5.3 カウンターサービス実行

今度は、サンプルのカウンターサービスを動かしてみます。

 [gtuser]$ counter-client \
> http://127.0.0.1:8080/wsrf/services/CounterService

次のようなメッセージが表示されます。

 Counter service: http://127.0.0.1:8080/wsrf/services/CounterService
 Got notification with value: 3
 Counter has value: 3
 Got notification with value: 13


※ GT4 Version3.9.5 の場合

3.9.5 の場合、counter-client コマンドにサービスのURIを渡す際は -s が必要です。

counter-client -s http://127.0.0.1:8080/wsrf/services/CounterService


5.2.5.4 セキュアなコンテナの起動

コンテナを停止(ctrl + c)します。

セキュアなコンテナを起動します。今度は、jobをバックグラウンドにまわしてみます。

[globus]$ globus-start-container &

無事に起動すると、次のようなメッセージが表示されます。

2005-04-01 09:58:23,688 WARN service.ReliableFileTransferHome [main,initialize:88] All RFT requests will fail and all GRAM jobs that require file staging will fail.org.postgresql.util.PSQLException: A connection error has occurred: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "tester", database "rftDatabase", SSL off

Starting SOAP server at: https://127.0.0.1:8443/wsrf/services/
With the following services:

[1]: https://127.0.0.1:8443/wsrf/services/TriggerFactoryService
[2]: https://127.0.0.1:8443/wsrf/services/DelegationTestService

[...中略...]

[48]: https://127.0.0.1:8443/wsrf/services/CASService
[49]: https://127.0.0.1:8443/wsrf/services/ManagedJobFactoryService

※ RFTの設定を行うまでは、上記のようなWarningが出ますが、RFTを使用しなければ問題ありません。

※ IPアドレスは環境により異なります。

※ GT4 Version3.9.5 の場合

3.9.5 の場合、サービスに WebMDS が追加されたのでコンテナ起動時のメッセージに表示されるサービスは 50 になります。

3.9.4 の場合は WebMDSは別途設定が必要です。(6.6 参照)



5.2.5.5 プロキシ証明書取得

※ ここから先の動作確認は、gtuserで行います。

次のコマンドを実行し、プロキシ証明書を取得します。

[gtuser]$ grid-proxy-init

証明書のパスフレーズを聞かれますので、ユーザ証明書要求時に入力したパスフレーズを入力、Enterを押下してください。

Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=Globus Toolkit User
Enter GRID pass phrase for this identity:

※ localhost.localdomainlocaldomainとなっているところは、ホスト名により異なります。

プロキシ証明書が作成されます。

Your proxy is valid until: Wed Feb 16 23:59:54 2005



5.2.5.6 リソースプロパティ取得

コマンドラインツールwsrf-get-propertyを使用して、ContainerRegistryServiceのリソースプロパティを取得してみます。

[gtuser]$ wsrf-get-property \

> -s https://127.0.0.1:8443/wsrf/services/ContainerRegistryService \
_________________________________________________________________________________________
> {http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-01.xsd}Entry

※ IPは環境によりことなります。

コンテナ起動時に表示されていたサービスのURLのリストがXMLで表示されます。

うまく動かない場合については付録Bを参照してください。


5.2.5.7 カウンターサービス実行

今度は、サンプルのカウンターサービスを動かしてみます。

[gtuser]$ counter-client \
> https://127.0.0.1:8443/wsrf/services/CounterService

次のようなメッセージが表示されます。

Counter service: https://127.0.0.1:8443/wsrf/services/CounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13


※ GT4 Version3.9.5 の場合

3.9.5 の場合、counter-client コマンドにサービスのURIを渡す際は -s が必要です。

counter-client -s https://127.0.0.1:8443/wsrf/services/CounterService



5.2.5.8 コンテナの停止

次のコマンドを実行し、コンテナを停止します。

[globus]$ globus-stop-container

停止すると、次のメッセージが表示されます。

Stopped SOAP Axis server at: https://192.168.1.101:8443/wsrf/services/
[1]+ Done globus-start-container

もしもエラーがでて停止できない場合は、次の手順を試してみてください。

[globus]$ grid-proxy-init -cert /etc/grid-security/containercert.pem \

> -key /etc/grid-security/containerkey.pem -out containerproxy.pem

このコマンドでプロキシ証明書が作成されますので、環境変数に設定します。

[globus]$ export X509_USER_PROXY=containerproxy.pem

もう一度、停止コマンドを実行します。

[globus]$ globus-stop-container

5 GT4インストールに戻る

6 コンポーネント設定

GT4にはさまざまなコンポーネントがあり、インストール後に追加の設定が必要なものもあります。

本章では、追加設定の必要なコンポーネントについて、設定を行います。

なお、動作確認に成功していないものもあります。詳しくは各節の先頭を参照してください。

6.1 CAS

6.2 MyProxy

6.3 GridFTP

6.4 RFT

6.5 RLS

6.6 WebMDS

6.7 Gram

目次に戻る

6.1 CAS

CASGT4とともにインストールされますが、データベースの作成や設定ファイルの変更が必要となります。

なお、本書の環境では、まだCASの動作確認に成功していません。

6.1.1 設定ファイル修正

CASではデータベースを使用します。

設定ファイルにはDB接続のための設定がありますので、使用するDBの接続情報に変更します。

変更箇所は26行目〜55行目にあります。

本書と同様の環境の場合、42行目〜49行目にあるDBユーザ名およびDBパスワード以外は変更の必要はありません。(DBユーザ、DBパスワードについては 4.6 で設定したものを入力してください。)

[globus]$ vi $GLOBUS_LOCATION/etc/globus_cas_service/jndi-config.xml

<resource
    name="databaseConfiguration"
    type="org.globus.cas.impl.databaseAccess.CasDBOptions">
  <resourceParams>

...[中略]...

    <parameter>
      <name>userName</name>
      <value>tester</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>foo</value>
    </parameter>

...[中略]...

  </resourceParams>
</resource>


6.1.2 証明書作成

CAS用の証明書を作成します。証明書の作成先は/etc/grid-security/casですので、rootユーザでディレクトリを作成、パーミッションを変更しておきます。

[globus]$ su -

Password:

[root]# mkdir /etc/grid-security/cas

[root]# chmod o+w /etc/grid-security/cas

[root]# exit

証明書を要求します。-hostオプションで渡すホスト名は、環境に合わせて変更してください。

[globus]$ grid-cert-request -service cas -host localhost.localdomain

処理が終わると、/etc/grid-security/casにファイルが作成されます。

次に、証明書に署名をします。

[globus]$ grid-ca-sign -in /etc/grid-security/cas/cascert_request.pem \

> -out cassigned.pem

CA局のパスフレーズを聞かれますので、SimpleCAセットアップ時 に入力したパスフレーズを入力し、Enterを押下します。

Enter password for the CA key:

以下のメッセージが表示され、署名が完了します。

The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/04.pem

署名の済んだ証明書を所定のディレクトリに移動し、パーミッションを適切なもの(644)に変更します。

[globus]$ mv cassigned.pem /etc/grid-security/cas/cascert.pem

[globus]$ chmod 644 /etc/grid-security/cas/cascert.pem


6.1.3 DB作成

CASが使用するデータベースを作成します。

DBやテーブルを作成する際にパスワードをきかれたら、4.6.6で設定したDBユーザのパスワードを入力してください。

PostgreSQLが起動していない場合、まずPostgreSQLを起動します。

[globus]$ /etc/init.d/postgresql status

postmaser は停止しています

[globus]$ su -

Password:

[root]# /etc/init.d/postgresql start

postgresql サービスを開始中:                                      [ OK ]

[root]# exit

データベースを作成します。

[globus]$ createdb casDatabase

データベースが作成されると、

CREATE DATABASE

と表示されます。

DBができたら、GT4に同梱のSQLを実行、テーブルおよびシーケンスを作成します。

以下のコマンドは1行で入力してください。

[globus]$ psql -U globus -d casDatabase -f

$GLOBUS_LOCATION/etc/globus_cas_service/casDbSchema/cas_pgsql_database_schema.sql


6.1.4 動作確認

[TODO]


6 コンポーネント設定に戻る

6.2 MyProxy

MyProxyは、GT4とは別にmake、インストールする必要があります。

6.2.1 make

GT4のインストール媒体を解凍したディレクトリに移動します。

[globus]$ cd /usr/local/src/gt3.9.4-all-source-installer

MyProxymakeします。

[globus]$ make myproxy


6.2.2 設定ファイル変更

MyProxyの設定ファイルは、初期状態では何もできないような設定になっています。

ここでは、動作確認ができるようすべての制限を解除します。

実際のアプリケーションで使用する際は、必要に応じて制限をつけてください。

[globus]$ vi $GLOBUS_LOCATION/etc/myproxy-server.config

15行目〜19行目のコメントになっている行を有効にします。

accepted_credentials "*"
authorized_retrievers "*"
default_retrievers "*"
authorized_renewers "*"
default_renewers "none"


6.2.3 デプロイ

runコマンドの内容を確認し、9行目にあるGLOBUS_LOCATIONの値がGT4のインストール先とは異なる場合は変更します。

[globus]$ vi $GLOBUS_LOCATION/share/myproxy/etc.init.d.myproxy

GLOBUS_LOCATION="/usr/local/globus"

rootユーザにスイッチし、/etc/rc.d/init.dにコピーします。実行権限が設定されていない場合は設定しておきます。

[globus]$ su -

Password:

[root]# export GLOBUS_LOCATION=/usr/local/globus

[root]# cp -p $GLOBUS_LOCATION/share/myproxy/etc.init.d.myproxy \

> /etc/rc.d/init.d/myproxy

[root]# chmod a+x /etc/rc.d/init.d/myproxy

設定ファイルを/etcにコピーします。

ここでコピーしておくと、MyProxyを再インストールした場合に元の設定ファイルを上書きされません。

[root]# cp -p $GLOBUS_LOCATION/etc/myproxy-server.config /etc/

システムサービスに追加します。

[root]# chkconfig --add myproxy


6.2.4 動作確認

テスト用にサーバを起動します。

[root]# source $GLOBUS_LOCATION/etc/globus-user-env.sh

[root]# myproxy-server -d

次のようなメッセージが表示されます。

starting at Fri Jan 21 15:12:24 2005

using storage directory /var/myproxy

この方法で起動すると、1度リクエストするとサービスが終了します。

クライアントからアクセスしてみます。

gtuserでログインし、証明情報をMyProxyサーバにアップロードします。

[gtuser]$ myproxy-init -a -s localhost.localdomain

ホスト名は環境に合わせて変更してください。

次のようなメッセージが表示されます。

Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=Globus Toolkit User
Enter GRID pass phrase for this identity:

途中、ユーザ証明書のパスワードを聞かれますので、 証明書要求時に設定したパスフレーズを入力、 Enterを押下します。

Creating proxy ..................................................... Done
Proxy Verify OK
Your proxy is valid until: Thu Feb 24 11:29:10 2005
Enter MyProxy pass phrase:

次にMyProxyのパスフレーズを聞かれますので、何かパスフレーズを入力、Enterを押下して下さい。

Verifying - Enter MyProxy pass phrase:

もう一度確認用に同じパスフレーズを入力すると、証明情報がアップロードされます。

A proxy valid for 168 hours (7.0 days) for user gtuser now exists on localhost.localdomain.

MyProxyサーバをもう一度起動します。

[root]# myproxy-server -d

MyProxyサーバにストアした証明情報を探してみます。

[gtuser]$ myproxy-get-delegation -s localhost.localdomain

Enter MyProxy pass phrase:

パスワードをきかれますので、 myproxy-init を実行したときに設定したMyProxyのパスフレーズを入力します。

A proxy has been received for user gtuser in /tmp/x509up_u1003

ファイル名ついては環境ごとに異なります。


6 コンポーネント設定に戻る

6.3 GridFTP

daemonで使用する場合、特に設定は必要ありません。

ここでは、xinetd上でサービスとして動作させる場合の設定について説明します。


6.3.1 xinetdの設定

rootユーザで/etc/servicesに設定を追加します。

[globus]$ su -

Password:

[root]# vi /etc/services

以下の内容を記述します。

# Port 2811 is used by GridFTP
gsiftp 2811/tcp

設定ファイルを作成します。

[root]# vi /etc/xinetd.d/grid-ftp

以下の内容を記述します。

service gsiftp
{
instances    = 100
socket_type   = stream
wait      = no
user      = root
env      += GLOBUS_LOCATION=/usr/local/globus
env      += LD_LIBRARY_PATH=/usr/local/globus/lib
server     = /usr/local/globus/sbin/globus-gridftp-server
server_args   = -i
log_on_success += DURATION USERID
log_on_failure += USERID
nice      = 10
disable     = no
}

6.3.2 xinetd再起動

xinetdを再起動します。

[root]# /etc/init.d/xinetd restart

xinetd を停止中:                                           [ OK ]
xinetd を起動中:                                           [ OK ]

6.3.3 動作確認

6.3.3.1 ファイルのコピー

ファイルをコピーしてみます。

コピー元のファイルを作成しておきます。

[globus]$ vi /tmp/gridftptest.txt

クライアントからアクセスしてみます。

gtuserでログインし、ファイルをコピーします。

[gtuser]$ globus-url-copy -stripe \

> gsiftp://localhost.localdomain/tmp/gridftptest.txt \

> file:///home/gtuser/gridftptest.txt.cp

lsコマンドで確認してみてください。


6.3.3.2 テストスクリプトの実行

GT4に同梱されているGridFTPのテストスクリプトを実行してみます。

[globus]$ cd /usr/local/globus/LOGS/

[globus]$ ./TESTS.pl

本書の環境では30分程度かかったようでした。

また、「unexpectedly succeeded」というメッセージが2度出ていますが、原因は未調査です。

Started server at port 32781
Running sanity check
Server appears sane, running tests
globus-ftp-client-caching-get-test...........ok
globus-ftp-client-caching-transfer-test......ok
globus-ftp-client-create-destroy-test........ok
globus-ftp-client-exist-test.................ok
globus-ftp-client-extended-get-test..........ok
globus-ftp-client-extended-put-test..........ok
        1/96 unexpectedly succeeded
globus-ftp-client-extended-transfer-test.....ok
globus-ftp-client-get-test...................ok
globus-ftp-client-lingering-get-test.........ok
globus-ftp-client-multiple-block-get-test....ok
globus-ftp-client-partial-get-test...........ok
globus-ftp-client-partial-put-test...........ok
globus-ftp-client-partial-transfer-test......ok
globus-ftp-client-plugin-test................ok
globus-ftp-client-put-test...................ok
        1/120 unexpectedly succeeded
globus-ftp-client-size-test..................ok
globus-ftp-client-transfer-test..............ok
globus-ftp-client-user-auth-test.............ok
All tests successful (2 subtests UNEXPECTEDLY SUCCEEDED).
Files=18, Tests=2456, 1859 wallclock secs (513.12 cusr + 93.47 csys = 606.59 CPU)

6 コンポーネント設定に戻る

6.4 RFT

RFTGT4とともにインストールされますが、データベースの作成や設定ファイルの変更が必要となります。

また、RFTでは、実際にファイルを転送する際はGridFTPを使用しています。GridFTPxinetd上で動かす場合の設定については、6.3をご覧下さい。

6.4.1 各種ファイルのパーミッション確認

以下のディレクトリ/ファイルはglobusユーザ以外が読み書きできないようにします。
  • jndi-config.xml
  • server-config.wsdd
  • ~/.globus/persistedディレクトリ下

パーミッションを確認し、適切なパーミッションに変更します。

[globus]$ cd $GLOBUS_LOCATION

[globus]$ find . -name "jndi-config.xml" -ls

[globus]$ find . -name "server-config.wsdd" -ls

上記のコマンド等で確認し、600ではないものがあれば変更します。

[globus]$ ls -ld ~/.globus/persisted

persistedディレクトリのパーミッションは700にしておきます。


6.4.2 DB作成

RFTが使用するデータベースを作成します。

DBやテーブルを作成する際にパスワードをきかれたら、4.6.6で設定したDBユーザのパスワードを入力してください。

PostgreSQLが起動していない場合、まずPostgreSQLを起動します。

[globus]$ /etc/init.d/postgresql status

postmaser は停止しています

[globus]$ su -

Password:

[root]# /etc/init.d/postgresql start

postgresql サービスを開始中 :                                      [ OK ]

[root]# exit

データベースを作成します。

[globus]$ createdb rftDatabase

作成されると、

CREATE DATABASE

と表示されます。

DBができたら、GT4に同梱のSQLを実行、テーブルおよびシーケンスを作成します。

[globus]$ psql -d rftDatabase -f \

> $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql


6.4.3 設定ファイル変更

ReliableFileTransferServiceの設定ファイルに記載されているDB接続ユーザ名とパスワードを環境に合わせて変更します。

51行目〜119行目にDB接続に関する設定があります。

本書と同様の環境の場合、78行目〜93行目にあるユーザ名およびパスワード以外は変更の必要はありません。

[globus]$ view $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml

<resource name="dbConfiguration"
    type="org.globus.transfer.reliable.service.database.RFTDatabaseOptions">
  <resourceParams>

...[中略]...

    <parameter>
      <name>
        userName
      </name>
      <value>
        tester
      </value>
    </parameter>
    <parameter>
      <name>
        password
      </name>
      <value>
        foo
      </value>
    </parameter>

...[中略]...

  </resourceParams>
</resource>


6.4.4 動作確認

[TODO]

6.7 に記載のGRAMの動作確認の中でRFTを使用しており、正常終了している模様)

6 コンポーネント設定に戻る

6.5 RLS

RLSGT4とともにインストールされますが、データベースの作成や設定ファイルの変更が必要となります。

なお、本書の環境では、まだRLSの動作確認に成功していません。


6.5.1 設定ファイル変更

設定ファイルを開き、DB接続に使用するユーザ名、パスワードを変更します。

変更するのは、2行目〜3行目です。

[globus]$ vi $GLOBUS_LOCATION/etc/globus-rls-server.conf

# Database connection options
db_user dbuser
db_pwd yourdbpasswordgoeshere

6.5.2 DB作成

RLSが使用するデータベースを作成します。

RLSにはLocal Replica Catalog サーバとReplica Location Index サーバがあります。必要に応じて各データベースを作成してください。

また、DBやテーブルを作成する際にパスワードをきかれた際には、4.6.6で設定したDBユーザのパスワードを入力してください。

PostgreSQLが起動していない場合、まずPostgreSQLを起動します。

[globus]$ /etc/init.d/postgresql status

postmaser は停止しています

[globus]$ su -

Password:

[root]# /etc/init.d/postgresql start

postgresql サービスを開始中:                                      [ OK ]

[root]# exit

6.5.2.1 LRCデータベース作成

Local Replica Catalog サーバの場合、lrcデータベースを作成します。

[globus]$ createdb -O globus -U globus -W lrc1000

作成されると、

CREATE DATABASE

と表示されます。

次に、テーブル等を作成します。

[globus]$ psql -W -U globus -d lrc1000 -f \

> /usr/local/globus/setup/globus/globus-rls-lrc-postgres.sql

6.5.2.2 RLIデータベース作成

Replica Location Index サーバの場合、rliデータベースを作成します。

[globus]$ createdb -O globus -U globus -W rli1000

作成されると、

CREATE DATABASE

と表示されます。

DBができたら、テーブル等を作成します。

[globus]$ psql -W -U globus -d rli1000 -f \

> /usr/local/globus/setup/globus/globus-rls-rli-postgres.sql

6.5.3 WS Index Serviceとの連携の設定

globus-rls-reporterを使用してRLSサーバの情報をWS Index Serviceにレポートする場合、rlsの設定(/usr/local/globus/setup/globus/rls-ldif.conf)の内容をIndex Serviceの設定ファイル(/usr/local/globus/etc/grid-info-resource-ldif.conf)に追加する必要があります。

[globus]$ cat /usr/local/globus/setup/globus/rls-ldif.conf >> \

> /usr/local/globus/etc/grid-info-resource-ldif.conf

もしもMDS (GRIS)サーバが動いている場合は、一旦停止し、再度起動してください。

※ GT4 Version3.9.5 の場合

3.9.5 の場合、/usr/local/globus/etc/grid-info-resource-ldif.confが存在しません。WS Index Service との連携については調査していないため、設定方法等は不明です。

6.5.4 動作確認

[TODO]

6 コンポーネント設定に戻る

6.6 WebMDS

WebMDSInformation Serviceに含まれる機能の一つで、現時点では、Tech Previewという位置づけになっています。

使用する場合は、GT4のインストールとは別にインストール作業を行う必要があります。

6.6.1 make

※ GT4 Version3.9.5 の場合

3.9.5 の場合、GT4のインストール時にGT4とともにインストールされ、GT4のコンテナ上にデプロイされるため、make およびデプロイは不要です。
(Tomcat上で動かす場合は、Tomcatへのデプロイ作業は必要です。)

GT4のインストール媒体を解凍したディレクトリに移動します。

[globus]$ cd /usr/local/src/gt3.9.4-all-source-installer

makeします。

[globus]$ make gt4-webmds

6.6.2 Tomcatの設定

Tomcat上で動くよう、設定ファイルを生成します。

[globus]$ cd /usr/local/globus/

[globus]$ ./lib/webmds/bin/webmds-create-context-file \

> /usr/local/tomcat/conf/Catalina/localhost

6.6.3 動作確認

[TODO]

6 コンポーネント設定に戻る

6.7 GRAM

6.7.1 sudoの設定

globusユーザがgtuserとしてjobを実行できるよう/etc/sudoersファイルに設定を追加します。

[globus]$ su -

Password:

[root]# visudo /etc/sudoers

globusから*までは1行で記入してください。

globus ALL=(gtuser) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute /usr/local/globus/libexec/globus-job-manager-script.pl *
globus ALL=(gtuser) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute /usr/local/globus/libexec/globus-gram-local-proxy-tool *

globusユーザでsudoの設定内容を確認します。

[root]# exit

[globus]$ sudo -l

以下のように表示されます。

User globus may run the following commands on this host:
(gtuser) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute /usr/local/globus/libexec/globus-job-manager-script.pl *
(gtuser) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute /usr/local/globus/libexec/globus-gram-local-proxy-tool *

6.7.2 動作確認

gtuserでジョブを実行してみます。

gtuserでログインし、jobを実行します。

[gtuser]$ managed-job-globusrun \

> -f $GLOBUS_LOCATION/share/gram-client/test.xml

※ GT4 Version3.9.5 の場合

3.9.5 の場合、$GLOBUS_LOCATION/share/gram-client/test.xml がなく、代わりにコマンドライン引数で処理内容を与えるようになっています。
managed-job-globusrun "/bin/echo Testing 1...2...3"

6 コンポーネント設定に戻る


付録

付録A Tomcatへのデプロイ

付録B org.globus.common.ChainedIOException: Authentication failed

目次に戻る

付録A Tomcatへのデプロイ

GT4をインストールするとスタンドアロンコンテナもインストールされるますが、コンテナとしてTomcatを使用することも可能です。

本章では、Tomcatへのデプロイの仕方を説明します。

この方法ですぐに使用できるのはセキュアではない(httpを使用する)コンテナです。

セキュアな(httpsを使用する)コンテナを使用したい場合については、 Tomcat のサイト等を参考にホスト証明書の設定を行ってください。


A.1 デプロイ

GT4をインストールしたディレクトリに移動し、antコマンドを実行します。

[globus]$ ant -f share/globus_wsrf_common/tomcat/tomcat.xml \
> deployTomcat -Dtomcat.dir=/usr/local/tomcat

A.2 コンテナの起動

起動シェルを実行します。

[globus]$ $CATALINA_HOME/bin/startup.sh

A.3 動作確認

GT4のスタンドアロンコンテナと同様です。

A.4 コンテナの停止

停止シェルを実行します。

[globus]$ $CATALINA_HOME/bin/shutdown.sh

付録に戻る

付録B org.globus.common.ChainedIOException: Authentication failed

本書の環境では、セキュアなコンテナでの動作確認の際に以下のエラーが発生しました。

[gtuser]$ counter-client https://foo.bar.com:8443/wsrf/services/CounterService
Counter service: https://foo.bar.com:8443/wsrf/services/CounterService
Error: ; nested exception is:
        org.globus.common.ChainedIOException:
        Authentication failed [Caused by: Operation unauthorized
        (Mechanism level: Authorization failed. Expected
        "/CN=host/localhost.localdomain" target but received
        "/O=Grid/OU=GlobusTest/OU=simpleCA-bar.com/CN=host/foo.bar.com")]
        [Caused by: GSSException: Operation unauthorized (Mechanism
        level: Authorization failed. Expected
        "/CN=host/localhost.localdomain" target but received
        "/O=Grid/OU=GlobusTest/OU=simpleCA-foo.bar.com/CN=host/foo.bar.com")]

原因はまだ調査していませんが、/etc/hostsの内容を、下記B.1またはB.2のいずれかの内容に変更したところ、差し当たりクライアントプログラムを動かすことができることは確認しました。

正しい対処法は別にあるものと思われますし、あまりおすすめできる方法ではありません。

以下の変更は各自の責任で行ってください。

B.1 ホストを追加、127.0.0.1のエイリアスを削除する

/etc/hostsファイルを以下のように変更しました。

<変更前>

127.0.0.1 localhost.localdomain foo.bar.com localhost foo

<変更後>

127.0.0.1 localhost.localdomain localhost
192.168.1.101 foo.bar.com foo

B.2 127.0.0.1のエイリアスの順序を変更する

/etc/hostsファイルを以下のように変更しました。

<変更前>

127.0.0.1 localhost.localdomain foo.bar.com localhost foo

<変更後>

127.0.0.1 foo.bar.com localhost.localdomain localhost foo

付録に戻る


Copyright (C) 2005 Glatts, Inc. All rights reserved.