Sun ONE Portal Server 6.2 安装指南 |
附录 B
BEA WebLogic Server
在 BEA 群集上设置 Sun ONE Portal Server本部分简单介绍并举例说明 Sun ONE Portal Server 软件在 BEA WebLogic Server 群集上的使用方法。
我们的例子需要 5 台机器。所有机器必须处于同一个子网中。其中一台仅含有目录服务器 (DSmach)。另一台是 BEA WebLogic 管理服务器 (AS)。还有 3 台群集机器(CS1、CS2 和 CS3)。如果想支持负载均衡,可以将另外一台机器或管理服务器机器配置成用于实现负载均衡的代理 servlet。您还可以使用一个基于硬件的负载均衡器。群集需要具有负载均衡功能。在本例中,代理位于管理服务器上。
在 Dsmach 上安装目录服务器。使用缺省安装方式,将 BEA WebLogic Server 安装到所有其它 4 台机器上。检查所有服务器是否工作正常。
在含有 BEA WebLogic Server 的 4 台机器上,根据 BEA WebLogic 说明创建一个新域(所有机器上的 NEWDOMAIN),其中包含一个侦听端口为 7001 的管理服务器(所有机器上的 ADMINSERVER)和侦听端口为 80 的另一个服务器(所有机器上的 PORTALSERVER)。每个侦听端口应该相同,此例中使用端口 80。
下一步将 4 台机器上的 Portal Server 软件安装到受管理服务器实例 (PORTALSERVER) 中。
- 对下面的问题回答 n:使用这些设置吗?[y]/n
接下来是一个问题列表。
- 除以下问题外,所有问题使用缺省值。下面的问题显示了需要更改的值以及重要的缺省值。这是针对 BEA WebLogic 管理服务器的例子。群集机器的安装值与此类似。
Application Server 域是什么? [mydomain] NEWDOMAIN
Application Server 实例是什么? [myserver] PORTALSERVER
Application Server 管理端口是多少? [7001]
访问 Portal Server 应该使用哪个端口? [80]
使用现有的 Directory Server 吗?y/[n] y
Directory Server 的名称是什么?[...]DSmach
正确回答关于 Directory Server 的问题。
- 停止并重新启动所有机器上的所有服务器(Portal Server、受管理服务器以及管理服务器)。
- 检查安装是否成功。
- 以管理员身份登录到 Sun ONE Identity Server 管理员控制台。
默认情况下,位置窗格中选中“标识管理”,且所有已创建组织都显示在导航窗格中。
- 在位置窗格中选择“服务配置”。
- 单击导航窗格中“平台”旁的“属性”箭头。
- 检查“服务器列表”中是否含有计划安装代理的机器的 full-ps-servername。在我们的例子中,此机器为 http://AS.example.com:80。
- 单击“保存”。
要建立群集:
有关更详细的信息,请参阅 BEA WebLogic Server 有关建立群集的说明。
在建立群集时,请记住以下几点:
通过访问 BEA WebLogic Server 管理控制台,选择左窗格中的“群集”,选择右窗格中的“监视”标签,然后选择“监视服务器参与群集的情况”,来检查建立的群集是否正常。如果一个或多个启动的服务器实例未在显示器中显示,使用 BEA WebLogic Server 工具检查多址广播的地址和端口号是否正确。
如果想使用代理 servlet 实现负载均衡,请创建一个群集用来配置负载均衡 servlet 的 web.xml 文件。使用临时目录生成一个子目录 WEB-INF。web.xml 文件是目录 (WEB-INF) 中仅有的文件。在该文件中使用全限定机器名。
- 将包含群集服务器值的 web.xml 文件转为 .war 文件。在终端窗口中键入:
jar cvf proxy.war WEB-INF
- 使用 BEA WebLogic Server 软件提供的 java weblogic.deploy 命令,将 .war 文件部署到 BEA WebLogic 管理服务器上。
- 在管理服务器的 BEA WebLogic Server 管理控制台中,展开“服务器”,然后选择 PORTALSERVER:80。
- 单击 HTTP 标签。
- 设置代理的“默认网络应用程序”。
- 重新启动 Portal Server。
或在生成 .war 文件后,将 .war 文件复制到应用程序目录中,该目录位于管理机器 (AS) 的新域中。
- 选择“网络应用程序”。
- 单击“配置新网络应用程序”。
- 输入 proxy 作为“名称”,并给出到 .war 文件的完整路径。
- 单击“创建”。
- 在“网络应用程序”下方左窗格中,单击代理。
- 在右窗格中,单击“目标”标签,然后将 Portal Server 从“可用”框移到“选定”框中。
下一步需要将 Portal Server 软件部署到群集。对于每个网络应用程序(amconsole、amserver、amcommon、ampassword 和 portal),执行以下步骤。
- 转至管理服务器的 BEA WebLogic Server 管理控制台 (AS:7001/console)。
- 在左窗格中展开“网络应用程序”,然后选择其中一个 Portal Server 软件网络应用程序(amconsole、amserver、amcommon、ampassword 和 portal)。
- 删除管理服务器的部署(您已经在 PORTALSERVER 服务器上安装了“门户”,但它不是群集的组成部分,因此现在您要把它从此服务器上删除)。
- 单击“编辑网络应用程序描述符”链接;单击“配置新网络应用程序扩展描述符”链接。
- 在 WebApp Ext 下的左窗格中,选择“会话描述符”。
- 在右窗格中,将“持久存储器类型”更改为复制。单击“应用”。
- 选择左窗格中的主题,“网络描述符”或“标识服务器服务”。选择“持续”。关闭此窗口。
- 选择“目标”标签,然后选择“群集”子标签。
- 将群集名称 (NEWCLUSTER) 从“可用”框移到“选定”框中,然后单击“应用”。
- 对于三台 Portal Server 机器中的每一台,转至 identity-server-install-root/SUNWam/lib 目录,然后使用文本编辑器打开 AMConfig.properties 文件。
- 在所有机器上设置以下值:
com.iplanet.am.session.failover.enabled=true
com.iplanet.am.replica.enable=true
com.iplanet.am.naming.url=http://AS.example.com:80/amserver/namingservice
com.iplanet.am.notification.url=http://AS.example.com:80/amserver/notificationservice
com.iplanet.am.session.server.host=AS.example.com
com.iplanet.am.server.host=ASNMS.example.com
com.iplanet.services.cdsso.CDCURL=http://AS.example.com:80/amserver/cdcservlet
com.iplanet.services.cdc.authLoginUrl=http://AS.example.com:80/amserver/login
- 停止并重新启动所有服务器。对受管理服务器,在每台机器上键入:
./startManagedWebLogic.sh managed-servername http://AS.example.com:80
- 检查一切是否工作正常。
设置 Cookie 编码值当目标网络容器是 BEA WebLogic Server 或 WebSphere Application Server 时,AMConfig.properties 文件中的 com.iplanet.am.cookie.encode 属性应该设置为“true”。因为 WebLogic 不会自动对由网络应用程序设置的 cookie 值进行编码,所以必须进行此操作。
在 BEA WebLogic Server 和 IBM WebSphere Application Server 下,将 com.iplanet.am.cookie.encode 设置为“true”,可以避免逗号、分号和空格等字符,不进行换码或编码就被 Sun ONE Identity Server 设置在 cookie 值中。当逗号、分号和空格等字符未经编码或换码而直接设置为 cookie 值时,某些网络浏览器将无法正确分析 cookie 值。从而导致应用程序在随后的请求中接收到被破坏的 cookie 值。
当目标网络容器是 WebLogic 时,编辑 AMConfig.properties 文件,将 com.iplanet.am.cookie.encode 属性的值设置为 true。