Metacat におけるApache の設定
KNB Home Data People Informatics Biocomplexity Education Software

目次
はじめに
Unbuntu/Debian の設定
Mod JKの設定
Metacat のサイトの設定
LSID サービスの設定
Apacheの再読み込み
他の O/S の設定
はじめに

Apache ウェブサーバの後ろでTomcatを動かすつもりであるなら、いくらか 追加の設定がある。Ubuntu Linux O/S が推奨される理由のひとつはこの設定が 容易だからである。これはApacheの設定の時に十分に明確になる。 Ubuntu/Debian の設定は他の設定から切り離して示す。

Unbuntu/Debian の設定

Ubuntu/Debian システム上にインストールしようとしていて、また Apache を apt-get を使ってインストールした場合、Metacat のコードは Apache を 設定するためのディレクトリに落とすことができる補助ファイルを持っている。 バイナリ配布物からインストールしているのかソースからかに応じて、 補助ファイルは2カ所のいずれかの場所にある。

以下では補助スクリプトがあるディレクトリを <metacat_helper_dir> と表記する。

Apache がインストールされたディレクトリを <apache_install_dir> と表記する。

Mod JKの設定

Apache は、Tomcatアプリケーションと話すのに Mod JK と呼ばれる モジュールを使う。もしこれをまだやってなければ、次のように打てば インストールできる。

sudo apt-get install libapache2-mod-jk

Apache と Tomcatの間のインターフェイスを設定する補助ファイルは jk.conf and workers.propertiesである.これらのファイルをインストールするには、

sudo cp <metacat_helper_dir>/jk.conf <apache_install_dir>/mods-available/
sudo cp <metacat_helper_dir>/workers.properties <apache_install_dir>

Apache Mod JK モジュールを無効化して再び有効にすると、新しい変更が 反映される。

sudo a2dismod jk
sudo a2enmod jk
Metacat のサイトの設定

次に、Apache は Metacat のサイトについて知る必要がある。 "knb" という名前の補助ファイルは、どのトラフィックをMetcatに送るべきかを Apacheに教えるルールを持っている。knb(Metacat)サイトを設定するには knbファイルを sites-available ディレクトリに落としてそのサイトを有効化 するために a2ensite を実行する。

sudo cp <metacat_helper_dir>/knb <apache_install_dir>/sites-available
sudo a2ensite knb
LSID サービスの設定

もし Metacatサーバと一緒に LSID サーバを動かしたいのなら、 権限サービスサイトの設定を設定し有効にするために 次のようにタイプせよ。

sudo cp <metacat_helper_dir>/authority <apache_install_dir>/sites-available
sudo a2ensite authority
Apacheの再読み込み

変更を取り込むために、 apache を再読み込みする。

sudo /etc/init.d/apache2 force-reload
他の O/S の設定

もし Ubuntu/Debian 以外のO/S上で動かしていたり、Apache のソースや バイナリをインストールしたならば、Apache の設定ファイルを手作業で編集する 必要がある。

Apache がインストールされたディレクトリを <apache_install_dir>と 表記する。

編集するのは次のファイルである。

<apache_install_dir>/conf/httpd.conf
Mod JK のログ設定

Mod JK に関してログの場所とレベルを設定するべきである。 もし次のような節がまだないなら、これを追加するべきである。

<IfModule mod_jk.c>
  JkLogFile "/var/log/tomcat/mod_jk.log"
  JkLogLevel info
</IfModule>

ログの場所は自由に決めて良い。

仮想ホスト設定

以下の節ではMetacatに送るべきトラフィックをapacheに教えるように 設定している。

<VirtualHost XXX.XXX.XXX.XXX:80>
  DocumentRoot /var/www
  ServerName dev.nceas.ucsb.edu
  ErrorLog /var/log/httpd/error_log
  CustomLog /var/log/httpd/access_log common

  ScriptAlias /cgi-bin/ "/var/www/cgi-knb/"
  <Directory /var/www/cgi-knb/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
  </Directory>

  ScriptAlias /knb/cgi-bin/ "/var/www/webapps/knb/cgi-bin/"
  <Directory "/var/www/webapps/knb/cgi-bin/">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
  </Directory>

  JkMount /knb ajp13
  JkMount /knb/* ajp13
  JkMount /knb/metacat ajp13
  JkUnMount /knb/cgi-bin/* ajp13
  JkMount /*.jsp ajp13
  JkMount /metacat ajp13
  JkMount /metacat/* ajp13
</VirtualHost>

注意点:

workers.properties ファイル

"workers.proerpties" という名前のファイルを Apache の設定ディレクトリに 落とし、またすべての特性が正しく設定されるようにそのファイルを編集する必要がある。 Metacat は基本となる workers.properties を提供する。 Metacatをバイナリからインストールしたかソースからかに応じて、 workers.properties ファイルの場所は以下のいずれかになる。

workers.properties ファイルを次の場所にコピーする。

<apache_install_dir>/conf/

workers.properties ファイルを編集して、以下の特性が正しく設定されて いるか確かめる。

LSID サービスの設定

もしMetacatサーバと一緒に LSID サーバを動かしたいのなら、 上で設定した仮想ホストの節に以下の行を追加せよ。

  JkMount /authority ajp13
  JkMount /authority/* ajp13
Apacheの再読み込み

設定を取り込むために apache を再読み込みする。次のようにタイプせよ。

sudo /etc/init.d/apache2 restart