z/OS で IBM HTTP Server を始動するための JCL プロシージャーの使用

JCL プロシージャーを準備して、MVS™ システム・コンソールから IBM® HTTP Server を 開始および停止することができます。

JCL カタログ式プロシージャーを使用して apachectl start および apachectl stop コマンドを発行することにより、MVS システム・コンソールから IBM HTTP Server インスタンスを始動および停止できます。 同じプロシージャーを使用して、他の apachectl コマンドを MVS システム・コンソールから発行できます。

以下の JCL プロシージャーのサンプルを SHAPJCL(HAPAPROC) からお使いのシステム・プロシージャー・ライブラリーにコピーしてください。

//*---------------------------------------------------------
//IHSAPACH PROC ACTION='start',
//          DIR='/path/to/IHS/runtime/directory',
//          CONF='conf/httpd.conf'
//*---------------------------------------------------------
//IHS      EXEC PGM=BPXBATCH,
// PARM='SH &DIR/bin/apachectl -k &ACTION -f &CONF -DNO_DETACH',
// MEMLIMIT=512M
//STDOUT   DD  PATH='&DIR/logs/proc.output',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//STDERR   DD  PATH='&DIR/logs/proc.errors',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//         PEND
警告: PARM 値は 100 文字に制限されています。PARM 値にはインストール・ディレクトリー (&DIR) が含まれるため、ディレクトリー・パスが長すぎると、合計の長さが 100 文字の制限を超える可能性があります。インストール・ディレクトリーを選択する際は、パス名の長さを考慮に入れる必要があります。インストール・ディレクトリーのパス名が長すぎる場合は、元のインストール・ディレクトリーのパス名にシンボリック・リンクを行っている短い名前のパスを JCL で使用できます。
100 文字を超える PARM 値が必要な場合は、以下の例に示すように、/PARMIN DD *,SYMBOLS=JCLONLY JCL カードを使用できます。
/*------------------------------------------------------
//WEBFTNEI JOB (KOMA-Y98),'Apache NZX2      ',MSGCLASS=T,
//  TIME=NOLIMIT                                        
//         EXPORT SYMLIST=*                             
//*-------------------------------------                
//  SET  ACTION='start'                                 
//  SET  DIR='/home/ihsa/install/webft'                 
//  SET  CONF='../../httpd/webftnei.conf'               
//*-----------------------------------------------------
//IHS EXEC PGM=BPXBATCH,PARMDD=PARMIN,                  
// MEMLIMIT=512M
//PARMIN   DD *,SYMBOLS=JCLONLY                         
PGM &DIR/bin/apachectl                                  
   -k &ACTION
   -f &CONF
   -DNO_DETACH
//*-------------------------------------------------------
//STDOUT   DD SYSOUT=T                                    
//*                                                        
//STDERR   DD SYSOUT=T                                     
//*                                                       
//                                                        
//STDOUT   DD  PATH='&DIR/logs/proc.output',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//*                                                      
//STDERR   DD  PATH='&DIR/logs/proc.errors',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//                                                        
/*---------------------------------------------------------- 

サンプル JCL で使用される apachectl コマンドの説明については、Apache HTTP Server Control Interface Web サイトを参照してください。

IBM HTTP Server インスタンスのデフォルトのジョブ名は、カタログ式プロシージャーのメンバー名と同じです。Web サーバーはマルチプロセス・サーバーであり、作成される各追加プロセスは、元のジョブ名に基づいて生成されたジョブ名を持ちます。元のジョブ名が 8 文字の長さの場合、すべての追加プロセスは同じジョブ名を持ちます。元のジョブ名が 8 文字未満の場合、追加プロセスは、元のジョブ名と接尾部として追加された数字で構成されたジョブ名を持ちます。Web サーバーが bin/apachectl コマンドを使用して UNIX 環境から開始された場合、デフォルトのジョブ名は、コマンドの実行に使用されたユーザー ID になります。ジョブ名と同様に、ユーザー ID が 8 文字の長さの場合、すべての追加プロセスは同じジョブ名を持ちます。ユーザー ID が 8 文字未満の場合、プロセスは、接尾部として数字が追加されたユーザー ID で構成されたジョブ名を持ちます。

以下の例では、プロシージャー名 WEBSRV1 が使用されています。/path/to/IHS/runtime/directory を、IBM HTTP Server のこのインスタンスの実際のインストール・ディレクトリーと置換して、新規カタログ式プロシージャーを編集します。SAF STARTED プロファイルを作成して、サーバーのユーザー ID およびグループを Web サーバーの開始タスクと関連付けます。
RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
SETROPTS RACLIST(STARTED) GENERIC(STARTED) REFRESH
  • MVS コンソールからサーバーを開始するには、以下を入力します。
    S WEBSRV1
    注: Web サーバーのジョブ名は、jobname を開始コマンドに追加することにより変更できます。例えば、次のようになります。
    S WEBSRV1,JOBNAME=HTTPDWS1
    ベスト・プラクティス 1: 8 文字のジョブ名を使用します。8 文字のジョブ名を使用することにより、Web サーバーのこのインスタンス用に作成されるすべてのプロセスは同じジョブ名を持つようになります。
    サーバーを停止するには、以下のように入力します。
    P WEBSRV1
    注: SDSF を使用している時は、System Command Extension (コマンド入力) 画面を使用して、サーバーを停止するコマンドを入力する必要があります。
    • コマンド・プロンプトで、スラッシュ (/) を入力してから Enter を押すと、System Command Extension ウィンドウが表示されます。
    • System Command Extension ウィンドウで、S WEBSRV1,ACTION='stop' コマンドを入力します。 stop が小文字であることを確認してください。
  • 他の apachectl コマンドを発行するには、以下のように入力します。
    S WEBSRV1,ACTION='<command>'
  • サーバーを再始動するには、以下を入力します。
    S WEBSRV1,ACTION=restart
    z/OS コンソールからサーバーを再始動できます。
  • サーバーを正常に再始動するには、以下を入力します。
    S WEBSRV1,ACTION=graceful
    z/OS コンソールからサーバーを正常に再始動できます。

start コマンドと stop コマンドの出力は、プロシージャー内の STDOUT JCL ステートメントおよび STDERR DD JCL ステートメントに指定されたファイル内にあります。

zos_cmds モジュールの使用: zos_cmds モジュールがアクティブな場合は、z/OS の STOP コンソール・コマンドと MODIFY コンソール・コマンドを使用できます。
重要: zos_cmds モジュールをアクティブにするには、httpd.conf ファイル内に次の行を追加する必要があります。
LoadModule zos_cmds_module modules/mod_zos_cmds.so 
注: 一貫性のある 8 文字のジョブ名をすべてのプロセスに使用していない場合は、z/OS オペレーター・コマンドを処理しているプロセスのジョブ名が Web サーバーのインスタンスであることを判別する必要があります。Web サーバーは開始されると、オペレーター・コマンドを処理しているジョブを識別するメッセージをオペレーター・コンソールに発行します。
BPXM023I (WASTST1) IHS is active. Use jobname HTTPDWS1 for MVS commands.
ここで、WASTST1 は、Web サーバーの実行に使用されているユーザー ID です。ジョブ名も識別する項目がエラー・ログに書き込まれます。mod_zos_cmds デーモンのジョブ名は、HTTPDWS1 になりますので注意してください。MODIFY コマンドを入力すると、このコマンドは、指定されたジョブ名を持つすべてのジョブのターゲットになります。Web サーバー・プロセスの 1 つのみがこのコマンドを受け入れます。システムは、同じジョブ名を持つ他の各ジョブに次のメッセージを発行します。
IEE342I MODIFY   REJECTED-TASK BUSY
  • stop コマンドを使用してサーバーを停止するには、次のように入力します。
    P HTTPDWS1
  • modify コマンドを使用してサーバーを再始動するには、次のように入力します。
    F HTTPDWS1,appl='restart'
  • modify コマンドを使用してサーバーを正常に再始動するには、次のように入力します。
    F HTTPDWS1,appl='graceful'
zos cmds モジュールがアクティブな状態で Web サーバーが停止すると、Web サーバーは次のメッセージをオペレーター・コンソールに発行します。
BPXM023I (WASTST1) IHS is stopping
ここで、WASTST1 は、Web サーバーの実行に使用されているユーザー ID です。
ベスト・プラクティス 2: 出力ファイルは、プロシージャーが使用されるたびに上書きされます。 出力ファイルには構成についての警告メッセージや開始失敗のエラー・メッセージが含まれている場合があります。 複数回のプロシージャーの使用に渡ってこれらのメッセージのログを保持する場合は、サンプル・プロシージャーの PATHOPTS オプションの 2 つのオカレンスを PATHOPTS=(OCREAT,OAPPEND,OWRONLY) に変更します。 PATHOPTS オプションについて詳しくは、「z/OS® MVS JCL 解説書」(SA88-8569) を参照してください。この文書を z/OS Internet Library からリンクしてください。
ベスト・プラクティス 3: STDENV DD ステートメントは推奨されていません。 IBM HTTP Server を JCL または UNIX 環境のいずれから始動した場合でも、変数が有効になるように、環境変数設定をランタイム・ディレクトリー内の bin/envvars ファイルに追加することを検討してください。
ベスト・プラクティス 4: BPXBATCH の SH パラメーターを、PGM パラメーターの代わりに使用することをお勧めします。 PGM パラメーターの処理を行うと、/etc/profile ファイルのシステム・デフォルト設定がバイパスされ、IBM HTTP Server で作成されたファイルに正しいアクセス権が設定されません。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=cihs_startsysconz
ファイル名:cihs_startsysconz.html