Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド

- Previous: 第 18 章 Apache Web サーバーのコンパイルと設定
- Next: 第 20 章 domain.xml のドット表記名属性

# 第 19 章 ドメインまたはノードエージェントの自動再起動

マシンの再起動が必要になった場合など、ドメインまたはノードエージェントが予想外に停止される場合にそなえて、ドメインまたはノードエージェントが自動的に再起動されるようにシステムを設定することが可能です。

この付録では、次の項目について説明します。

- 「UNIX プラットフォーム上での自動再起動」

- 「Microsoft Windows プラットフォーム上での自動再起動」

- 「自動再起動時のセキュリティー」

# UNIX プラットフォーム上での自動再起動

UNIX プラットフォーム上でドメインを再起動するには、`/etc/inittab` ファイルにテキストを 1 行追加します。

たとえば、`opt/SUNWappserver` ディレクトリにインストールされた Application Server の `domain1` を、`password.txt` という名前のパスワードファイルを使って再起動するには、次のテキストを追加します。

    das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin
    --passwordfile /opt/SUNWappserver/password.txt domain1

このテキストは 1 行で記述してください。先頭の 3 文字はこのプロセスに対する一意の指示子ですが、これは変更可能です。

ノードエージェントを再起動する場合の構文も、これと似ています。たとえば、`opt/SUNWappserver` ディレクトリにインストールされた Application Server の `agent1` を、`password.txt` という名前のパスワードファイルを使って再起動するには、次のテキストを追加します。

    das:3:respawn:/opt/SUNWappserver/bin/asadmin start-node-agent --user admin
    --passwordfile /opt/SUNWappserver/password.txt agent1

# Microsoft Windows プラットフォーム上での自動再起動

Microsoft Windows 上で自動的に再起動するには、Windows サービスを作成します。Sun Java System Application Server に同梱されている実行可能ファイル `appservService.exe` と `appserverAgentService.exe` を、Microsoft が提供するサービス制御コマンド (`sc.exe`) と組み合わせて使用します。

`sc.exe` コマンドは Windows XP に同梱されており、`C:\windows\system32` ディレクトリか `C:\winnt\system32` ディレクトリのいずれかに格納されています。このマニュアルの執筆時点では、Windows 2000 の `sc.exe` が `http:// ftp://ftp.microsoft.com/reskit/win2000/sc.zip` からダウンロード可能となっています。`sc.exe` の使用方法の詳細については、http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_scmslite.asp を参照してください。

`appservService.exe` および `appservAgentService.exe` の使用方法は次のとおりです。

    C:\winnt\system32\sc.exe create service-name binPath= \"fully-qualified-path-to-appservService.exe
    \"fully-qualified-path-to-asadmin.bat start-command\"
    \"fully-qualified-path-to-asadmin.bat stop-command\""
    start= auto DisplayName= "display-name"

たとえば、パスワードファイル `C:\Sun\AppServer\password.txt` を使ってドメイン `domain1` を開始および停止するサービス `SunJavaSystemAppServer DOMAIN1` を作成するには、次のようにします。

    C:\windows\system32\sc.exe create domain1 binPath=
    "C:\Sun\AppServer\lib\appservService.exe \"C:\Sun\AppServer\bin\asadmin.bat
    start-domain --user admin --passwordfile C:\Sun\AppServer\password.txt domain1\"
    \"C:\Sun\AppServer\bin\asadmin.bat stop-domain domain1\"" start= auto
    DisplayName= "SunJavaSystemAppServer DOMAIN1"

ノードエージェント `agent1` を開始および停止するサービスを作成するには、次のようにします。

    C:\windows\system32\sc.exe create agent1 binPath=
    "C:\Sun\AppServer\lib\appservAgentService.exe \"C:\Sun\AppServer\bin\asadmin.bat
    start-node-agent --user admin --passwordfile C:\Sun\AppServer\password.txt agent1\"
    \"C:\Sun\AppServer\bin\asadmin.bat stop-node-agent agent1\"" start= auto
    DisplayName= "SJESAS_SE8.1 AGENT1"

