Metacat の Linux へのインストールの手引き
KNB Home Data People Informatics Biocomplexity Education Software

目次
はじめに
インストールの選択肢
このページの構成
クイック・インストール
Metacat パッケージのダウンロード
Metacat のディレクトリを作成
Javaのインストール
Apacheのインストール
Tomcatのインストール
PostgreSQL データベースのインストール
Metacat Warのインストール
LSID Warのインストール
Metacatの設定
クイック・アップデート
Metacat パッケージのダウンロード
既にインストールされている Metacat のバックアップ
Metacat Warのアップデート
LSID Warのアップデート
Metacatの設定
インストールの前に
最小要件
追加で必要なソフトウェア
追加ソフトウェアの設定
Java
Oracle
PostgreSQL
Ant
Apache
Tomcat
Metacat をダウンロードして War ファイルを入手する
Metacat のバイナリをダウンロードして War ファイルを入手
Metacat のソース配布物をダウンロードする
Metacat のソースを SVNからダウンロードする
ソースからWarを作成する
Metacatのインストール
Metacat のディレクトリを作成
Metacat バイナリ (War)のインストール
ソースから Metacat をインストール
既存のMetacatの更新
実行中の Metacatの停止
最新のMetacat アプリケーションのダウンロード
Metacat バイナリ (War)の更新
ソースから Metacat を更新
Tomcatの再始動
トラブルが起きたら
Metacatの設定
ウェブベースの登録
はじめに
インストールの選択肢

Metacat をインストールする時に考慮するべき選択肢がいろいろある。幾つか挙げると、

管理者は、自分たちのシステムに最も適合するように、これ らの選択肢をどのように組み合わせるかを決める必要がある。

このページの構成

このページの最初の2節は、最適環境(Ubuntu Linux 上で Apacheと共にバイナリ配布物をインストール)における、 Metacat の新規インストールと更新のためのコマンドライン操作 について説明している。

それ以降の部分では、他のインストール方法を含め、より詳 しい説明がなされる。

すぐで きるインストール

ここでは、Ubuntu 8.04 がインストールされており、かつ MetacatがまだインストールされていないシステムにMetacatをイ ンストールする場合について解説する。

Metacat パッケージのダウンロード
Metacat ディレクトリの作成
Javaのインストール
Apacheのインストール
Tomcatのインストール
PostgreSQL データベースのインストール
Metacat Warのインストール
LSID Warのインストール
Metacatの設定

Metacat Confgurationを参照して、 Metacatのインストールを完了せよ

すぐできる更新

ここでは、既にMetacatがインストールされているが、Metacatの更新が必要なシステムのための説明を行なう。

Metacat パッケージのダウンロード
既にインストールされているMetacat のバックアップ
Metacat Warの更新
LSID Warの更新
Metacatの設定

Metacat Confgurationを参照して Metacatのインストールを完成させよ.

インストールの前に
最小要件

Metacat のインストールには、SQL92に準拠したデータベース(Oracle 8i もしくは Postgresql が推奨される) が走っていて、少なくとも 128MBのRAMと Pentium III かそれ以上のプロセッサを持ったサーバが必要である。 必要なディスク容量は RDBMS の tablespace のサイズに依存する (少なくとも10MBあるだろうが、Metacat それ自体はインストール後に たった1MB程度の容量しか必要としない)。これらの説明はLinux環境を 仮定しているが、他のUNIXタイプの環境でも動作するだろう、しかし テストはされていない。

追加で必要なソフトウェア

Metacatをインストールするサーバは、Metacatのインストールが試みられる前に、 以下に挙げるソフトウェアがインストールされて正しく動作していなければならない。

追加のソフトウェアの設定
Java

最近の Java SDKが必要である; J2SE 1.4.2 かそれ以降が要求される。 最新のmetacatリリースは J2SE 5.0を用いて幅広くテストされており、これが推奨されるバージョンである。 JAVA_HOME 環境変数が正しく設定されているか、また java と javac のどちらもが PATH にあることを確認せよ。

Oracle 8i

Oracle RDBMS はそのシステム上で、デーモンとしてインストールされて動いていなければならない。 加えて JDBC リスナが有効になっていなければならない。 それを有効にするには、Oracle ユーザとしてログインして、次のようにタイプせよ。

lsnrctl start

インスタンスには少なくとも5MBのテーブル空間を持たせるべきである (10MB以上が推奨される)。またMetacat専用のユーザ名を作成して有効に しておくべきである。このユーザは、 CREATE SESSION, CREATE TABLE, CREATE INDEX, CREATE TRIGGER, EXECUTE PROCEDURE, EXECUTE TYPE, などを含む、通常権限の大部分を持たなければ ならない。もしある行動がMetacatによって不可解にも拒絶された場合、それは たぶんユーザの権限が正しく設定されていないからである。

