本文へジャンプ

データベース/データ管理  >  DB2 Developer Domain  >  ライブラリー  >  技術白書-DB2ファミリー関連  >  
   
 

Content Manager OnDemand Web Enablement Kit用にWebSphere Application ServerとIBM HTTP Serverを構成する

Mark A. Stephens
OnDemand Development IBM Boulder Lab
June 2002

 
 
コンテンツ
はじめに
タスク概要
ODWEK CGI用にHTTP Serverを構成する
ODWEK Java用にHTTP ServerとWebSphere Serverを構成する
構成をテストする
トラブルシューティング
結論
補足情報
著者について
執筆者
Mark A. Stephens

OnDemand DevelopmentIBM Boulder Lab

 

はじめに
Content Manager OnDemand Web Enable Kit (ODWEK) を使用すると、ユーザーは業界標準のWeb ブラウザーを使用して、OnDemandシステムに保管されたデータをアクセスできます。そしてアーカイブ・フォルダーやアプリケーションを通して検索して、ブラウザーに表示する文書やレポートのセクションを選択できます。IBM Content Manager OnDemand for z/OS™用のODWEKの機能や利点についての詳細は、http://www-3.ibm.com/software/data/ondemand/wek.htmlを参照してください。

ODWEKと共に稼動するようにWebSphere® Application ServerおよびIBM HTTP Serverをインストールして構成するのは、下調べやテストに長い時間のかかる骨の折れる作業です。この記事の目的は、WebSphere Application ServerおよびIBM HTTP Serverを設定するためのステップごとの手順を提供することです。この手順に従えば、設定にどの製品の詳細知識も必要なく、作業に費やす時間も削減されます。

タスク概要
ODWEKはCGI (Common Gateway Interface) 版とJava™サーブレット版という2つの形式で提供されます。ODWEK製品の両版ともインストール時にシステム上に配置され、好みに応じて一方または両方を構成して稼動させることができます。CGI版を適切にインストールして構成するには、OnDemand ServerとIBM HTTP Server (バージョン5.3以上)が必要です。Javaサーブレット版には、この他IBM WebSphere Application Server (バージョン3.5以上) も適切にインストールされ構成される必要があります。CGI版はJavaサーブレット版のサブセットであるため、構成、実行が簡単です。

ODWEKは階層ファイル・システム (HFS) 上の/usr/lpp/ars/wwwにインストールされます。ODWEKは、(/usr/lpp/ars/www/cgi-binディレクトリーにある) arswww.iniファイルに小さな変更を1つ加えるだけで、ODWEKのJavaサーブレット版を実行できるように事前構成されています。この小さな変更と、WebSphere Application Serverの正しい構成、および正しく構成されたIBM HTTP Server により、ODWEKシステムはわずかな時間で稼動開始されます。

上に戻る


ODWEK CGI用にHTTP Serverを構成する
IBM HTTP Serverのルート・ディレクトリーに位置するhttpd.confファイルを編集します。サンプル・システムでは、httpd.confファイル (図1) は/p3odwekディレクトリーにあります。

httpd.confの「Basic directives」セクションで、次のパラメーターを指定します。

  • Hostnameパラメーター。IBM HTTP Serverを稼動させる予定のシステムのドメイン名です。サンプルでは、testcase.ibm.comというドメイン名を使用しました。
  • UserIdパラメーター。インストールされたときにIBM HTTP Serverに関連付けられたユーザーIDです。サンプルでは、UserIdパラメーターはp3odwek1です。
  • IBM HTTP Serverが通信するTCP/IPポート。サンプルでは2480です。
図1. 基本ディレクティブをhttpd.confファイルに追加する
#        Basic directives
# ===================================================================== #

Hostname     testcase.ibm.com
UserId       p3odwek1

….
Port         2480

