下面提供的信息有助于解决在使用 Oracle Java Web Console 软件时可能遇到的任何问题。
可以使用 smcwebserver、wcadmin 和 svcs 命令来获取有关控制台的不同类型的信息,这些信息对解决问题很有用。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
检查服务器的状态。
# smcwebserver status Sun Java(TM) Web Console is running |
Solaris 10 11/06:检查控制台的 SMF 状态和启用状态。
# svcs -l system/webconsole:console |
如果您使用 smcwebserver 命令来启动和停止服务器,而不启用和禁用它,则 enabled 属性可能显示为 false (temporary) 或 true (temporary)。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
列出控制台资源和控制台属性。
如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:
# wcadmin list Deployed web applications (application name, context name, status): console ROOT [running] console com_sun_web_ui [running] console console [running] console manager [running] legacy myapp [running] Registered jar files (application name, identifier, path): console audit_jar /usr/lib/audit/Audit.jar console console_jars /usr/share/webconsole/lib/*.jar console jato_jar /usr/share/lib/jato/jato.jar console javahelp_jar /usr/jdk/packages/javax.help-2.0/lib/*.jar console shared_jars /usr/share/webconsole/private/container/shared/lib/*.jar Registered login modules (application name, service name, identifier): console ConsoleLogin userlogin console ConsoleLogin rolelogin Shared service properties (name, value): ENABLE yes java.home /usr/jdk/jdk1.5.0_06 |
由于 SMF 使用自身的启用属性(如上一个过程中所示),此 ENABLE 属性将被忽略。ENABLE 属性用于旧式系统,该系统的控制台服务器不是由 SMF 管理。
对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:
# smreg list The list of registered plugin applications: com.sun.web.console_2.2.4 /usr/share/webconsole/console com.sun.web.ui_2.2.4 /usr/share/webconsole/com_sun_web_ui com.sun.web.admin.example_2.2.4 /usr/share/webconsole/example The list of registered jar files: com_sun_management_services_api.jar scoped to ALL com_sun_management_services_impl.jar scoped to ALL com_sun_management_console_impl.jar scoped to ALL com_sun_management_cc.jar scoped to ALL com_sun_management_webcommon.jar scoped to ALL com_iplanet_jato_jato.jar scoped to ALL com_sun_management_solaris_impl.jar scoped to ALL com_sun_management_solaris_implx.jar scoped to ALL The list of registered login modules for service ConsoleLogin: com.sun.management.services.authentication.PamLoginModule optional use_first_pass="true" commandPath="/usr/lib/webconsole"; com.sun.management.services.authentication.RbacRoleLoginModule requisite force_role_check="true" commandPath="/usr/lib/webconsole"; The list of registered server configuration properties: session.timeout.value=15 authentication.login.cliservice=ConsoleLogin logging.default.handler=com.sun.management.services.logging.ConsoleSyslogHandler logging.default.level=info logging.default.resource=com.sun.management.services.logging.resources.Resources logging.default.filter=none logging.debug.level=off audit.default.type=None audit.None.class=com.sun.management.services.audit.LogAuditSession audit.Log.class=com.sun.management.services.audit.LogAuditSession audit.class.fail=none authorization.default.type=SolarisRbac authorization.SolarisRbac.class= com.sun.management.services.authorization.SolarisRbacAuthorizationService authorization.PrincipalType.class= com.sun.management.services.authorization.PrincipalTypeAuthorizationService debug.trace.level=0 . . . No environment properties have been registered. |
控制台访问问题可能表示控制台服务器尚未启用或者安全设置受到限制。有关更多信息,请参见检查控制台的状态和属性和Oracle Java Web Console 安全注意事项。
本节包含有关解决控制台应用程序可能会遇到的注册问题的信息。有关特定控制台应用程序的信息,应当参阅相应应用程序的文档。
控制台应用程序通常在安装过程中进行注册,因此,您通常不需要亲自注册应用程序。
从 Solaris 10 11/06 发行版开始,Web 控制台更改了应用程序的注册方法,但仍然支持为早期版本的控制台开发的应用程序。当前的应用程序可以在控制台服务器正在运行时使用一条命令来注册和部署,针对早期版本的控制台开发的应用程序称为传统应用程序,而且要求在注册过程中控制台服务器处于停止状态。如果您需要注册或注销应用程序,则必须首先确定该应用程序是否为传统应用程序,如下面的过程所述。
查看应用程序的 app.xml 文件。
app.xml 文件位于应用程序的 WEB-INF 目录中。
检查 app.xml 文件中的 registrationInfo 标记。
对于传统应用程序,registrationInfo 标记的版本为 2.x。例如,registrationInfo version="2.2.4"。
对于当前应用程序,registrationInfo 标记中的版本至少为 3.0。例如,registrationInfo version="3.0"。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
列出已部署的应用程序。
如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:
# wcadmin list -a Deployed web applications (application name, context name, status): console ROOT [running] console com_sun_web_ui [running] console console [running] console manager [running] legacy myapp [running] |
该命令会列出所有已注册和已部署的应用程序。所列出的传统应用程序的名称中会显示 legacy。请参见如何确定应用程序是否为传统应用程序。列出的所有其他应用程序都是当前的应用程序,应当按照如何使用 Oracle Java Web Console 注册当前应用程序中的说明进行注册。
通常,显示的应用程序状态包含 running 或 stopped。如果状态为 running,则应用程序当前已装入并且可用。如果状态为 stopped,则应用程序当前未装入,从而不可用。有时应用程序会成功注册和部署,但由于应用程序中的问题而不会装入。如果这样,则应用程序的状态为 stopped。请检查 console_debug_log,以确定尝试装入应用程序时,从控制台的基础 Web 容器 Tomcat 追溯是否有错误。有关 console_debug_log 的更多信息,请参见使用控制台调试跟踪日志。
如果所有的应用程序都显示 stopped (包括控制台应用程序),则通常意味着控制台的 Web 容器没有运行。本例中的应用程序列表是从在 Web 容器中注册的静态 context.xml 文件中获取的。
对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:
# smreg list -a The list of registered plugin applications: com.sun.web.console_2.2.4 /usr/share/webconsole/console com.sun.web.ui_2.2.4 /usr/share/webconsole/com_sun_web_ui com.sun.web.admin.yourapp_2.2.4 /usr/share/webconsole/yourapp |
此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程仅适用于那些标识为传统应用程序的应用程序。有关当前应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册当前应用程序。另请参见如何确定应用程序是否为传统应用程序。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
停止 Web 服务器。
# smcwebserver stop |
注册应用程序。
# smreg add -a /directory/containing/application-files |
smreg 命令管理 Oracle Java Web Console 注册表中的信息。此脚本还执行部署应用程序所需的一些其他工作。有关此命令的其他选项,请参见 smreg(1M) 手册页。
重新启动 Web 服务器。
# smcwebserver start |
以下示例说明如何注册其文件位于 /usr/share/webconsole/example 目录中的传统应用程序。请注意,对于传统应用程序,在注册应用程序之前必须停止控制台服务器,在注册应用程序之后必须启动控制台服务器。可忽略 smreg 发出的警告,因为该应用程序是传统的控制台应用程序。
# smcwebserver stop # smreg add -a /usr/share/webconsole/example Warning: smreg is obsolete and is preserved only for compatibility with legacy console applications. Use wcadmin instead. Type "man wcadmin" or "wcadmin --help" for more information. Registering com.sun.web.admin.example_version. # smcwebserver start |
此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程仅适用于那些标识为传统应用程序的应用程序。有关如何注销当前应用程序的过程,请参见如何从 Oracle Java Web Console 注销当前的应用程序。
如果不希望特定的传统应用程序显示在 Web 控制台的启动页中,但是又不想卸载该软件,则可以使用 smreg 命令来注销该应用程序。请参见如何确定应用程序是否为传统应用程序。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
注销应用程序。
# smreg remove -a app-name |
以下示例说明如何如何注销 app-name 为 com.sun.web.admin.example 的传统应用程序。
# smreg remove -a com.sun.web.admin.example Unregistering com.sun.web.admin.example_version. |
Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注册和部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册传统应用程序。另请参见如何确定应用程序是否为传统应用程序。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
注册和部署应用程序。
wcadmin deploy -a app-name -x app-context-name /full path/to/app-name |
以下示例说明如何注册和部署已经为当前的 Web 控制台开发或更新的应用程序。
# wcadmin deploy -a newexample_1.0 -x newexample /apps/webconsole/newexample |
Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注销和取消部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注销过程,请参见如何从 Oracle Java Web Console 注销传统应用程序。请参见如何列出已部署的应用程序和如何确定应用程序是否为传统应用程序,确定应用程序是传统应用程序还是已更新的应用程序。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
取消部署和注销应用程序。
# wcadmin undeploy -a newexample_1.0 -x newexample |