PostgreSQL

PostgreSQL はほとんどのlinuxディストリビューションとWindows(cygwinを用いる)とMac OS Xに簡単にインストールできる。 Fedora Core か RedHat Linuxを使っているなら、postgres の rpms をインストールして、

/etc/init.d/postgresql start

を実行してデータベースを始動することができる。 Ubuntu および 他のDebianベースの Linux ディストリビューションでは、 postgres のインストールに apt-get コマンドを使うことができる。

sudo apt-get install postgresql-8.0
そして
/etc/init.d/postgresql-8.0 start
を実行すれば 始動する。 これによってデータファイルが初期化される。設定を少々変更して、 データベースを作成し、ユーザアカウントを設定し、jdbcを通じてインターネット からアクセスできるようにする必要がある。これに関してはpostgresの文書を 見て欲しいが、しかしここではすぐできる方法を記す。

Ant

Ant は、UNIXシステムのMakeに類似した、Java ベースのビルドアプリケーションである。 Ant は "build.xml"というファイルからインストール時のパラメータを取り込む。 Metacat のCVS モジュールはデフォルトの build.xml ファイルを含んでいるが、これはインストールの際には若干の 修正が必要であろう。 システムにAnt がインストールされ、また"ant"の実行スクリプトがpath上で 利用可能になっていなければならない。 最新のmetacat リリースは Ant 1.6.5によってテストされた。

Apache

Ubuntu/Debianを動かしているなら、 Apache ウェブサーバのインストールは 次のようにタイプする。

sudo apt-get install apache2
そうでなければ、 Apache は the Apache Tomcat pageから入手できる。

Tomcat

Tomcat のインストール先は好きに選んでよい。Tomcatをインストールしたディレクトリを<tomcat_home>と表記する。 Tomcat のバージョンは 5.5を勧める. もしUbuntu/Debianを動かしているなら、次のようにタイプすればTomcatを入手できる。

sudo apt-get install tomcat5.5
そうでなければ, Tomcat は the Apache Tomcat pageから入手できる.

Metacatをダウンロードして War ファイルを入手する

インストールに必要な Metacat war ファイルを準備する方法にはいくつかある。

バイナリ配布物をダウンロードする方法が最も簡単で一般的なインストール方法であるので、それについてここでは詳しく論じる。ソースをダウンロードしてビルドしたい場合のために、その方法についてのリンクも含めておく。

Metacat のバイナリをダウンロードして War ファイルを入手する

KNB Software Download Pageを表示する. Metacat の節で, Linux ベースのシステムの場合は次のようなリンクを選ぶ。

metacat-bin-X.X.X.tar.gz

Windows システムの場合は次のようなリンクを選ぶ。

metacat-bin-X.X.X.zip

ここで X.X.X は Metacat の最新バージョン番号である。ファイルは手元に保存する。

Linux システム上で Metacat パッケージを展開するには次のようにタイプする。

tar -xvzf metacat-bin-X.X.X.tar.gz

もしくは, Windows上では, システムにある unzip ユーティリティを使ってzipファイルを展開する。

すると1個のwarファイルと数個の補助ファイルが現れるはずである。 これらのファイルが展開された場所を、以降の文章では <metacat_package_dir> と表記する。

Metacat のソース配布物をダウンロードする

Metacat のソース配布物を入手するために KNB Software Download Pageを表示する. Metacat の節で、Linux ベースのシステムの場合は次のようなリンクを選ぶ。

metacat-src-X.X.X.tar.gz

Windows システムの場合は次のようなリンクを選ぶ。

metacat-src-X.X.X.zip

ここで X.X.X というのは Metacatの最新バージョン番号である。ファイルは、ソースが置かれるべきディレクトリに保存する。

Linux システムで Metacat パッケージのファイルを展開するには次のようにタイプする。

tar -xvzf metacat-src-X.X.X.tar.gz

もしくは, Windowsの場合、システムの unzip ユーティリティを使ってzipファイルを展開する。

ディレクトリの名前をmetacat-X.X.X から metacatに変更する。

註・ソースからインストールする場合は、Ant のビルドファイルが war ファイルを配備するための"install"ターゲットを持っているため、自分でwarファイルを直接作成する必要はない。 Installing Metacat を見よ.

Metacat のソースを SVNからダウンロードする