httpd.confファイルの「Mapping Rules」セクションは、CGI インターフェース用のODWEK関数をHTTP Serverにマップするので、ODWEKのCGI版の操作には重要です。図2はPass、Map、およびExecというステートメントを示しています。各ステートメントは非常に重要であり、システムが正しく機能するには、これらステートメントが正しい順序に並んでいる必要があります。マッピング・ステートメントの概要とその機能を次に示します。

  • Passルールにより、サーバーは要求を受け入れることができます。置換ファイル・パスはPassアクションではオプションです。置換ファイル・パスが使用される場合、サーバーは要求を受け入れる前にそのパスを使ってURLを変更します。サーバーはURLを後続ルールのどれとも比較しません。Passはデフォルト設定です。図2では、「Pass」ステートメントの後ろに、要求パスと置換ファイル・パスが続きます。
  • Mapルールにより、サーバーは置換ファイル・パスに応じてURLを変更できます。次にサーバーは新しい URLを後続ルールのURL 要求テンプレートと比較します。
  • Execルールにより、サーバーは要求を受け入れ、置換ファイル・パスによって識別されたCGI スクリプト・プログラムを実行できます。サーバーはURLをどの後続ルールとも比較しません。Execを選択することでCGIプログラムを実行できます。Execの選択により、ライブラリー中の全 CGIプログラムを有効化することも、さまざまなライブラリー内の特定のプログラムだけを有効化することもできます。

httpd.confファイルの「Mapping rules」セクション内で、図2に示したステートメントを追加します。

図2. httpd.confにマッピング・ルールを追加する
# ===================================================================== #
#
#        Mapping rules
#
# ===================================================================== #
# *** ADD NEW PASS RULES HERE ***

