840 likes | 1.21k Views
i-web RPG による Web アプリケーション構築 セミナー. 2001 年 11 月 21 日. セミナー内容. 1. iSeries Web 機能の概説. 当章の内容は OS/400 V4R5 の環境にて作成しています。. 目次. World Wide Web HTML HTTP CGI. 1.World Wide Web. World Wide Web の始まり World Wide Web ( または WWW, あるいは W3) とはインターネット上のページとハイパーリンクの巨大な集合を指します。
E N D
i-web RPGによるWebアプリケーション構築セミナー 2001年11月21日
1. iSeries Web機能の概説 当章の内容はOS/400 V4R5の環境にて作成しています。
目次 • World Wide Web • HTML • HTTP • CGI
1.World Wide Web • World Wide Webの始まり • World Wide Web (またはWWW,あるいはW3)とはインターネット上のページとハイパーリンクの巨大な集合を指します。 • 1980年代の終わりにインターネットではある問題が顕在化しつつありました。当初は情報はもっぱら電子メールやファイルであり、これらを利用するために多くのプロトコルが開発されました。しかし、従来のプロトコルでは処理しきれない新しいタイプのファイルが現れてきました。それは画像・音声はもとより、あらゆる情報へ飛ぶことのできるハイパーリンクを含むマルチメディア・ファイルです。 • 1990年ヨーロッパの素粒子物理学研究所であるCERN(Conseil Europeen pour la Recherche Nucleaire)で、新しい種類の情報を受渡しする新しい標準を作る内部プロジェクトのプロポーザルが作成されました。基本となる要素はマルチメディア、ハイパーテキスト・ファイルの標準及びこれを提供する手段の標準です。ファイルの標準はHTML(HyperText Markup Language)となり、提供手段の標準はHTTP(HyperText Transfer Protocol)になりました。
http://www.ibm.com/jp/servers/eserver/iseries/index.html プロトコル ドメイン名(サーバー名含む) ディレクトリ/ファイル名 • クライアントはURL(Uniform Resource Locator)という形式で情報を要求します。要求されたサーバーはHTTPプロトコルを使用して、URLで指定された文書をクライアントに返します。この時のクライアントをWebブラウザ、サーバーをHTTPサーバー(もしくはWebサーバー)と言います。文書はHTMLで記述され、テキスト/画像/音声/動画などを含むことが出来ます。 • 他ファイルへのハイパーリンクによって、たとえそれが他のコンピュータにあったとしても、ユーザーはマウスをクリックするだけで自由に情報を行き来することが出来ます。この技術は何台ものコンピュータに分散している情報へのアクセスを飛躍的に単純化しました。このようにして利用されてマルチメディア・ファイルは通常「Webページ」と呼ばれています。
最初のグラフィカルなWebブラウザは1993年にイリノイ大学NCSA(The National Center for Supercomputing Applications)で開発されたMosaic(モザイク)でした。今日のブラウザの多くがMosaicをベースにしています。 • WebブラウザはWindows、Machintosh、UNIX、Linux及びOS/2など、ウィンドウをサポートするほとんどの主要なクライアント・システムで稼動します。非ウィンドウ・システム用のブラウザも存在し、アクセスした文書のテキスト部分だけを表示します。 • 文書の作成者、サーバー、クライアントの操作環境はお互いに独立しています。それが作成された環境、あるいは配信された環境にかかわらずアクセスし、見ることが出来ます。 Netscape Mosaic Opera Internet Explorer
ftp://ftp.software.ibm.com/ps/products/db2/fixes/japanese/ プロトコル ドメイン名(サーバー名含む) ディレクトリ名(/ファイル名) • 汎用クライアントであるWebブラウザは、HTTPのみならずFTP(ファイル転送)、POP3(電子メール)、NNTP(ネットニュース)、Gopherといった主要なプロトコルをサポートしており、先程のURL指定で、プロトコルを指定することで様々なサービス(サーバー)にアクセスすることが出来ます。 • 高機能で魅力的なブラウザが無料、あるいは評価版として提供されるようにったことと、日本でも95年にWindows95が出荷され、それまでは比較的高価で複雑であったTCP/IPプロトコルがOS標準で使用できるようになったことで、爆発的にアクセスが増加しました。
2.HTML • HTMLとは • HTMLはプラットフォームに依存しないハイパーテキスト文書を記述するためのマークアップ(文書の構造を示すために挿入する区切り文字列)言語です。 • HTMLはプログラミング言語ではありませんが、これとよく似ています。HTMLにはタグと呼ばれるコマンドや文法があります。HTML自体は単純なテキストファイルですので、任意のテキスト・エディターで作成することが出来ます。最近ではIBMホームページ・ビルダーなど簡易的にHTMLを作成できるツールも多く発表されています。 • HTMLは進化しており、現時点での最新バージョンはHTML4.01です。コンテンツを作成する場合はどのバージョンに準拠するかを明確にすることと、Webブラウザによっては独自の拡張タグがあるのでその拡張タグを使用する/しないを明確にすることが大切です。(最新のNetscape、MS Internet ExplorerはHTML4.0 + αをサポートしています)
HTMLの構造 • HTMLはテキストで記述される。 • タグと呼ばれる「<>」で囲まれた部分が表現方法をあらわす。 • タグは原則的に表現属性の開始を表す<…..>と表現属性の終了を表す</…..>とで囲んで指定する。ただし、終了指定のないタグも多数ある。 • HTML文書自身も<HTML>で始まり</HTML>で終わる。 • タグは英大文字/小文字の区別はなく、どちらで記述しても構わない。 • HTML文書上のプランク文字/改行はWebブラウザ上では無視される。 • HTML文書上の見た目と、Webブラウザでの表現とは異なることがある。 • 例外として<PRE>タグあり。 • 基本的には文書の行/桁位置を示すタグはない。 • 文書の相対的な位置により表示場所が来まる。 • ただし水平(横)位置はピクセル、パーセント指定が出来る。
2-1.HTMLサンプル1 • HTMLサンプル1 ①<html>~</html> HTML文書の開始と終了を表す ②<title>~</title> ブラウザ上のタイトル・バーに表示される ③<body>~</body> HTML文書の本体を示し、この間にテキスト、 イメージ・ファイル、多文書へのリンクを記述 ④<center>~</center> ブラウザ上で中央寄せ表示する ⑤<h1>~</h1> ヘッダー(header)を意味し、見出しとして扱わ れる。具体的には文字サイズが大きくなる。 <h2>,<h3>,<h4>,<h5>,<h6>あり ⑥<hr> 水平線を表示。終了タグ</hr>は存在しない ⑦改行なし HTML文書上では改行しているが、ブラウザ 上では改行表示されていない ⑧<br> ブラウザ表示上で改行を意味する タグの終了を表す</br>は存在しない ⑨<b>~</b> 文字を太字(bold)で表示 ⑩<ul>~</ul> 箇条書きを意味する(ブラウザに表示されない) ⑪<li> 箇条書きの場合のみ有効 リスト項目であることを表示 <html> <head> <title>ようこそホームページへ</title> </head> <body> <center> <h1>HTMLのサンプル</h1> </center> <hr> 我輩は猫である。 名前はまだ無い。 <hr> 我輩は猫である。<br> 名前はまだ無い。 <hr> <b>我輩は猫である。 名前はまだ無い。</b> <hr> <ul> <li>我輩は猫である。 <li>名前はまだ無い。 </ul> </body> </html> ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪
2-2.HTMLサンプル2 • HTMLサンプル2 ①<a>~</a> 他文書へのリンクを記述。 <a>タグ内のhref=属性で、リンク先のサーバー及び文書 (ディレクトリー名含む)を指定。 全く別のサーバー上にある文書を指定する場合はプロト コル、ドメイン名、ファイル名を指定。 ②<a>~</a> 同じく他文書へのリンク。 当HTMLと同じサーバー上にある別文書へリンクする場合 は(ディレクトリー名及び)ファイル名のみを指定。 ③<img> イメージ・ファイルを指定。 <img>タグ内のsrc=属性で、ファイル名を指定。 同一サーバー上でも他サーバー上にあるファイルでも可能。 <html> <head> <title>ようこそホームページへ</title> </head> <body> <center><h2>文書リンクのサンプル</h2></center><br> <a href="http://www.ibm.com/jp/">日本IBMのサイトへ(他サーバー)</a> <br> <a href="/book/title/index.html">別の文書へ(同一サーバー内)</a> <hr> <center><h2>イメージファイルのサンプル</h2></center><br> <img src="http://www.ibm.com/mast_logo_anim_jp.gif"> </body> </html> ① ② ③
2-3.iSeries上でのHTML • iSeriesにおけるHTMLファイルの置き場所 • iSeries上でHTMLファイルを格納する場所は、大きく2種類あります。各々長所/短所を理解した上で適切な場所に置いてください。 • IFS(統合ファイルシステム : Integrated File System) • OS/400 V3R1より、従来のライブラリーという管理方法に加え、このIFSが拡張されました。 • このIFSはUNIX,Windowsのような階層ディレクトリー管理方法であり、特にHTMLファイルの格納に適しています。 • PC上で作成したHTMLファイルやイメージ・ファイル(GIF,JPEG等)をそのまま(=ASCIIコード)格納します。 • ライブラリー(/QSYS.LIB) • 従来からのOS/400のファイル管理方法であり、EBCDICコードで格納されます。 • RPG/COBOL等のプログラムからのアクセスが可能であり、レコード単位の“データベース(DB2/400)”をサポートします。(上述のIFSではデータベースを格納できず、“単なるファイル”の集まりにすぎません) • ライブラリー上にHTMLファイルを置いた場合は、最終的にはASCIIテキストにコード変換してブラウザに送信するため、コード変換の処理が余分に必要です。
IFS、ライブラリーのどちらに置くか • IFSに置くケース • 静的なHTMLコンテンツやマルチメディア・ファイルはIFS上に置くことをお勧めいたします。これらのファイルはそのまま(無変換)の状態でiSeries(HTTPサーバー)からクライアント(ブラウザ)に送信されます。 • パフォーマンスが良いことと、IFSのファイル命名規則は制約が少ない(最大255文字まで)ことから、特別な理由がない限りIFSを使用すべきでしょう。 • ライブラリーに置くケース • RPG/COBOL等のプログラムを使用してCGIプログラムを作成する場合は、雛型のHTMLファイルをライブラリー上に置きます。CGIプログラム中ではEBCDICコードの状態でHTMLファイルを生成し、最終的にブラウザに送信する直前でASCIIコードへのコード変換を行ないます。 • RPG/COBOLからアクセス可能ですがコード変換が必要となりパフォーマンスが劣ることから、限定して使用する(=CGIのみの利用とする)べきでしょう。
2-4.CCSID • CCSID(コード化文字セットID) • iSeriesからPCへのファイル転送や、ODBCアクセスした時に、データや画面の文字が意図したものと異なる(所謂“文字化け”)ケースがあります。多くの場合、その原因はiSeriesとPCとの文字コードが異なることに起因しています。 • iSeriesやメインフレームは基本文字コードとしてEBCDICを、PC/UNIXはASCIIを採用しています。つまりこれらの間でデータを正しくやり取りするには、どこかでこのコード変換を適切に行なう必要があります。 • Webブラウザ側にはこのコード変換を考慮した機能を持っていないので、iSeries側でコード変換を行なうことになります。このコード変換はユーザー・アプリケーションにて実行することも可能ですが、OS/400にも変換機能があり、この機能を正しく使用すればユーザー・アプリケーション側での考慮は不要になります。 • このコード変換の際に「どのような規則に基づいて変換を行なうか」をシステムが判断する情報がCCSID(Coded Character Set IDentifier)です。
CCSIDの構成要素 • CCSIDは単なるコード体系のみではなく「ある文字セットに含まれる文字/コード/表現方法」などを単一の値で表します。 • 主な言語のCCSIDとその構成要素を下表に示します。EBCDICに該当するものは網掛けで示してあります。 • 日本語環境でよく利用されるのは「5026」と「5035」および「65535」でしょう。(「65535」は“変換しない”ことを示す特殊値です。)Pcomでは5026/5035のスーパーセットである「930」と「939」が採用されています。
CCSIDのメカニズムの重要性 • CCSIDは様々な処理で扱われています。例えば一見簡単そうな「Pcomを使用して5250画面でデータベースの中身(実データ部分)を参照する」場合にも以下の3つの設定が合致していなければなりません。 • データベース・ファイルのCCSID (DSPFDで確認) • 実行しているジョブ(端末)CCSID (DSPJOBで確認) • 表示しているPcomのCCSID (Pcom構成のホスト・コードページ) • その他データベース・ファイル以外にも表示装置ファイル、印刷装置ファイルにもそれぞれCCSIDが付いており、それぞれ正しい変換結果を得られるような仕組みをOS/400は持っており、ユーザーが正しい理解/設定が必要です。 • 今回のWebサーバーの構築もまさにこのCCSIDのメカニズムを利用して、ユーザーが意識することなくコード変換を行ないます。その他FTPによるファイル転送、ODBCによるデータベース・アクセスも同様です。
CCSIDの指定(CCSIDは何に基づいて決定されるか) • iSeries対話型ジョブ • システム値 QCCSID • ユーザー・プロフィール中のCCSID • CHGJOBコマンド中のCCSIDパラメータ • (システム値 QLANGID) • (ユーザー・プロフィール中のLANGID) • iSeriesバッチ型ジョブ • バッチ型ジョブ(ユーザー投入ジョブ、システム・サーバー・ジョブ含む)に関しては、上記のようにユーザー・プロフィールによって決定されるものもあれば、個別に設定するケースもあり、必ずマニュアルにて確認する必要があります。 • iSeriesオブジェクト • データベース・ファイル • DDSあり:ソースで明示的にCCSIDが指定されている場合はその値。 明示指定がない場合はジョブの値。 • DDSなし:ファイルを作成する時(CRTPFコマンド)にCCSIDを指定。 • ソース・ファイル • ソース・ファイルを作成する時(CRTSRCPFコマンド)にCCSIDを指定。 • 表示装置ファイル/印刷装置ファイル • ソース・ファイルのCCSIDがそのまま取られる。
3.HTTP • HTTPの基本的な動作 • Webブラウザは通常TCP/IPのポート番号80を使用してサーバーへの接続を試みます。接続があらかじめ設定された時間内に確立できなかった場合、ブラウザはエラー・メッセージを表示して要求を終了します。 • 接続が確立されるとブラウザはサーバーにリソース(HTML文書やマルチメディア・ファイルが格納されているディレクトリ名、ファイル名)を要求します。サーバーはリソースをブラウザに送信して接続を切断します。リソースが使用可能でない(ファイルが存在しない、セキュリティ上アクセス出来ない等)時はブラウザにエラー・メッセージが送られ、接続は終了します。 • 要求されたリソースがサーバーからブラウザに送信されるとブラウザは内容を読み込み、これを表示したり、マルチメディア(音楽やビデオ等)を再生するための外部ビューワーを起動します。サーバーからエラーが送られた場合はブラウザはこれを表示します。
http://www.ibm.com/jp/index.html TCP/IPネットワーク • サーバーは要求を処理。結果を返し、切断する。 • Webブラウザが要求を出す。 • HTMLドキュメントが送られ、ブラウザに表示される。
当セミナーの対象 3-1.iSeries HTTPサーバー • iSeries HTTPサーバー • iSeries(AS/400)で稼動する主なHTTPサーバー • IBM HTTP Server for iSeries (Original) • OS/400 V3R2よりOS標準提供(当時はICS,ICSSと呼ばれる) • IBM HTTP Server for iSeries (powered by Apache) • OS/400 V4R5よりOS標準提供 • Domino • OS/400 V4R2よりDominoサーバーが提供 • I/NET Web Server/400 • OS/400 V3R1より稼動 • Netscape Enterprise Server for AS/400 (日本未発表)
IBM HTTP Server for iSeries (Original)機能概要 • HTTPサーバー環境 • HTTP 1.1 • Proxy / キャッシュ • ログ機能 • マルチ・サーバー環境 • テキスト・サーチ・エンジン • Webアプリケーション環境 • CGI (ILE-RPG,ILE-COBOL,ILE-C,Java) • SSI • Net.Data • Java Servlet • セキュリティ • アクセス制御(Basic認証) • 暗号化(SSL) • デジタル認証 • 管理機能 • ブラウザ・インターフェースによる管理画面
IBM HTTP Server for iSeries (Original)の実体 • iSeries上のHTTPサーバーはバッチ型の常駐ジョブとして稼動 • WRKACTJOBコマンド • 実行時のユーザーはシステム提供のQTMHHTTPが使用されます。 • このHTTPサーバーがコンテンツを送信する際に、今まで通りOS/400のセキュリティ・メカニズムが働きます。アクセスするオブジェクトに対してアクセス権限が適切に設定されていなければなりません。 活動ジョブの処理 S65FF18A 01/11/16 17:22:56 CPU %: 2.1 経過時間 : 00:00:36 活動ジョブ数 : 243 オプションを入力して,実行キーを押してください。 2= 変更 3= 保留 4= 終了 5= 処理 6= 解放 7=メッセージ の表示 8=スプール・ファイル の処理 13= 切断 ... OPT サブシステム/ジョブ ユーザー タイプ CPU % 機能 状況 QBATCH QSYS SBS .0 DEQW QCMN QSYS SBS .0 DEQW QCTL QSYS SBS .0 DEQW QSYSSCD QPGMR BCH .0 PGM-QEZSCNEP EVTW QHTTPSVR QSYS SBS .0 DEQW KOBA_WCS QTMHHTTP BCH .0 PGM-QZHBHTTP CNDW KOBA_WCS QTMHHTTP BCI .0 TIMW KOBA_WCS QTMHHTTP BCI .0 TIMW KOBA_WCS QTMHHTTP BCI .0 TIMW KOBA_WCS QTMHHTTP BCI .0 TIMW QINTER QSYS SBS .0 DEQW QPADEV0001 QSECOFR INT .0 CMD-WRKACTJOB RUN 続く .. パラメーターまたはコマンド ===> F3= 終了 F5= 最新表示 F7= 検索 F10= 統計の再始動 F11= 経過 データ の表示 F12= 取消し F23=オプション の続き F24=キー の続き
QSYS.LIB(EBCDIC) HTTPサーバー関連ライブラリー QHTTPSVR.LIB HTTPサーバージョブ HTTPサーバー構成ファイル QUSRSYS.LIB CGIプログラム コード変換 HTMLファイル Net.Dataマクロ -物理ファイル -ソース・ファイル Net.Dataエンジン コード変換 コード変換 HTMLファイル Net.Dataマクロ Java Servlet IFS(ASCII)
3-2.HTTPサーバー構築 • IBM HTTP Server for iSeries (Original)構築 • チェック項目 • サーバー構成情報 • IPアドレス(&ポート番号)、ドメイン名、ホスト名、インスタンス数 • Webアプリケーション開発 • CGI、Net.DataそれともJava? • セキュリティ対策 • SSLは? アクセス制御は? • (Firewallの構築は?) • 作業項目 • TCP/IPネットワークの設定 • IPアドレス(&ポート番号)、ドメイン名、ホスト名、デフォルトゲートウェイ etc • HTTPサーバー属性の設定 • HTTPサーバー構成 • サーバーインスタンス作成 • ホスト名、ポート番号 • 経路指定(Map、Pass、Exec) • コード変換指定 • アプリケーション開発 • HTMLデザイン(Webページ) • Webアプリケーション(基幹アプリケーション/データベースとの連携) • ログ指定 • Welcomeページ • DirectAccess オン/オフ • プロテクション設定(アクセス制御)
前提ハードウェアの確認 • iSeries(AS/400) RISCプロセッサーモデル • OS/400 V4Rx , V5R1が稼動するモデル • TCP/IPをサポートするLANカード • Ethernet , Token-Ring , ATM etc … • 前提ソフトウェアの確認 • 下記サンプルはOS/400 V4R5の場合 • PTFの確認 • 最新累積PTFパッケージ • HTTPサーバー用グループPTF • OS/400 V4R5用 : SF99036 • OS/400 V5R1用 : SF99156
3-3.HTTPサーバー構築手順概要 • IBM HTTP Server for iSeries (Original)構築手順概要 • 手順概要 ①言語環境/操作環境の設定 • サーバー側/管理クライアント側 ②TCP/IP環境の設定 • 回線記述、IPアドレス、ドメイン名、ホスト名、デフォルトゲートウェイ etc(当資料では既に出来ているものとし、割愛致します) ③HTTPサーバー属性の設定 ④管理用HTTPサーバー構成の設定 ⑤HTTPサーバー構成、インスタンスの作成 • HTTPサーバー構成とインスタンスを作成し、その関連付けを行なう ⑥HTTPサーバー構成の設定 • 上記で作成したHTTPサーバー構成に具体的に設定値を指定する • 基本設定 • メソッドの設定 • 経路指定 etc…. ⑦HTTPサーバーの開始/終了 • 作業 • ①~④ : 5250画面より行なう • ⑤~⑦ : Webブラウザより行なう (5250画面でも可)
当資料のシナリオ • HTTPサーバー構成の設定項目(前ページ手順⑥)は多岐に渡ります。当資料では構成手順の概要を理解して頂くために、必要最低限の設定項目に関して説明致します。 • 今回設定する項目は以下の5つです。 • 基本設定 • ホスト名、ポート番号等の基本情報 • ウェルカム・ページ設定 • デフォルト表示させるWebページ(HTMLファイル) • メソッド • WebブラウザからHTTPサーバーにアクセスする際のコンテンツ要求方法の指定 • 経路指定 • URLで指定する論理パスと、サーバー上の物理パスのマッピング • ログ • アクセス・ログ、エラー・ログ等のロギング指定
3-3.①言語環境/操作環境の設定 ①言語環境/操作環境の設定 • サーバー側 • CCSID = 5035 (日本語拡張英小文字) • システム値QCCSIDで指定、もしくは後述のHTTPサーバー構成内で指定(新規に導入する場合はシステム値で設定することをお勧めします) • 管理クライアント側 • 5250エミュレータ • エミュレータのホスト・コードページ = 939 (日本語拡張英小文字) • iSeriesにサインオン後、ジョブ属性CCSIDを5035に変更CHGJOB CCSID(5035) • Webブラウザ • JavaScript、フレームをサポートすること • Proxyの設定は外し、キャッシュを“0”に設定 ②TCP/IP環境の設定 • 当資料では割愛
3-3.③HTTPサーバー属性の設定 ③HTTPサーバー属性の設定 • HTTPサーバー全体の属性を指定します。 • CHGHTTPAコマンド HTTP 属性の変更 (CHGHTTPA) 選択項目を入力して,実行キーを押してください。 自動開始 . . . . . . . . . . . *NO *YES, *NO, *SAME サーバー・スレッドの数 : 最小 . . . . . . . . . . . . 10 1-9999, *SAME, *DFT 最大 . . . . . . . . . . . . 40 1-9999, *SAME, *DFT, *NOMAX コード化文字セット識別コード > 00943 1-65533, *SAME, *DFT SERVER マッピング・テーブル : EBCDIC/ASCII テーブルの発信 *CCSID 名前 , *SAME, *CCSID, *DFT ライブラリー . . . . . . . 名前 , *LIBL, *CURLIB ASCII/EBCDIC TABLE の受信 . . *CCSID 名前 , *SAME, *CCSID, *DFT ライブラリー . . . . . . . 名前 , *LIBL, *CURLIB 終り F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き ① ② ③ ①STRTCPコマンドTCP/IPを開始した時に、HTTPサーバーを自動的に開始するかどうかを指定。 STRTCPSVRコマンドでHTTPを開始した場合は、このパラメータ値に関係なく開始します。 ②サーバー(iSeries)上で稼動するスレッド数を指定。 この値は同時アクセス数やハードウエア資源によって決定されます。 通常は省略値からスタートし、テスト/実稼動の中で調整します。 ③ブラウザからの要求でMIMEヘッダが見つからない場合に、CGIでEBCDIC→ASCII変換を行 なう際のASCII-CCSIDを指定。943はWindowsで使用されているSJISに相当します。
3-3.④管理用HTTPサーバー構成の設定 ④管理用HTTPサーバー構成の設定 • HTTPサーバーの管理/構成は、管理用のブラウザ・インターフェースが提供されています。ここではその管理用画面を使用するための初期設定を行います。 • WRKHTTPCFG CFG(*ADMIN) • 管理用HTTPサーバーの起動/終了 • STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) • ENDTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) HTTP 構成の処理 システム : S65FF18A 構成名 . . . . . . . . . . . . . : ADMIN オプションを入力して,実行キーを押してください。 1= 追加 2= 変更 3= コピー 4= 除去 5= 表示 13= 挿入 OPT 順序番号 項目 00010 # * * * * * * * * * * * * * * * * * * * * * * * * * * * 00020 # HTTP Admin server CUSTOMER configuration 00030 # * * * * * * * * * * * * * * * * * * * * * * * * * * * 00040 DefaultFsCCSID 5026 00050 DefaultNetCCSID 943 00060 ScriptTimeOut 3600 minutes 00070 OutputTimeOut 3600 minutes 00080 InputTimeOut 3600 minutes 終り F3= 終了 F5= 最新表示 F6= リストの印刷 F12= 取消し F17= 最上部 F18= 最下部 F19= 順序の編集 上記の5ステートメントを追加して下さい。(先頭が「#」で始まる行はコメント行です) 英大文字/小文字は識別されるので、上記の通りに入力して下さい。
管理用HTTPサーバーの稼動確認 • 管理用HTTPサーバーが稼動しているかどうか確認して下さい。 • WRKACTJOB SBS(QHTTPSVR) • 管理用HTTPサーバーはシステムに1つ。 • 通常のHTTPサーバー環境は複数持つ(マルチ・サーバー)ことが出来ますが、管理用HTTPサーバーは1つしかありません。 活動ジョブの処理 S65FF18A 01/11/15 21:42:09 CPU %: .0 経過時間 : 00:00:00 活動ジョブ数 : 243 オプションを入力して,実行キーを押してください。 2= 変更 3= 保留 4= 終了 5= 処理 6= 解放 7=メッセージ の表示 8=スプール・ファイル の処理 13= 切断 ... OPT サブシステム/ジョブ ユーザー タイプ CPU % 機能 状況 QHTTPSVR QSYS SBS .0 DEQW ADMIN QTMHHTTP BCH .0 PGM-QZHBHTTP CNDW ADMIN QTMHHTTP BCI .0 TIMW ADMIN QTMHHTTP BCI .0 TIMW ADMIN QTMHHTTP BCI .0 TIMW ADMIN QTMHHTTP BCI .0 TIMW パラメーターまたはコマンド ===> F3= 終了 F5= 最新表示 F7= 検索 F10= 統計の再始動 F11= 経過 データ の表示 F12= 取消し F23=オプション の続き F24=キー の続き
3-3.⑤HTTP構成、インスタンスの作成 ⑤HTTPサーバー構成、インスタンスの作成 • HTTPサーバー構成方法には以下の2通りがあります。 • ブラウザ・インターフェースによる構成 • 設定項目がブラウザに表示され、値を指定する。 • 指定ミスが起こりにくく、当初はこちらをお奨めします。 • 5250画面による構成 • 構成内容(ディレクティブ及び設定値)を直接記述する。 • 設定項目の意味/相互関連を理解していなければなりません。
サーバー構成情報の実体 • 構成情報はライブラリーQUSRSYSの物理ファイルに格納 • 上述のどちらの構成方法を選択しても、最終的に構成情報はライブラリーQUSRSYS/物理ファイルQATMHINSTC,QATMHTTPCに書き出されます。 • 複数のサーバー構成(インスタンス)を作成した場合は、上記物理ファイルの別メンバーとして作成されます。 <<HTTPサーバー構成>> 物理ファイル QUSRSYS/QATMHTTPC <<インスタンス>> 物理ファイル QUSRSYS/QATMHINSTC サーバー構成の開始 STRTCPSVR SERVER(*HTTP) HTTPSVR(WEB01) メンバー メンバー HostName mallas04.nagoya.japan.ibm.com Port 80 DNS-Lookup Off UserID %%SERVER%% BindSpecific On DefaultFsCCSID 5035 DefaultNetCCSID 943 Enable GET Enable HEAD Enable POST Protection Protect01 { ……… -r /QSYS.LIB/QUSRSYS.LIB/QATMHTTPC.FILE/WEB01.MBR -AutoStartY
管理用HTTPサーバーへのアクセス • Webブラウザより下記URLにアクセス • http://ホスト名:2001/ • Basic認証のためのポップアップが表示される。QSECOFRと同等の権限をもつユーザーでログイン 「AS/400タスク」ページが表示されます。 これが管理画面のTopページです。 (表示されるメニューは導入されているライセンスによって異なります。) ここではHTTPサーバー管理・構成画面の“IBM HTTP Server for AS/400”のリンクを選択します。
ページのレイアウト • 画面左側(左フレーム)にメニュー • 画面右側(右フレーム)に設定項目、およびその設定値入力フィールド
HTTPサーバー構成、インスタンスの作成 まず最初にHTTPサーバー構成を 作成します。 ①「構成」をクリック。 設定項目一覧が表示される。 ②「構成の作成」をクリック。 右フレームに入力画面。 ③HTTPサーバー構成名を入力。 通常は、後述のインスタンス名 と同じ名前にします。 ④新規にブランク構成を作成する か、既存の構成をコピーして作 成するか、選択できます。 ⑤適用ボタンを押します。 正しく構成が作成されると「構 成ファイルが正常に作成されま した」というメッセージが表示さ れます。 ③ ④ ① ② ⑤
HTTPサーバー構成、インスタンスの作成 次にインスタンスを作成し、先程の HTTPサーバー構成との関連付け を行ないます。 ①「サーバー・インスタンス」をクリ ック。 ②「サーバー・インスタンスの作成」 をクリック。 ③インスタンス名を入力。 通常は、前述のHTTPサーバー 構成名と同じ名前にします。 ④関連付けするHTTPサーバー構 成名を選択。 ⑤作成ボタンを押します。 正しくインスタンスが作成される と「サーバーインスタンスが正 常に作成されました」というメッ セージが表示されます。 ③ ④ ① ⑤ ②
3-3.⑥HTTPサーバー構成の設定 ⑥HTTPサーバー構成の設定 HTTPサーバー構成の詳細設定を 行ないます。先ずは“基本構成”です。 ①「構成」をクリック。 ②設定するHTTPサーバー構成を 選択します。 ③「基本」をクリック。 ④ホスト名(ドメイン名を含むFQDN) を入力。 ⑤ポート番号を入力。 ⑥クライアントがアクセスしてきた時 に、DNSサーバーにクライアント のホスト名を問い合わせるかど うかを指定。パフォーマンスの観 点から問い合わせない(チェック を外す)ようにする。 ⑦「適用」ボタンで確定。(以降同じ) ④ ① ② ③ ⑤ ⑥
次に“ウェルカム・ページ”を設定し ます。これは、URLにファイル名を 指定しなかった場合に (例えばhttp://www.ibm.com/など) 表示されるファイル名を指定します。 ①「構成」より「ディレクトリーおよび ウェルカム・ページ」をクリック。 ②「ウェルカム・ページ」をクリック。 ③表示させるファイル名を指定。 通常はindex.html、default.html 、 welcome.html等の名前を使用 するようです。 ③ ① ②
使用可能な“メソッド”を指定します。 メソッドとはWebブラウザからHTTP サーバーへの要求方法の種類です。 例えば通常のHTMLコンテンツを要 求する場合はGETを使用し、コンテ ンツをアップロードさせる場合には PUT、コンテンツを削除する場合に はDELETEなどです。 不要なメソッドを使用可能にすると、 サーバー上のコンテンツを破壊され る可能性があるので注意して設定 して下さい。 ①「構成」より「要求処理」をクリック。 ②「メソッド」をクリック。 ③使用可能にするメソッドにチェック。 一般的にGET、HEADを可能に し、CGIを使用する場合はPOST を可能にします。 ③ ① ②
次に“経路指定”を設定します。 この経路指定とは、ブラウザからU RLで指定してきた要求パス(ディレ クトリー)を、実際のサーバー上の物 理パスにマッピングします。 ①「要求の経路指定」をクリック。 ②アクションで“Pass”を選択。 ③URLテンプレートにはブラウザで 指定するURLパスを入力。 ここではルート(/)を指定。 ④代替ファイル・パスにはiSeries上 の実際の物理パスを指定。 ※③,④ともに指定パス以下の全て のディレクトリー、ファイルにアク セスできるようにワイルドカード(*) を指定しています。 ② ③ ④ ① 上記サンプルでは -ブラウザ上で http://www.xxx.co.jp/a.html(③の指定値) と指定すると -サーバー(www.xxx.co.jp)上では 実際には /WebDocs/a.html(④の指 定値)を返します。
最後にアクセス・ログを収集するた めの設定をします。 まずは形式を選択します。 ①「構成」より「ログ」をクリック。 ②「ログ・ファイルのグローバル設定」 をクリック。 ③ログ時刻の設定を選択。 現地時間にするとシステムの現 行時刻となります。 ④ログ・ファイルの形式を選択。 “共通”にするとCERN準拠の標 準的なフォーマットを指します。 他プラットフォームで使用されて いるログ分析ツールを利用する ことが出来ます。 “DDS”にするとライブラリー上の 物理ファイルに書出され、RPG やQuery等で加工できます。 ③ ④ ① ②
ログの書出し先を指定します。 ①「アクセス・ログ・ファイル」をクリッ ク。 ②ログ・ファイルの書出し先、および ログ・ファイル名を指定します。 前述のログ形式で“共通”を指定 した場合はIFS上のディレクトリー (およびファイル名)を指定します。 “DDS”を指定した場合はライブラ リー(およびファイル名)を指定。 当サンプルではIFS上の/Logディ レクトリー下に書出されます。 ファイル名は AccessLog.QCYYMMDD という拡張子がつきます。 C = 世紀 , YY = 年 MM = 月 , DD =日 となり、1日単位に新規ファイル が自動的に作成されます。 ② ①
設定内容を確認できます。 「構成の表示」をクリックすると、構成内容が表示されます。 左図のように設定内容は 設定キーワード + 設定値 という形式で表現されます。 キーワードと設定値の間は1つ以上のブランクで区切る必要があります。 この設定キーワードのことをディレクティブと言います。
3-3.⑦HTTPサーバーの開始/終了 ⑦HTTPサーバーの開始と終了 それでは実際に作成したHTTPサー バーを開始/終了させましょう。 ①「サーバー・インスタンス」をクリッ ク。 ②「サーバー・インスタンスの処理」 をクリック。 ③開始/終了させるインスタンスを指 定して“開始ボタン”、“終了ボタン” を押すと開始/終了します。 開始後、5250画面から WRKACTJOBコマンドを使用して稼 動していることが確認出来ます。 ③ ① ②
HTTP属性(CHGHTTPAコマンド)で 自動開始=*YESとなっているが、個 別にインスタンスの自動開始する/し ないを制御する場合は「インスタン ス・パラメータの変更」で自動開始を 指定して制御可能です。
3-4.5250画面からのアクセス • 5250画面からのアクセス • 今までは管理用HTTPサーバーを介してWebブラウザによるアクセス方法を説明しましたが、5250画面から直接編集/設定することも可能です。 • WRKHTTPCFG CFG(HTTPサーバー構成名) • 下図は今回作成した「WEB01」の設定内容です。WRKHTTPCFG CFG(WEB01) HTTP 構成の処理 システム : S65FF18A 構成名 . . . . . . . . . . . . . : WEB01 オプションを入力して,実行キーを押してください。 1= 追加 2= 変更 3= コピー 4= 除去 5= 表示 13= 挿入 OPT 順序番号 項目 00010 # HTTP CONFIGURATION FILE 00020 Welcome index.html 00030 HostName mallas04.nagoya.japan.ibm.com 00040 BindSpecific Off 00050 Port 80 00060 UserID %%SERVER%% 00070 DNS-Lookup Off 00080 RuleCaseSense Off 00090 Imbeds Off SSIOnly 00100 AlwaysWelcome On 00110 DirAccess Off 続く ... F3= 終了 F5= 最新表示 F6= リストの印刷 F12= 取消し F17= 最上部 F18= 最下部 F19= 順序の編集 データ変換に置換文字を使用することができる。 + HTTP 構成の処理 システム : S65FF18A 構成名 . . . . . . . . . . . . . : WEB01 オプションを入力して,実行キーを押してください。 1= 追加 2= 変更 3= コピー 4= 除去 5= 表示 13= 挿入 OPT 順序番号 項目 00120 Disable CONNECT 00130 Disable DELETE 00140 Disable PUT 00150 Enable GET 00160 Enable HEAD 00170 Enable OPTIONS 00180 Enable POST 00190 Enable TRACE 00200 Pass /* /WebDocs/* 終り F3= 終了 F5= 最新表示 F6= リストの印刷 F12= 取消し F17= 最上部 F18= 最下部 F19= 順序の編集 データ変換に置換文字を使用することができる。 +
関連コマンド、オブジェクト • 5250画面からのコマンド操作 • HTTPサーバー属性の変更 • CHGHTTPA • HTTPサーバー構成(インスタンス作成/編集) • WRKHTTPCFG • HTTPサーバーの開始/終了 • STRTCPSVR SERVER(*HTTP) HTTPSVR(インスタンス名) • ENDTCPSVR SERVER(*HTTP) HTTPSVR(インスタンス名) • オブジェクト • 前述の通りHTTP構成の実体はQUSRSYSライブラリーの物理ファイルに存在します。これらのファイルはバックアップを取ることをお勧めいたします。