もしMetacat のコードをSVNレポジトリから取り出すならば、システム上に Subversion (SVN) と CVS クライアントの両方がインストールされて設定されている必要がある。両方が必要な理由は、Metacat は SVN に移行したけれども、 補助ライブラリのいくつか(eml, utilities や seek)はまだ移行していないからである。 結局は、SVNだけですべてのバージョン管理ができるようになるだろう。 これらのシステムに適切なアカウントがあることを確かめる必要がある。 もしMetacatのソース配布物からインストールするならば、SVNやCVSについて 思い煩わなくてよい(必要なものはすべて含まれている)。

もしまだ Subversion をインストールしておらず、かつ Ubuntu/Debianを使っているなら、次のようにタイプすれば入手できる。

sudo apt-get install subversion

そうでなければ, The Subversion homepageから入手できる。

まだCVSをインストールしておらず、かつ Ubuntu/Debianを使っているなら、次のようにタイプすれば入手できる。

sudo apt-get install cvs

そうでなければ, The Ximbiot CVS homepageから入手できる。

SVNからコードを取り出すためには、コードを置いておきたいディレクトリに移動し、次のようにタイプする。

svn co https://code.ecoinformatics.org/code/metacat/tags/METACAT_<rev> metacat

ここで <rev> とは、取り出したいコードのバージョン番号である(1_9のような).

もし head を取り出したいなら次のようにタイプする。

svn co https://code.ecoinformatics.org/code/metacat/trunk metacat

取り出されたファイルのリストが表示されるはずである。

註・ソースからインストールする場合は、Antのビルドファイルの中にwarファイルを作成して配置するための"install"ターゲットが含まれているので、直接warファイルを作成する必要はない。 Installing Metacat を見よ。

Metacatのインストール

この節は新規インストールのみが対象である。もし既存のMetacatを更新するなら、この節を飛ばして次節に行け - Upgrading Existing Metacat

Tomcat は、設定で指定されたディレクトリの中のアプリケーションファイル(war ファイル)を探す。典型的には <tomcat_home>/webapps ディレクトリであるが、しかしあなたが使っているTomcatは他のディレクトリを見るように設定されているかも知れない。 ここではTomcatのアプリケーションディレクトリを <tomcat_app_dir>と表記する.

Metacat ディレクトリの作成

Metacat は、データやメタデータ、一時ファイルや設定のバックアップを保管するために、ベースディレクトリを使う。 このディレクトリはTomcatのアプリケーションディレクトリの外部にあるべきである。と言うのもアプリケーションディレクトリは更新時に消去されてしまうからである。 metacat ユーティリティのベースディレクトリを作るには次のようにタイプする。

sudo mkdir

(典型的には は '/var/metacat'である.) このディレクトリは覚えておくように。と言うのもMetacatの始動後にMetacatの設定をするために尋ねられるからである。

次のようにタイプしてディレクトリの所有権を変更する:

sudo chown -R <tomcat_user> /var/metacat

ここで <tomcat_user> とはTomcatを始動するユーザである。 もしroot ユーザでTomcatの始動を行なうなら、chownコマンドは必要ない。

Metacat バイナリ (War)のインストール

war file を Tomcatにコピー:

sudo cp knb.war <tomcat_app_dir>
ソースから Metacat をインストールする

ビルドするには Apache Ant が必要である. もしまだ Ant がインストールされておらず、かつ Ubuntu/Debianを使っているなら、次のようにタイプすれば入手できる。

sudo apt-get install ant

そうでなければ, The Apache Ant homepageから入手できる

もうすでに"metacat"という名前のディレクトリにMetacatのソースが準備されているはずである。 (metacat のソースディレクトリを <metacat_src_dir>と表記する.)

ビルドの準備のため、次のファイルを編集する。

<metacat_src_dir>/build.properties

"build.tomcat.dir" プロパティがtomcatのインストールディレクトリに設定されているかどうか確かめる。たとえば、

build.tomcat.dir=/usr/local/tomcat

Metacat はビルドの最中にTomcat固有のライブラリを使う。

"app.deploy.dir" プロパティがアプリケーション配置ディレクトリに設定されているかどうか確かめる。例えば。

app.deploy.dir=/usr/local/tomcat/webapps

今ログインしているユーザとcvsユーザが違うなら、cvsrootプロパティの ${env.USER} 部をcvsユーザに変更する必要がある たとえば、

cvsroot=:ext:cvs-user@cvs.ecoinformatics.org:/cvs

ここでは cvs ユーザ名は "cvs-user"である。

<metacat_src_dir>で、次行を実行する。

ant clean install

独立モジュールがビルドされるのが見えるだろう。何回か、cvsパスワードの入力を促されるだろう。終わりに "BUILD SUCCESSFUL"というメッセージを見るはずである。

