Sun ONE Application Server 7, Update 1 管理者ガイド |
この章では、Sun ONE Application Server による管理ドメインの設定方法と管理方法を説明します。
この章では次のトピックについて説明します。
管理ドメインについて
管理ドメインは、異なる管理者がマシン上のアプリケーションサーバーインスタンスをグループ (ドメイン) 化して管理するための、基本的なセキュリティ構造を提供します。このようにアプリケーションサーバーインスタンスを分割すると、それぞれ異なる管理者が存在する別々の組織によって 1 台のマシンを共有することが可能になります。
Sun ONE Application Server では、各アプリケーションサーバーインスタンスは、いずれかのドメインのメンバーとなります。ドメインが複数あることが必須ではありませんが、複数のドメインを設定することによって便利な機能を利用できます。
管理セキュリティは、基になるオペレーティングシステムのセキュリティメカニズムを使った (つまり、ファイルへのアクセス権を介した) ローカルコマンドによって確立されます。リモートコマンドの場合は、特定の管理サーバーと通信するために、ユーザー名とパスワードをペアで使用することでセキュリティが確保されます。管理ドメインでは、これら以外のセキュリティ構造は利用されません。
この節では、次の項目について説明します。
管理ドメインの実装
ドメインは、ファイル、オペレーティングシステムのプロセス、およびポートを使って実装されます。各ドメインには、一意の名前が付けられます。
ディレクトリ構造
インストールごとに、すべてのドメインに共有されるファイル (設定ファイル、実行可能ファイルなど) があります。ここで重要なのは、各ドメインに固有のファイルです。
ドメインすべてに固有のファイルは、ドメインディレクトリと呼ばれる共通のルートディレクトリを共有します。ルートディレクトリの名前にはドメイン名が付けられます。ドメインディレクトリの下には、インスタンスごとに 1 つのディレクトリが作成され、それぞれ各インスタンスの名前が付けれられます。さらに、各インスタンスディレクトリには、インスタンスに固有のファイルが格納されます。
ドメインディレクトリは、ファイルシステム内のどこにでも構築できます (ただし、セキュリティ権限などオペレーティングシステムレベルの制約に従う)。ユーザーが場所を指定しない限り、ドメインディレクトリはデフォルトディレクトリの下 (ドメインディレクトリと呼ばれる) に構築されます。ユーザーは別の位置にドメインディレクトリを作成することも可能です。
プロセスとポートの構造
ドメインは、実行中に、オペレーティングシステムプロセスとポートを消費します。特に、ドメインの管理サーバーを含むドメイン内で実行中の各インスタンスには、プロセスとポートが 1 つずつ存在します。
ドメインの設定
ドメイン専用のコマンドを使うと、ドメインを作成、削除、一覧表示、開始、および停止できます。
ドメインの作成、削除、および開始はローカルだけで実行できますが、ドメインの一覧表示と停止はローカルでもリモートでも実行できます。
削除、開始、および停止の各コマンドにはすべてドメイン名を指定します。ドメインが 1 つだけ存在する場合、ドメイン名の指定は省略できます。複数のドメインが設定されている環境でドメイン名を指定せずにコマンドを実行すると、エラーが発生します。
この節には次の項目があります。
ドメインの作成
ドメインの作成には、create-domain コマンドを使用します。このコマンドはローカルだけで使用できます。
構文
asadmin create-domain [--path domain_path] [--sysuser sys_user] [--passwordfile file_name] --adminport port_number --adminuser admin_user --adminpassword password domain_name
例 デフォルトの位置にドメインを作成する
$ asadmin create-domain --adminport 123 --adminuser MyAdmin --adminpassword MyPassword MyDomain
この例では、デフォルトの位置 (ドメインディレクトリ) に MyDomain というドメインが作成されます。管理サーバーはポート 123 で待機し、管理ユーザー名は MyAdmin で、パスワードは MyPassword となります。ドメインディレクトリおよびその配下のファイルは、このコマンドを実行したオペレーティングシステムのユーザーに所有されます。また、オペレーティングシステムのプロセスは、このコマンドを実行したユーザーとして実行されます。
既に MyDomain というドメインが存在する場合は、エラーメッセージが返されます。
コマンド行でパスワードを使用するのではなく (セキュリティ上の問題になる)、パスワードをファイルに書き込んでおき、--passwordfile オプションを使って受け渡すことができます。
例 デフォルトの位置以外にドメインを作成する
$ asadmin create-domain --path $HOME --adminport 123 --adminuser MyAdmin --adminpassword MyPassword MyDomain
この例は 1 番目の例と似ていますが、デフォルトのドメインディレクトリにではなく、ユーザーの $HOME ディレクトリに作成される点が異なります。
例 ユーザーを変更してドメインを作成する (UNIX のみ)
# asadmin create-domain --user AnotherUser --adminport 123 --adminuser MyAdmin --adminpassword MyPassword MyDomain
この例は 1 番目の例に似ていますが、ドメインおよびその中に含まれるファイルが AnotherUser というユーザーに所有される点が異なります。オペレーティングシステムのプロセスも、このユーザーとして実行されます。
--sysuser オプションを使用すると、他のユーザーが管理するドメインを構築できます。このオプションを指定するには、create-domain コマンドを実行するユーザーが root である必要があります。
UNIX プラットフォームでのユーザーのアクセス権
root 以外のユーザーが管理ドメインを作成または削除するには、ドメインの設定ファイルに対する書き込み権を持つ UNIX グループにそのユーザーの ID を追加する必要があります。
- インストール全体に有効なドメイン設定ファイルに適用される UNIX グループを作成します。たとえば、asadmin という名前の UNIX グループです。
- インストール全体に有効なドメイン設定ファイルを /etc/appserver に格納して、新しく作成した UNIX グループが所有するようにします。
ファイル名は、domains.bin と domains.lck です。たとえば、これらのファイルは変更後、次のようになります。
-rw-r--r-- 1 root asadmin 0 Sep 18 14:34 domains.bin
-rw-r--r-- 1 root asadmin 0 Sep 18 14:34 domains.lck
- 新しく作成した UNIX グループがこれらのファイルに対して書き込みアクセスできるように設定にします。この例では、アクセス権は次のようになります。
-rw-rw-r-- 1 root asadmin 0 Sep 18 14:34 domains.bin
-rw-rw-r-- 1 root asadmin 0 Sep 18 14:34 domains.lck
- ユーザー ID を UNIX グループに追加します。
上記とは反対に、インストール全体に適用する設定ファイルへの書き込みアクセスを root ユーザー以外に与えたくない場合は、ユーザーではなく管理ドメインを作成することもできます。新しい管理ドメインを作成するには、--sysuser オプションによって、ドメインのディレクトリとファイルを所有する UNIX ユーザー ID を指定し、--path オプションによって、管理ドメインを作成する位置を指定します。この例については、「例 ユーザーを変更してドメインを作成する (UNIX のみ)」を参照してください。
管理ドメインをユーザー ID を基に作成すると、そのユーザーは新しいアプリケーションサーバーインスタンスを作成できるようになり、作成したアプリケーションサーバーインスタンスに対するさまざまな管理操作を行うことができます。ユーザー ID は、管理ドメイン設定ファイルへの書き込み権限を持つ UNIX グループに所属している必要はありません。UNIX グループへの登録が必要となるのは、管理ドメインを作成または削除するユーザーだけです。
ドメインの削除
ドメインの削除には、delete-domain コマンドを使用します。ドメインを管理できるオペレーティングシステムユーザー (または root) だけがこのコマンドを実行できます。このコマンドはローカルだけで使用できます。
構文
asadmin delete-domain [domain_name]
例 ドメインを削除する
$ asadmin delete-domain MyDomain
この例では、ローカルマシン上の MyDomain というドメインが削除されます。
ドメインの一覧表示
マシン上に作成されているドメインを表示するには、list-domains コマンドを使用します。
このコマンドは、ローカルとリモートの両方で使用できます。
構文
asadmin list-domains [--host host] [--port port] [--password password] [--user user]
例 ローカルマシン上のドメインを一覧表示する
$ asadmin list-domains
domain1 [/opt/ias/build/domains/domain1]
例 リモートオプションを使用して、ローカルマシン上のドメインを一覧表示する
$ asadmin list-domains --user admin --password password --host localhost --port 4848
domain1 [/opt/ias/build/domains/domain1]
ドメインの開始
ドメインの開始には、start-domain コマンドを使用します。このコマンドは、ドメインの管理サーバーと、ドメイン内のすべてのインスタンスを開始します。
このコマンドは、ローカルだけで実行できます。
構文
asadmin start-domain [--domain domain_name]
例 マシン上に 1 つだけあるドメインを開始する
$ asadmin start-domain
インスタンス domain1:admin-server が起動しました
インスタンス domain1:server1 が起動しました
ドメイン domain1 が起動しました。
ドメインの停止
ドメインの停止には、stop-domain コマンドを使用します。ユーザーはドメイン内のすべてのインスタンスを停止できます。また、管理サーバー以外の全インスタンスを停止することもできます。そのようにすると、ドメインのリモート管理を継続できます。
このコマンドは、ローカルとリモートの両方で実行できます。
構文
asadmin stop-domain [--user admin_user] [--password admin_password] [--host host_name] [--port port_name] [-- local=false] [--domain domain_name] [--adminserv=true] [--passwordfile file_name] [--secure | -s]
例ドメイン内の管理サーバーインスタンス以外の全インスタンスを停止する
$ asadmin stop-domain --user admin --password password --host localhost --port 4848 --adminserv=false --domain domain1
DomainStoppedRemotely
ドメインレジストリの再作成
各ドメインの詳細情報 (名前、位置、使用されるポートなど) は、実装上、ドメインレジストリと呼ばれるファイルに記録されています。
ドメインレジストリの変更や使用はシステムの管理に使用するコマンドにカプセル化されているため、通常はドメインディレクトリを直接操作する必要はありません。ただし、ドメインレジストリはファイルであるため、スクリプトの実行が不正な場合や、誰かが不注意にレジストリを削除してしまった場合などに破損する可能性があります。破損した場合は、ファイルを再作成する必要があります。
注 ドメインレジストリには、asadmin コマンドを使って、コマンド行インタフェースからアクセスできます。
レジストリが破損した場合、次の手順に従って、レジストリを再作成してください。
- すべてのドメイン、およびドメインが格納されているディレクトリ (デフォルトまたはデフォルト以外) の一覧を入手します。
- 各ディレクトリの名前を変更します (たとえば、各ディレクトリ名に ".bak" のサフィックスを追加)。
- ポートやパスワードなどのデフォルト値を使って、元の位置に各ドメインを再度作成します。
- 新しいドメインディレクトリをすべて削除し、元のディレクトリと置き換えます。
- 各ドメインに対して、reconfig コマンドを実行します。これで、古いドメインの値によってドメインレジストリが更新されます。