PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26
アジェンダ IBMi で Web サーバーとして使用される IHS について勉強します IHS とは? 管理コンソールでできること 言語と文字コード ログ # 2
IHS とは? Apache ベースで IBM から提供される Web サーバー IBM HTTP Server の略称 IBMi の場合 下記のライセンスプログラムです OS バージョン V5R4 V6R1 V7R1 LICPGM 番号 5722DG1-*BASE 5761DG1-*BASE 5770DG1-*BASE # 3
Apache と Web サーバー Apache とは Web サーバーの一種で オープンソースとして開発され 世界中で現在最も多く使用されています Web サーバーとは Web アプリケーションのインフラです http:// というアドレスで何かを表示させようとしたときは必ず裏で働いています Apache 以外に IIS(Internet Information Server) Nginx( エンジンエックス ) lighttpd などがあります # 4
IHS と Apache の違い メリット WebSphere 管理コンソールで設定可能 SSL 接続のキットや証明書管理用のツールが提供されている FastCGI サポート 静的なコンテンツのレスポンス向上 (FRCA) デメリット 同梱されている Apache モジュールのみサポート # 5
IHS と Apache の対応 IHS の元になっている Apache の対応バージョンは下記の通りです PTF 適用により Apache のバージョンが更新されることがあります 管理コンソールで確認できます IHS の Version 6.0 6.1 7.0 Apache の Version 2.0.47 2.0.47 2.2.8 # 6
管理コンソール 初めに 管理コンソールからできる操作の概要を説明します
管理コンソールとは IHS の設定や開始 終了を Web ブラウザから行える機能です IHS の設定ファイルを対話式で設定できます 事前にサービスの起動が必要です STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) このスライドでは Zend Server インストール済みと仮定します # 8
管理コンソール起動 ブラウザで 2001 ポートの HTTPAdmin にアクセスします 例 ) http://123.45.67.89:2001/httpadmin # 9
管理コンソール起動 IBM Web Administration for i5/os リンクをクリックします # 10
管理コンソール画面 例 # 11
管理コンソールでできること 共通タスクおよびウィザード 各種サービスを新規作成するメニューがあります Zend Server インストール済みの場合は 自動で HTTP サーバーが作成されています # 12
管理コンソールでできること HTTP タスクおよびウィザード このメニューについては説明を省略します # 13
管理コンソールでできること サーバー プロパティー このメニューで各種設定を変更できます Web サーバーを初めて使う方が良く使うと思われるメニューを後述します # 14
管理コンソールでできること ツール 構成ファイルの表示では httpd.conf ファイルとして実際にどのようになるか表示できます 構成ファイルの編集は wrklnk コマンドでも可能です ディレクティブ検索では 各項目の設定画面を探して移動できます リアルタイム サーバー統計では サービス稼動中の状態を確認できます # 15
サーバー CCSID 管理コンソール画面の左側のツリーで サーバー プロパティー > 一般サーバー構成を選びます 右側の画面が読み込まれたら 拡張 タブを選択します サーバー CCSID の右側の入力欄に 5035 または 1399 と入力できます ただし これにより QCCSID が 5026 や 65535 の場合の動作を保証するものではありません # 20
言語及び文字コード 日本語環境を想定して言語や文字コードについて説明します
Web で使用する文字 Web アプリケーションでは 英小文字を多用します QCCSID としては 英小文字を使用できる 5035 か 1399 がお勧めです 1399 では NEC 拡張文字も使用できます 半角カナ文字はできるだけ避けましょう 半角カナ文字前提の 5026 は避けましょう 65535 も避けましょう この値は 変換不能な 16 進数の値を意味しています # 18
サーバー CCSID IHS で使用する CCSID として QCCSID とは別の CCSID を明示することもできます # 19
サーバー CCSID 管理コンソール画面の左側のツリーで サーバー プロパティー > 一般サーバー構成を選びます 右側の画面が読み込まれたら 拡張 タブを選択します サーバー CCSID の右側の入力欄に 5035 または 1399 と入力できます ただし これにより QCCSID が 5026 や 65535 の場合の動作を保証するものではありません # 20
クライアント CCSID クライアント CCSID は 空欄か または 943 にします 空欄の場合は他の手段で設定されている必要があります # 21
クライアント CCSID クライアント CCSID は 下記の順序で探索されます 1.STRTCPSVR のインスタンス始動値の -NETCCSID 値 ( 設定画面の値よりも優先 ) 2.IHS の設定画面の値 3.CHGHTTPA の CCSID 値 初期値は 819 ( 西ヨーロッパ言語 ) です 忘れずに 943 に変えておきましょう 4.QCCSID # 22
CGI 設定 他にも CCSID 設定があります 管理コンソール画面の左側のツリーで サーバー プロパティー > 動的コンテンツ > 拡張タブです サーバー CCSID と同様に 英小文字が使用できる CCSID を明示することができます # 23
FastCGI 設定 Zend Server for IBMi では FastCGI 用の設定ファイルにも文字コードの設定があります 既定値は英語圏用になっています 設定の詳細は入門の範疇を超えるため省略します V5R4 及び V6R1 では FastCGI を使用するためには IHS ライセンスプログラムの他に PTF が必須です # 24
ログ ログの設定について説明します
ログの管理 この項目では サーバー プロパティー > ログの画面のうち 下記について説明します 一般設定 エラーログ カスタムログ # 26
ログの一般設定 ログを作成する周期 ( ログ サイクル ) の既定値は日次です 月次 週次 毎時も選べます アクセス頻度で判断しましょう 次のログファイルに切り替える時刻 ( ログ保守が起こる時刻 ) の既定値は 0 時です 外部公開の Web サーバーであれば アクセスが一番少ない時間帯が良いかもしれません 最大ログ ファイルサイズは 超過した場合 新しいアクセス記録は残らずに切り捨てられます 古いアクセス記録から順に削除するには他の設定を使います # 27
エラーログの設定 有効期限および最大累積サイズの既定値はゼロ ( 無制限 ) です 有効期限 ( 日数または週数 ) を過ぎた過去ログから順に削除されます 過去ログのサイズの合計が最大累積サイズを超えると 超えなくなるまで削除されます ログの詳細度や名前も変更可能です # 28
カスタムログの設定 主にアクセスログとして使用されます エラーログと同様に有効期限および最大累積サイズを設定できます ログ名も変更可能です # 29
カスタムログの設定 ログ形式は カスタム フォーマット タブに表示された形式から選択できます 環境変数条件は カスタム環境変数 タブに表示された変数から選択できます もちろん 新しい形式や変数をそれらのタブに追加することもできます 詳細は省略しますが 動的コンテンツおよび CGI の 環境変数 タブと組み合わせると 開発オフィスからのアクセスや 画像ファイルのリクエストを除いて それ以外のアクセスだけ記録したい ということも可能です # 30
より詳しくは ログ以外にも多数の機能があります 詳しくは下記の資料をご参照ください 管理コンソール (Web 画面 ) 上の? マークをクリックして表示されるヘルプ IBM HTTP Server 7.0 のガイド www.ibm.com/developerworks/jp/websph ere/library/was/ihs7_guide/ Apache そのものについて httpd.apache.org/docs/2.2/ja/ # 31
PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26