アプリケーション配置ディレクトリに knb.war という名前の新しいファイルが見えるはずである。

Apacheの設定

Tomcatを単独で動かすか、Apache ウェブサーバと一緒に動かすか選ぶことができる。Apacheと一緒に動かすことはより伝統的な設定である。と言うのもApacheはより頑強なウェブサーバだからである。ApacheをMetacatアプリケーションと通信させるための初期設定のやり方が

the Metacat Apache Configuration pageにある。

既存の Metacatの更新

以下の解説は既存のMetacatの更新についてである。

実行中の Metacatを停止する

そのためには, tomcatサーバを動かしたユーザとしてログインし(しばしばtomcatだが)、 <tomcat_home>/bin に行って次のようにタイプする。

./shutdown.sh
最新の Metacat アプリケーションをダウンロードする

KNB Software Download Pageを表示する. Metacat の節で, 次のようなリンクを選ぶ。

metacat-bin-X.X.X.tar.gz

ここで X.X.X は最新のMetacatのバージョン番号である。ファイルは手元に保存する

Metacat パッケージを展開するために次のようにタイプする。

tar -xvzf metacat-bin-X.X.X.tar.gz

すると数個のファイルが現れるだろう。

これらのファイルが展開された場所を、以降の文章では <metacat_package_dir> と表記する

Metacat バイナリ (War)の更新

Tomcat は設定で指定されたディレクトリの中のアプリケーションファイル (war ファイル) を探す。典型的には <tomcat_home>/webapps ディレクトリであるが、しかしあなたが使っている Tomcatは別のディレクトリを見るように設定されているかも知れない。 Tomcat のアプリケーションディレクトリを <tomcat_app_dir>と表記する.

望むならば、既存のwarファイルを日付を付けてバックアップせよ。

sudo mv <tomcat_app_dir>/knb.war <tomcat_app_dir>/knb.war.<yyyymmdd>

war ファイルを Tomcat のアプリケーションディレクトリにコピーする。

sudo cp knb.war <tomcat_app_dir>

既存のアプリケーションディレクトリを削除する(か名前を変える)

sudo rm -rf <tomcat_home>/webapps/knb

あるいは

sudo mv <tomcat_home>/webapps/knb <tomcat_home>/webapps/knb.<yyyymmdd>

Tomcatの再始動

sudo /etc/init.d/tomcat5.5 restart

Tomcat は始動時にwarファイルを新しいアプリケーションディレクトリに展開する。

ソースから Metacat を更新

ソースからMetacatを更新する手順は、ソースからインストールする手順と同じである。 上記のInstall Metacat From Source 節を見よ.

Tomcatの再始動

Metacatのインストールが一旦成功したら、更にもうひと手順がある。 Tomcat (Apache と統合させている場合はApacheも) を再始動させなければならない。 そのためには、tomcatサーバを動かしているユーザ(たいてい"tomcat")で ログインして、 <tomcat_home>/bin に移動し、次のようにタイプする。

./startup.sh

Tomcat の始動メッセージの中で、次のようなログが見られるはずである。

Metacat: [WARN]: Metacat (1.8.0) initialized. [edu.ucsb.nceas.metacat.MetaCatServlet]
このメッセージが見えたら、TomcatがMetacatサーブレットを読み込むのに成功したのである。 次に、新しいサーブレットを実行させてみよう。ウェブブラウザに移動して 次のようにタイプする。

http://yourserver.yourdomain.com/yourcontext/

上記のurlにおける"yourcontext"は、実際のコンテクスト名に置換せよ。 もしすべてが正しく動いているなら、検索結果が何もない検索画面が見える はずである。もしTomcatをApacheと統合させていないのなら、おそらく 次のようにタイプする必要がある。

http://yourserver.yourdomain.com:8080/yourcontext/
問題解決

もし次のようなものが見えたら:

java.lang.InternalError: Can't connect to X11 window server using 'yourservanme:0.0' as the value of the DISPLAY variable.

次の行を:

JAVA_OPTS="-Djava.awt.headless=true $JAVA_OPTS"

tomcat の bin ディレクトリにあるcatalina.sh ファイルの第一行に加えるべきである。この理由は、GeoServer が画面を描画するために X11 windows を使用するためである.

Metacatの設定

Metacat の設定画面が一度現れたら、 Configuring Metacat Section に従ってMetacatの内部設定を完成させることができる。

ウェブベースの登録

登録するとユーザがウェブから簡単なメタデータをアップロードできるようになる。 Registry Installation Guideを見よ.