Pass       /applets/*  /usr/lpp/ars/www/applets/* testcase.ibm.com
Pass       /applets/com/ibm/edms/od/*  /usr/lpp/ars/www/applets/* testcase.ibm.com
Pass       /images/*  /usr/lpp/ars/www/images/* testcase.ibm.com

Map        /images/grytxtr4.jpg /usr/lpp/ars/www/images/grytxtr4.jpg testcase.ibm.com
Map        /images/odcolin2.gif /usr/lpp/ars/www/images/odcolin2.gif testcase.ibm.com
Pass       /logon  /usr/lpp/ars/www/samples/logon.htm testcase.ibm.com
Pass       /test   /usr/lpp/ars/www/samples/test.htm testcase.ibm.com

Exec       /arswww.cgi         /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Exec       /arswww.cgi/*.pdf   /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Exec       /arswww.cgi/*.jpg   /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Exec       /arswww.cgi/*.afp   /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Exec       /samples/*          /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Exec       /arswww.cgi         /usr/lpp/ars/www/cgi-bin/arswww.cgi testcase.ibm.com
Pass       /*    /usr/lpp/ars/www/* testcase.ibm.com

http.confファイルの最後に位置するもう1つの重要なエリアは、「Code page directive」セクション (図3) です。デフォルトでは、IBM HTTP Serverのコード・ページはIBM-1047という EBCDIC コード・ページであり、デフォルトのブラウザーのコード・ページはISO8859-1、すなわちASCII Latin 1です。ブラウザーにASCII Latin 1以外のコード・ページ、あるいはサーバーにEBCDIC 1047以外のコード・ページを使用する国に居住する場合、正しいコード・ページ参照を正しい位置に適用します。これらパラメーターがhttpd.confファイルで設定されることを確認してください。

図3. httpd.conf内のコード・ページ・ディレクティブ
#These code page directives are included for NLS reference only:
#default code pages are correct for En_US
#DefaultFsCp - server code page for local EBCDIC documents and CGI

DefaultFsCp       IBM-1047
DefaultNetCp      ISO8859-1

ODWEKのCGI版を実行する場合、ArsWWWServletへの参照をarswww.cgiへの参照に変更することにより、/usr/lpp/ars/www/samplesディレクトリーに位置するlogon.htmファイルも変更する必要があります。

提供されるlogon.htmファイルは、ODWEKのJavaサーブレット版の実行用に設定されています。
<FORM METHOD=POST ACTION="/ArsWWWServlet">

CGI版を実行するには、CGI実行形式プログラムに変更します。
<FORM METHOD=POST ACTION="/arswww.cgi">

ODWEKのCGI版が稼動する場合、システムはテスト準備が整った状態です。その場合、「構成をテストする」の項に進んでください。Java版をインストールする場合、次の項に進んでください。

上に戻る

ODWEK Java用にHTTP ServerとWebSphere Serverを構成する
ODWEKのJavaサーブレット版を実行するには、HTTP ServerおよびWebSphere Application Serverの構成を変更する必要があります。これらのファイルの変更方法を次に説明します。HTTP Serverを構成する

IBM HTTP Serverのルート・ディレクトリーにあるhttpd.confファイルで、「WAS Servlet Support」セクションを探し、was.confファイルのパスと名前をServerInitステートメントの最後に追加します (図4 参照)。ここでServerInitステートメントは、HTTP Serverに対して、特定のwas.confファイルを使用してWebSphere Application Serverを初期化するように指示しています。このServerInitのマッピングがないと、インターネット・ブラウザー経由でContent Manager OnDemandをアクセスしようとすると、ブラウザーから「Error 500」を受け取ります。ODWEKのJavaサーブレット版にも、httpd.confファイルの同じセクションに追加のマッピング・ステートメントが必要です。図4のサンプルの「Service」ステートメントは、ODWEKサーブレットから WebSphere Application Serverへのマッピングを示しています。これらステートメントは、httpd.confファイルに含まれなければなりません。

図4. HTTP ServerをWASサーブレット・サポート用に構成する
# ===================================================================== #
#   *** WAS  Servlet Support                          ***
# ===================================================================== #
#   WAS 350 added  20020213
  ServerInit  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:init_exit
   /usr/lpp/WebSphere,/p3odwek1/was.conf
  Service     /webapp/examples/* /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
  ServerTerm  /usr/lpp/WebSphere350/AppServer/bin/was350plugin.so:term_exit

# ===================================================================== #
#   *** OD WEK                                        ***
# ===================================================================== #
 Service      /ODwek/*        /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.pdf  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.jpg  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.afp  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.tif  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit

httpd.confファイルの「Mapping rules」セクションでは、図5に示したマッピングを追加して、ODWEKのJavaサーブレット版に対応します。

図5. ODWEKのJavaサーブレット版用にルールをマッピングする
# ===================================================================== #
#   *** WAS  Servlet Support                          ***
# ===================================================================== #
#   WAS 350 added  20020213
  ServerInit  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:init_exit
   /usr/lpp/WebSphere,/p3odwek1/was.conf
  Service     /webapp/examples/* /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
  ServerTerm  /usr/lpp/WebSphere350/AppServer/bin/was350plugin.so:term_exit

# ===================================================================== #
#   *** OD WEK                                        ***
# ===================================================================== #
 Service      /ODwek/*        /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.pdf  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.jpg  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.afp  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*.tif  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit
 Service      /ArsWWWServlet/*  /usr/lpp/WebSphere/AppServer/bin/was350plugin.so:service_exit

変更内容をhttpd.confファイルに保管します。

WebSphere Application Serverを構成する
さて、ここでwas.confファイルを編集します。was.confはWebSphere Application Serverの動作を制御します。was.confファイルはIBM HTTP Serverのルート・ディレクトリーにもあります。ファイル内で、「appserver.libpath」ディレクティブを探し、パス (/usr/lpp/ars/www/cgi-bin) をappserver.libpathパラメーターに追加します (図6 参照)。WebSphere Application Serverがlibarswwwsl.so共用ライブラリーを探すのは、このパスです。

図6. WebSphere構成ファイルを構成する
#--------------------------------------------------------------------#
#
#      appserver.libpath
#
#
appserver.libpath=/usr/lpp/ars/www/cgi-bin
#

次に、was.confファイルで「classpath」パラメーターを探します。「classpath」パラメーターは、WebSphere Application Serverに対して、ODWEKのサーブレット版の実行に必要な Javaクラス・ファイルを探す場所を知らせます。appserver.classpathパラメーターで、/usr/lpp/ars/www/servlets、/usr/lpp/ars/www/cgi-bin、および/usr/lpp/ars/www/appletsを追加します。図7で、これら3つのパスがコロン (:) で区切られているのがわかります。

図7. WebSphere構成ファイルでclasspathパラメーターを編集する
#--------------------------------------------------------------------#
#
#      appserver.classpath
#
#
appserver.classpath=/usr/lpp/db2/db2610/classes/db2jdbcclasses.zip:/usr/lpp/
java13/IBM/J1.3/lib/rt.jar:/usr/lpp/ars/www/servlets:/usr/lpp/ars/www/
cgi-bin:/usr/lpp/ars/www/applets

次に、was.confファイルの「Deployed Web Application Settings」セクション (図8 参照) を探します。このセクションは、IBM HTTP Serverによって起動されたときに、ODWEK Javaサーブレット・アプリケーションを探すためにWebSphere Application Serverによって使用されます。deployedwebapp.ODwek.classpathに/usr/lpp/ars/www/servletsディレクトリーが使用されているのがわかります。z/OSシステムでは、このディレクトリーにデフォルトでODWEK Javaサーブレットのクラス・ファイルが存在します。サーバーがJavaアプリケーション・クラス・ファイルを発見できるように、これらディレクティブのすべてをwas.confファイルに追加する必要があります。

図8. WebSphere Application Serverを有効にしてODWEK Javaアプリケーション・クラス・ファイルを発見する
# ================================================================== #
#   Deployed Web Application Settings
#
# ================================================================== #
deployedwebapp.ODwek.host=default_host
deployedwebapp.ODwek.rooturi=/
deployedwebapp.ODwek.classpath=/usr/lpp/ars/www/servlets
deployedwebapp.ODwek.documentroot=/usr/lpp/ars/www/samples
webapp.ODwek.jsplevel=1.0
webapp.ODwek.jspmapping=*.jsp
webapp.ODwek.filemapping=/
webapp.ODwek.errorpagemapping=ODerror.jsp

図9にある「Web Application Settings」を探します。autostartをfalseに設定し、サーブレットを/ArsWWWServletにマップし、ODWEKの初期化構成ファイルであるarswww.iniファイルが存在する/usr/lpp/ars/www/cgi-binに構成ディレクトリーを変更する必要があります。

図9. WebSphere構成ファイル内でWebアプリケーション設定を変更する
# ================================================================== #
#   Web Application Settings
#
# ================================================================== #
webapp.ODwek.servlet.ArsWWWServlet.autostart=false
webapp.ODwek.servlet.ArsWWWServlet.code=com.ibm.edms.od.ArsWWWServlet
webapp.ODwek.servlet.ArsWWWServlet.initargs=ConfigDir=/usr/lpp/ars/www/cgi-bin
webapp.ODwek.servlet.ArsWWWServlet.servletmapping=/ArsWWWServlet

変更内容をwas.confに保存します。これで構成のテストを開始できます。

上に戻る


構成をテストする
IBM HTTP ServerとWebSphere Application Serverの構成に行った変更をテストするには、以下を実行します。
  1.    変更内容を反映するために、IBM HTTP Server、またはIBM HTTP ServerとWebSphere Application Serverの両方を再始動します。

  2. ホスト、ポート、プロトコル情報を[@SRV@_default]に追加することにより、/usr/lpp/ars/www/cgi-binディレクトリーに位置するarswww.iniファイルを変更します。図10は、サンプルで使用する値を示しています。必要なポート番号は、Content Manager OnDemand Serverが稼動するポート番号であり、IBM HTTP Serverのポート番号ではありません。

    図10. arswww.iniファイルを変更する
    [@SRV@_default]
    HOST=testcase.ibm.com
    PORT=1445
    PROTOCOL=0
    
    


  3.    新たに構成されたシステムをテストするには、Netscapeまたはインターネット・エクスプローラーを起動し、サンプル URLをブラウザーのコマンド行に次のように入力することによって、Content Manager OnDemandシステムにログオンを試みます。     

    http://testcase.ibm.com:2480/logon

システムが正しく構成されると、Content Manager OnDemandのログオン画面が表示されます (図9 参照)。

図11. 成功! 構成が正しいと、ログオン画面が表示される
図11. 成功! 構成が正しいと、ログオン画面が表示される

ログオン画面が表示されない場合、「トラブルシューティング」の項へ進んでください。

ログオン画面から、Content Manager OnDemandのユーザー名またはパスワードを入力します。これで図12から図15に示すように、Content Manager OnDemandに保管されたPDF 文書を表示できます。

図12. フォルダーを選ぶ
図12. フォルダーを選ぶ

図13. 文書を検索する
図13. 文書を検索する

図14. 文書を選択する
図14. 文書を選択する

図15. 文書を開く
図15. 文書を開く

上に戻る

トラブルシューティング

この項では、典型的なエラーのいくつかを解説し、対処方法を提案します。

ODWEKログオン画面が表示されない

ODWEKログオン画面が表示されない場合、logon.htmファイルのマッピングが間違っている場合がよくあります。

マッピングが正しい場合、ディレクトリー/usr/lpp/ars/www/samplesの許可と、/usr/lpp/ars/www/samplesディレクトリーのにあるlogon.htmファイルの許可が正しいかどうか確認します。また、HTTP Serverが稼動していることを確認します。

必要な修正を行い、HTTPおよびWASサーバーを再起動して再試行します。

Error 404, file not found (ファイルが見つからない)

ODWEKログオン画面が正常に表示されたにもかかわらず、ログオンしようとするとError 404 メッセージが表示された場合、httpd.confファイルのマッピングを調べます。必要な修正を行い、HTTPおよびWASサーバーを再起動して再びログオンを試行します。

Error 500, Server Error (サーバー・エラー)

ODWEKログオン画面が正常に表示されたにもかかわらず、Error 500メッセージが表示された場合、おそらくODWEKのJavaサーブレット版を実行しています。IBM HTTPサーバーのルート・ディレクトリーに位置するhttpd.confファイルのServerInitステートメントを調べ、図4に示すとおりにwas.confファイルが含まれていることを確認してください。

必要な修正を行い、HTTPおよびWASサーバーを再起動して再試行します。

結論
ここまで読み進めると、z/OSシステム上でIBM HTTP ServerおよびWebSphere Application ServerとのODWEK製品の対話方法について、容易に把握できたことと思います。この記事の説明を参考にすることで、読者の皆さまがこの簡素で優美な Web ベースのインターフェースを使用して、Content Manager OnDemandに保管されている文書を表示できることを願っています。

補足情報

   

上に戻る

執筆者について

著者の写真 Mark Stephensは、1995年以来、IBMのソフトウェア・エンジニアです。Printing Systems DivisionにおいてPostScript開発や、のPSF for AIXおよびInfoprint Manager製品用のPCLインタープリターの開発から携わりました。2000年5月以降はContent Manager OnDemandチームに所属し、PDF索引付け機能とODWEKに従事しています。以前はコロラド州フォートコリンズを本拠とするGenasys社のソフトウェア・エンジニアに勤務して地理情報システム (GIS) およびデジタル・フォトグラミトリー・ソフトウェアに従事し、さらにIntergraph CorporationおよびBentley Systems社でコンピューター支援設計 (Microstation) やスキャナー・ソフトウェア (ANAtech) の開発に携わりました。
メール・アドレス:mstephen@us.ibm.com

IBM、OS/390、WebSphere、およびz/OSは、IBM Corp.の米国およびその他の国における商標または登録商標です。
JavaおよびすべてのJavaベースの商標およびロゴは、Sun Microsystems, Inc.の米国およびその他の国における商標、または登録商標です。
他社の会社名、製品名、およびサービス名は、それぞれ他社の商標またはサービス・マークです。

原文はこちら

上に戻る