Sun ONE logo     上一个      目录      索引      下一个     
Sun ONE Application Server 7, Update 1 管理员指南



配置管理域

本 module 介绍如何使用 Sun ONE Application Server 设置和管理管理域。

本 module 包括以下主题:

关于管理域

管理域提供了基本的安全性结构,凭借此结构,不同的管理员可以管理计算机上特定的应用程序服务器实例组(域)。通过如此划分应用程序服务器实例,可以在不同的组织之间共享一台计算机,而且每个组织都拥有自己的管理员。

在 Sun One Application Server 中,每个应用程序服务器实例都是一个域的成员。并不需要有多个域,但是如果需要,作为一个非常有用的功能多个域是受支持的。

管理安全性是使用基础操作系统的安全性机制(即通过文件权限)为本地命令建立的。远程命令安全性是使用用户名/密码对建立的,以便与特定的管理服务器通信。管理域不使用任何其它安全性结构。

本节包括以下主题:

实现管理域

域是通过使用文件、操作系统进程和端口来实现的。每个域都有一个唯一的名称。

目录结构

有些文件(配置文件、可执行文件等等)在安装中为所有的域共享。这里重点介绍那些专用于域的文件。

专用于域的所有文件都共享一个称为域目录的公用根目录,而该目录的名称为域的名称。在域目录下,每个实例一个目录,目录以实例名命名,并且每一个实例目录下面都含有专用于实例的文件。

域目录可以在文件系统的任何位置建立(符合安全性权限和其它操作系统级别限制)。除非用户进行选择,否则域目录将在默认目录(称为域目录)下建立。但是,用户也可以选择在任意位置创建域目录。

进程/端口结构

域运行时将占用操作系统进程和端口。具体而言,域中运行的每个实例(包括该域的管理服务器)都占用一个进程和一个端口。

配置域

可以使用专门用途的命令创建、删除、列出、启动和停止域。

创建、删除和启动域只能在本地完成,而列出和停止域既可以在本地执行,也可以远程执行。

使用删除、启动和停止命令时,您需要分别指定一个域名。如果只有一个域,则不必指定此名称。如果未给定任何域,但配置了多个域,命令将给出错误信息。

本节包括以下主题:

创建域

域是使用 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

此示例与第一个示例类似,只是域目录这一次将位于用户的 $HOME 目录下,而不是在默认的域目录下。

示例:为另一个用户创建域(仅适用于 UNIX)

# asadmin create-domain --user AnotherUser --adminport 123 --adminuser MyAdmin --adminpassword MyPassword MyDomain

此示例与第一个示例类似,只是该域及其文件将由用户 AnotherUser 所有,操作系统进程也是如此

使用 --sysuser 选项,用户可以创建能够由其他用户进行后续管理的域。此选项要求运行 create-domain 命令的用户是超级用户。

UNIX 平台上的用户权限

要使非超级用户能够创建和删除管理域,必须将该用户的 ID 添加到具有域配置文件写入权限的 UNIX 组中:

  1. 创建一个 UNIX 组,该组将适用于安装范围内的域配置文件。例如,名为 asadmin 的 UNIX 组。
  2. 将位于 /etc/appserver 下的安装范围内的域配置文件设置为由新创建的 UNIX 组所有。
  3. 这些文件名为 domains.bindomains.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

  4. 启用新创建的 UNIX 组对这些文件的写入权限。在本示例中,生成的权限将类似于以下格式:
  5. -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

  6. 将用户 ID 添加到 UNIX 组中。

或者,如果您不希望为非超级用户提供对安装范围内的各配置文件的写入权限,也可以代表用户创建管理域。创建新管理域期间,请指定 --sysuser--path 选项,以标识将拥有域目录和文件的 UNIX 用户 ID,以及创建管理域的位置。有关示例,请参见“示例:为另一个用户创建域(仅适用于 UNIX)”

在某个用户 ID 下创建管理域之后,该用户可以创建新的应用程序服务器实例,并对应用程序服务器实例执行多种不同的管理操作。该用户 ID 不必属于拥有管理域配置文件写入权限的 UNIX 组。UNIX 组中的成员身份仅在创建和删除管理域时需要。

删除域

域是使用 delete-domain 命令删除的。只有可以管理域的操作系统用户(即超级用户)可以成功地执行此命令。此命令仅在本地执行。

语法:

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]

示例:启动计算机中唯一的域:

$ start-domain

Instance domain1:admin-server started

Instance domain1:server1 started

Domain domain1 Started.

停止域

可以使用 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 asadmin stop-domain --user admin --password password --host localhost --port 4848 --adminserv=false --domain domain1

DomainStoppedRemotely

重新创建域注册表

要实现各种用途,每个域的详细资料(其名称、位置、使用的端口等等)都记录在称为域注册表的文件中。

在正常的操作条件下,您不必直接对域注册表进行任何操作,因为对域注册表的任何修改或使用都将由管理系统使用的命令完全封装。但是,由于域注册表是一个文件,它可能会被破坏(例如脚本产生错误、或注册表被某人无意中删除了等等);而在这些情况下,您可能必须重新创建该文件。



注意

可以使用 asadmin 命令通过命令行界面访问域注册表。



如果注册表被破坏,请执行以下步骤重新创建注册表:

  1. 获取所有域的列表,以及它们所在的目录(默认目录或非默认目录)。
  2. 重命名每个目录(例如在每个目录名末尾附加“.bak”)。
  3. 使用端口、密码等的默认值,在其初始位置再次创建每个域。
  4. 删除每个新的域目录并替换为原来的目录。
  5. 对每个域执行 reconfig 命令。这将使域注册表用原有域的值进行更新。

上一个      目录      索引      下一个     
Copyright 2003 Sun Microsystems, Inc. All rights reserved.