注 –

`binPath=` パラメータの一部として入力された開始コマンドと停止コマンドは、正しい構文で記述されている必要があります。確認するには、それらのコマンドをコマンドプロンプトから実行します。コマンドを実行してもドメインまたはノードエージェントが正常に開始または停止しない場合、そのサービスは正しく動作していません。

注 –

`asadmin` の `start/stop` コマンドとサービスの開始/停止を混在させないでください。両者を混在させると、サーバーの状態の同期が取れなくなります。たとえば、サーバーのコンポーネントが実行されていないのに「コンポーネントが開始された」と表示されたりします。こうした状況を避けるには、サービス使用時には常に、`sc.exe` コマンドを使ってコンポーネントを開始および停止するようにしてください。

# 自動再起動時のセキュリティー

起動時に必要となるパスワードとマスターパスワードは、次のいずれかの方法を使って処理します。

- Microsoft Windows 上で、ユーザーにパスワードを尋ねるようにサービスを設定します。

  1. サービスコントロールパネルで、作成したサービスをダブルクリックします。

  2. 「プロパティー」ウィンドウの「ログオン」タブをクリックします。

  3. 「デスクトップとの対話をサービスに許可」にチェックマークを付け、必要なパスワードに対するプロンプトがコンポーネント起動時に表示されるようにします。

     ログインしてプロンプトを表示させ、入力時にエントリがエコーバックされないことを確認する必要があります。これがサービスオプションを使用する際のもっとも安全な方法ですが、この方法の場合、ユーザーが関与しないとサービスが利用可能になりません。

     デスクトップとの対話オプションを設定しなかった場合、サービスは「開始保留」状態のままになり、ハングアップしたように見えます。この状態から抜け出すには、このサービスのプロセスを終了してください。

- Windows または UNIX 上で、`--savemasterpassword=true` オプションを使ってドメインを作成し、管理パスワード格納用のパスワードファイルを作成します。コンポーネント起動時に、`--passwordfile` オプションを使ってパスワードが格納されたファイルを指定します。

  次に例を示します。

  1. ドメイン作成時にマスターパスワードを保存します。次の構文では、ユーザーは管理パスワードとマスターパスワードの入力を求められます。

         asadmin create-domain --adminport 4848 --adminuser admin
         --savemasterpassword=true --instanceport 8080 domain1

  2. Windows の場合は、サービスを作成します。その際、パスワードファイルを使って管理パスワードを提供します。

         C:\windows\system32\sc.exe create domain1 binPath=
         "C:\Sun\AppServer\lib\appservService.exe \"C:\Sun\AppServer\bin\asadmin.bat
         start-domain --user admin --passwordfile C:\Sun\AppServer\password.txt domain1\"
         \"C:\Sun\AppServer\bin\asadmin.bat stop-domain domain1\"" start= auto
         DisplayName= "SJESAS_PE8.1 DOMAIN1"

     パスワードファイル `password.txt` のパスは、`C:\Sun\AppServer\password.txt` です。このファイルには、パスワードが次の形式で格納されています。

     `AS_ADMIN_password=`password

     たとえば、パスワードが `adminadmin` の場合、次のようになります。

     `AS_ADMIN_password=adminadmin`

  3. UNIX の場合、`inittab` ファイルに追加する行の中で、`--passwordfile` オプションを使用します。

         das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin
         --passwordfile /opt/SUNWappserver/password.txt domain1

     パスワードファイル `password.txt` のパスは、`/opt/SUNWappserver/password.txt` です。このファイルには、パスワードが次の形式で格納されています。

     `AS_ADMIN_password=`password

     たとえば、パスワードが `adminadmin` の場合、次のようになります。

     `AS_ADMIN_password=adminadmin`

- Previous: 第 18 章 Apache Web サーバーのコンパイルと設定
- Next: 第 20 章 domain.xml のドット表記名属性

- © 2010, Oracle Corporation and/or its affiliates