Sun Java System Communications Express 6.3 管理指南

第 3 章 配置详细信息

本章介绍了 Communications Express 的配置详细信息。

Communications Express 配置文件

Communications Express 在以下配置文件中维护配置参数:

Procedure编辑配置文件

开始之前

所有配置文件均为 ASCII 文本文件,其中每行均按以下格式定义参数及其相关值:

parameter =value

配置 Communications Express 时,会初始化参数。可以使用文本编辑器编辑文件。下面是一些在配置文件中设置参数的约定:

  1. 以具有修改权限的用户身份登录。

  2. 转到 .properties 文件所在目录。

  3. 使用文本编辑器编辑这些参数。

  4. 重新启动 Web 容器以便新的配置值生效。

配置参数详细信息

可以按下表所述修改日历、邮件和通讯录配置参数。

uwcconfig.properties 文件中配置 Messenger Express 参数

表 3–1 列出了所有与 Messenger Express 有关的参数

表 3–1 邮件参数

参数 

默认值 

描述 

mail.deployed

 

如果部署邮件,则将此参数设置为 true。在运行配置向导时,将设置此参数。

webmail.host

 

指定部署了 Messenger Express 的计算机的主机名。Messenger Express 主机名应该与部署了 Web Server 的计算机名相对应。 

webmail.port

 

指定 Messenger Express HTTP Server 侦听的端口号。 

webmail.securedproxyauth

 

指定是以 SSL 模式还是非 SSL 模式进行验证。如果设置为 true,则以 SSL 模式进行验证。 

webmail.proxyadmin

 

指定代理服务器管理用户 ID。 

webmail.ssl.port

 

指定 HTTPS 服务器端口号。 

webmail.proxyadminpass

 

以加密格式指定代理服务器管理员的加密密码。 

uwcauth.properties 文件中配置针对 Sun Java LDAP Schema V.1 的 Directory Server 相关参数

如果验证 LDAP 服务器与用户或组 LDAP 不同,可以编辑表 3–2 中列出的参数。

表 3–2 LDAP 验证过滤器参数

参数 

默认值 

描述 

ldapauth.ldaphost

 

指定 LDAP 主机值。通常,ldapauth.ldaphost 值与 ldapusersession 值相同。如果需要,可以将其设置为其他值。

     

ldapauth.ldapport

 

指定 LDAP 端口号。 

ldapauth.dcroot

 

指定验证树的 DC 根。 

ldapauth.domainattr

inetDomainBaseDN,inetDomainStatus,inetDomainSearchFilter,domainUidSeparator,preferredLanguage

指定要从验证用户所在的域条目中检索的属性列表。 

ldapauth.domainfilter

(|(objectclass=inetDomain)(objectclass=inetDomainAlias))

指定检索域条目所基于的过滤器。 

ldapauth.ldapbinddn

 

指定绑定到验证 LDAP 的用户的用户域名。 

ldapauth.ldapbindcred

 

指定绑定到验证 PAB 的用户的密码。 

ldapauth.enablessl

false

指定要执行验证的目录是否处于 SSL 模式。 

将默认值更改为 true 可建立安全的 LDAP 连接。 

表 3–3 LDAP 用户组参数

参数 

默认值 

描述 

ldapusersession.ldaphost

 

指定用户组目录服务器的主机名。 

ldapusersession.ldapport

 

指定用户/组目录服务器的端口号。 

ldapusersession.ldapbinddn

 

指定绑定到用户或组目录服务器的管理员的用户 DN。  

ldapusersession.ldapbindcred

 

指定绑定到用户树的 admin 的密码。

ldapusersession.dcroot

 

在用户或组 LDAP 中指定用于解析 Sun Java LDAP Schema v.1 中的用户条目的域组件 (Domain Component, DC) 树。 

ldapusersessionl.daploadbalancingstrategy

指定要使用的 LDAP 负载平衡策略。有效值为 123

ldapusersession.basedn

 

在配置 Communications Express 过程中为此属性指定值。它指定用户组的 basedn

uwcauth.properties 文件中配置 Access Manager 参数

表 3–4 Access Manager 参数

参数 

默认值 

描述 

uwcauth.identity.enabled

 

指定是否启用 Identity Server。如果使用 Access Manager 的单点登录机制进行验证,则将该属性设置为 true

uwcauth.identity.binddn

 

指定 amAdmin 用户的完整标识名 (Distinguished Name, DN)。

例如, 

uid=amadmin, ou=People, o=siroe.com

uwcauth.identity.bindcred

 

指定 amAdmin 密码。

uwcauth.properties 文件中配置用户或组的用户查找参数

表 3–5 用户查找参数

参数 

默认值 

描述 

ldapusersession.defaultugfilter

uid@domain

指定在检索用户条目时使用的默认过滤器语法。 

ldapusersession.ldappoolmin

30 

指定要为用户或组 LDAP 创建的最小 LDAP 用户连接数。 

ldapusersession.ldappoolmax

100 

指定要为用户或组 LDAP 创建的最大 LDAP 用户连接数。根据部署要求输入最佳值。 

uwcconfig.properties 文件中配置 Calendar Server 参数


注 –

确保已在 Sun JavaTM System Calendar Server 中启用了代理验证和匿名访问。

要启用代理验证和匿名访问,请在日历配置文件 ics.config 中配置以下 Calendar Server 参数:

有关启用代理验证的更多信息以及配置 Calendar Server 参数的说明,请参阅《Sun Java System Calendar Server 6.3 Administration Guide》


表 3–6 Calendar Server 参数

参数 

默认值 

描述 

calendar.deployed

 

如果部署日历,则将该参数设置为 true。在运行配置向导时,将设置此参数。

calendar.wcap.host

 

指定 WCAP 服务器的主机名。 

calendar.wcap.port

 

指定 WCAP 侦听的端口号。 

calendar.wcap.adminid

 

指定 WCAP Sever 的管理员用户 ID。 

calendar.wcap.passwd

 

指定 WCAP Server 的加密格式管理员密码。 


注 –

db_config.properties 文件中配置通讯录个人存储参数

表 3–7 列出了 db_config.properties 文件中的默认通讯录个人存储配置参数。

该文件位于:uwc-deployed-path/WEB-INF/config/ldappstore/

表 3–7 个人通讯录个人存储参数

参数 

默认值 

描述 

defaultserver.ldaphost

 

指定个人通讯录 (Personal Address Book, PAB) 存储的 LDAP 主机。 

defaultserver.ldapport

 

指定存储的端口。 

defaultserver.ldapbinddn

 

指定用于绑定到个人通讯录存储的 DN。 

如果 login_type 设置为 restrictedproxy,则此值取决于 login_type 值。

如果登录类型为 anonymous,则不必为此参数输入值。

defaultserver.ldapbindcred

 

指定用于绑定到个人通讯录存储的 DN 的密码。 

login_type

restricted 

指定用于维护 LDAP 存储连接的方法。 

可以为此参数指定以下三个值: 

anon-让用户能以匿名用户身份连接到 LDAP。

restricted-让用户能以有权对通讯录存储执行操作的用户身份进行连接。

proxy-让用户能够伪装成可以对通讯录存储执行操作的用户。指定此值可提高性能,因为在执行每个操作时它不进行 LDAP 绑定。


注 –

建议在此处进行伪装的用户具有管理级别的访问控制列表 (Access Control List, ACL)。


defaultserver.ldappoolmin

指定为个人通讯录存储维护的 LDAP 客户端连接的最小数目。 

defaultserver.ldappoolmax

12 

指定为个人通讯录存储维护的 LDAP 客户端连接的最大数目。 

defaultserver.ldappooltimeout

10 

指定 LDAP 连接超时前的秒数。此值越大,获取的搜索结果就越多。 

lookthru_limit

1000 

指定搜索的搜索查询限制。 

delete_perm

true 

允许将联系人或组条目标记为删除或永久删除。 

如果将该参数设置为 false,则可将联系人或组标记为删除。

如果将该参数设置为 true,则可永久删除联系人和组。

allow_duplicate_entries

 

允许个人通讯录条目/组名称相同。 

db_config.properties 文件中配置公司目录参数

表 3–8 列出了 db_config.properties 文件中的默认公司目录参数。默认情况下,所有 LDAP 的相关信息都是基于涉及用户或组目录的值设置的。

db_config.properties 文件位于: WEB-INF/config/corp-dir/

表 3–8 公司目录参数

参数 

默认值 

描述 

defaultserver.ldaphost

 

指定公司目录的 LDAP 主机。 

defaultserver.ldapport

 

指定公司目录的端口。 

defaultserver.ldapbinddn

 

指定用于绑定到公司目录的 DN。 

如果登录类型为 restrictedproxy,则必须为 defaultserver.ldapbinddn 指定值。

如果登录类型为 anonymous,则不必为此参数输入值。

defaultserver.ldapbindcred

 

指定绑定密码。 

entry_id

uid 

指定公司目录中用于标识联系人或组条目的关键字。 

可以将 entry_id 设置为 UID 或用于提取联系人或组信息的关键字(如 empid 或主要用户 ID)。

xlate-inetorgperson.xml 文件中,将 <entry entryID= "db:uid"\> 中的 "uid" 替换为此处指定的 entry_id 值。

login_type

restricted 

指定用于维护 LDAP 存储连接的方法。 

可以为此参数指定以下三个值: 

anon-让用户能以匿名用户身份连接到 LDAP。

restricted-让用户能以有权对通讯录存储执行操作的用户身份进行连接。

proxy-让用户能够伪装成可以对通讯录存储执行操作的用户。指定此值可提高性能,因为在执行每个操作时它不进行 LDAP 绑定。

注:为伪装用户授予只读访问权限。 

defaultserver.ldappoolmin

指定为公司目录维护的最小 LDAP 客户端连接数。 

defaultserver.ldappoolmax

指定为公司目录维护的最大 LDAP 客户端连接数。 

defaultserver.ldappooltimeout

60 

指定 LDAP 连接超时前的秒数。此值越大,获取的搜索结果就越多。 

lookthru_limit

3000 

指定搜索的搜索查询限制。 

公司目录中维护以下两个格式为 xlate-objectclass-name.xmlxlate 文件。

xlate-objectclass-name.xml 中,objectclass-name 表示标识特定 LDAP 条目类型的对象类。例如,在 Sun Java Directory Server 中,xlate-inetorgperson.xml 是用于标识联系人的对象类,groupofuniquemembers 是用于标识组的对象类。

xlate 文件包含联系人或组的 LDAP Schema 和通讯录 XML Schema 之间的字段映射。映射是按照 XML 节点定义的。例如,

ab-xml-schema-keydb:LDAPField /ab-xml-schema-key

在此示例中:

需要为 LDAPField 提供适当的字段名称。为 LDAPField 指定的值应与公司目录 LDAP Schema 中现有的 LDAPField 值对应。

示例 3–1 是一个 xlate-inetorgperson.xml 文件示例。


示例 3–1 xlate-inetorgperson.xml 的默认内容


<abperson uid="db:uid">
  <entry entryID="db:uid">
    <displayname>db:cn</displayname>
    <description>db:multilineDescription</description>
    <creationdate>db:createtimestamp</creationdate>
    <lastmodifieddate>db:modifytimestamp</lastmodifieddate>
  </entry>
  <person>
    <givenname>db:givenname</givenname>
    <surname>db:sn</surname>
  </person>
  <organization>
    <company>db:company</company>
    <organizationalunit>db:ou</organizationalunit>
    <location>db:expr: db:iplanetbuildingnum+' '+db:iplanetbuildinglev+' '+db:roomNumber</location>
    <title>db:title</title>
    <manager>db:manager</manager>
    <secretary>db:secretary</secretary>
  </organization>
  <phone priority="1" type="work">db:telephoneNumber</phone>
  <phone priority="2" type="fax">db:facsimileTelephoneNumber</phone>
  <phone priority="3" type="mobile">db:mobile</phone>
  <phone priority="4" type="home">db:homePhone</phone>
  <phone priority="5" type="pager">db:pager</phone>
  <email priority="1" type="work">db:mail</email>
  <im priority="1" service="SunONE">db:uid</im>
  <im priority="2" service="AIM">db:aimscreenname</im>
  <im priority="3" service="ICQ">db:icqnumber</im>
  <postaladdress type="home">
    <street>db:homePostalAddress</street>
  </postaladdress>
  <postaladdress type="work">
    <street>db:postaladdress</street>
  </postaladdress>
  <weburl priority="1">
    <urladdr>db:labeleduri</urladdr>
    <description>URL</description>
  </weburl>
  <weburl priority="2">
    <urladdr>db:homepage</urladdr>
    <description>Home URL</description>
  </weburl>
  <calendar type="calendar">
    <urladdr>db:caluri</urladdr>
  </calendar>
</abperson>

配置安全套接口层

可以配置在其中以 SSL 模式部署 Communications Express 的 Web Server 或 Application Server。

有关如何配置在其中以 SSL 模式部署 Communications Express 的 Web Server 的信息,请参阅《Sun Java System Web Server 7.0 Administrator’s Configuration File Reference》

有关如何配置在其中以 SSL 模式部署 Communications Express 的 Application Server 的信息,请参阅《Sun Java Application Server Administration Guide》。

Procedure在 SSL 模式下使用 Communications Express

  1. uwc-deployed-path/WEB-INF/config/uwcauth.properties 文件中设置以下配置参数:

    • uwcauth.ssl.enabled=true。如果设置为 true,则在 SSL 模式下执行应用程序的整个验证过程和访问。

    • uwcauth.https.port=SSL-port-number-of -the webcontainer-in which-uwc-is-deployed

    • webmail.ssl.port=Messaging Server 的 SSL 端口

  2. local.webmail.sso.uwcsslport Messenger Express 参数值设置为在其中部署 Communications Express 的 Web Server 的 SSL 端口号。

    需要此参数来指示 Messenger Server 获取 Communications Express 集成服务。例如,如果设置了此参数,则出现 Web 邮件的超时事件时,将使用户转到 Communications Express 的登录页面。

    例如 local.webmail.sso.uwcsslport=在其中部署 Communications Express 的 Web Server 的 SSL 端口号

  3. 设置 Messaging Server 的 webmail.ssl.port 参数。

    将此参数设置为 Messaging Server 侦听的 SSL 端口。

Procedure将 Communications Express 配置为仅进行 SSL 验证

将 Communications Express 配置为仅进行 SSL 验证,这意味着可以通过 SSL 执行验证,但此后在非 SSL 模式下访问应用程序。

  1. uwcauth.properties 文件中,将 uwcauth.ssl.enabled 设置为 false

  2. uwcauth.https.port 设置为在其中部署 Communications Express 的 Web Server 的 SSL 端口号。

  3. uwcauth.ssl.authonly 设置为 true


    注 –

    uwcauth.properties 文件的 uwcauth.ssl.authonlyuwcauth.ssl.enabled 这两个参数是互斥的。


支持 Address Book Server 的水平可伸缩性

在早期版本的 Sun Java Communications Express 中,特定域的个人通讯录条目存储在由 db_config.properties 文件中定义的 defaultserver 实例表示的单个 LDAP 位置中。db_config.properties 文件位于域的 personalstore.properties 文件指向的目录中。例如 uwc-install/WEB-INF/config/ldappstore

此设置无法进行伸缩,因此不能支持每个个人通讯录中包含大量用户和联系人。为了消除此限制,在 Communications Express 6.3 中提供了 psRoot 属性,管理员可以使用该属性置备用户,以便可以将不同用户的 PAB 数据分布在不同的 LDAP 位置。

例如 ldap://mydir.com:389/piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb

图 3–1 高度概括了用于水平伸缩 Address Book Server 的体系结构。

以下是通讯录水平可伸缩性体系结构的主要组件:

个人存储维护用户的通讯录信息。它包含用户已经创建的所有通讯录的定义,以及这些通讯录中的所有条目。个人存储以 URL 表示,URL 说明了个人存储所在的目录实例,以及该特定目录实例中的 DN。

DB(DataBase,数据库)包含个人存储集合,如图 3–1 中所示。通讯录可以访问任意数量的 DB。每个 DB 都由定义该 DB 的连接参数的 DB-ID 定义。不同类型的 DB 指向不同的 DB 位置。

DBMap 是类型相同的 DB 的集合。每个 DBMap 都有一个引用该 DBMap 的配置信息的 ID。

图 3–1 通讯录的水平可伸缩性

通讯录水平伸缩情况说明示图

psRoot 是用户 LDAP 中的属性,它指定目录实例的主机、端口,以及用于存储用户通讯录条目的 DN。psRoot 的格式如下:ldap://ldap_host:ldap_port/DN

psRoot 属性值确定 DB 类型和 DB 位置。

在以下 psRoot 示例中:ldap://mydir.com:389/piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb

ldap:// 指明用户通讯录个人存储是通过 LDAPDB 插件进行访问的。

mydir.com:389 指定 LDAP 主机和端口。

piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb 指定个人存储的 DN。


注 –

Address Book Server 不提供任何实用程序来根据任何可伸缩性策略为用户分配 psRoot 值。管理员需要设置最适于组织的特定策略,并使用自定义脚本按该策略设置 psRoot 值。


可以使用域特定的 personalstore.properties 文件中的 db.UserPsRoot 参数开启或关闭 psRoot 属性。如果将该参数设置为 "false",则使用 db_config.properties 文件中的 defaultserver 参数。如果将该参数设置为 "true",则使用用户的 psRoot 值。必须为 psRoot 中使用的每个唯一的目录服务器实例提供db_config.properties 文件中配置通讯录个人存储参数中列出的个人存储参数。运行时,使用 db-key.ldaphostdb-key.ldapport(其中 db-key 是用于区分实例的任意字符串)对 psRoot 属性值进行解析,从而得到目录实例。如果找不到 db-key.ldaphostdb-key.ldapport 的匹配项,则使用 defaultserver 实例。

支持水平可伸缩性所需的其他配置

用户 LDAP 条目中的 psRoot 属性是 Address Book Server 支持的 URL,它定义在其中存储和检索用户个人通讯录条目的 LDAP 位置。psRoot 属性让管理员可以置备用户,以便可以将所有用户的 PAB 数据分布在多个目录位置。

对于现有的 Messenger Express 用户,如果启用了 PAB 迁移,则使用现有的 pabURI 属性构建 psRoot 属性,并在 uwc-deploy-dir/WEB-INF/config/migrate.properties 中定义一个映射表。

migrate.properties 文件中的查找表包含以下格式的 pabhostpabport 条目:

pabhost.pabport.abhostport = abldaphost:abldapport

其中,pabhost.pabport 指源目录实例,abldaphostabldaport 是应向其迁移 PAB 数据的目标目录实例。

例如,如果要将 PAB 数据从 pab.example.com:389 处运行的目录迁移到 abs.example.com:389 处运行的通讯录目录中,则 migrate.properties 中应存在以下项:

pab.example.com.389.abhostport = abs.example.com:389

migrate.properties 文件中可以有任意数量的查找。如果某个用户的 pabURI 属性使用 pabhostpabport,则使用默认 psRoot 模式构建的 psRoot 的格式如下:

ldap://abldaphost:abldapport/piPStoreOwner=%U,o=%D,o=PiServerDb

如果没有为 pabURI 值定义查找,也就是说,在映射表中未提供与 pabURI 匹配的条目,则使用 pabhostpabport 值作为 abldaphostabport 的默认值。这意味着,如果没有映射表,则 Messaging Server 中的 PAB 条目将按照通讯录模式迁移到同一目录实例中的其他根目录。在这种情况下,目标目录实例将与源目录实例相同。


注 –

修补程序的安装程序未定义查找表。您需要在安装修补程序后定义查找表,然后重新启动 Web 服务器。

请确保在该域的 personalstore.properties 指向的 db_config.properties 文件中定义了 abldaphost:abldapport 目录服务器实例。


自动设置 psRoot

新用户登录时,会为用户条目中的 psRoot 属性设置默认值。

对于新用户,将使用 personalstore.properties 文件中定义的 psRoot 模式以及 db_config.properties 文件中的 defaultserverhostdefaultserverPort 值来构建 psRoot 值。例如,使用默认的 psRoot 模式时,默认的 psRoot 值的格式如下:

ldap://default-server-host :default-server-port/piPStoreOwner=%U,o=%D,o=PiServerDb

其中:

%U 是用户的登录 ID。例如 jsmith

%D 是用户的域。例如 siroe.com

创建其他远程通讯录

可以配置 Communications Express 以添加多个远程通讯录。例如,可以有多个公司目录用于不同域中的用户。

Procedure添加远程通讯录

对于远程通讯录,personalstore.properties 文件中应存在对应的实例。personalstore.properties 文件中的 db.xxx.urlmatch 值应该与 defaultps.xml 文件中 bookremoteurl 属性值相同。

要添加新的远程通讯录,需要添加以下项:

  1. defaultps.xml 文件中添加新的通讯录节点。

    此文件包含用户首次登录时在 LDAP 存储中创建的个人和公司通讯录的默认定义,其中包含了个人通讯录和公司通讯录的定义。以下是 defaultps.xml 中包含多个远程通讯录定义的 XML 段示例:


    <book booktype="abook" bookremoteurl="ldap://corpdirectory/o=org1,o=isp";>
    	  <bookoc>piRemoteBook</bookoc>
        <entry entryID="corpdir1">
    			<displayname>_Corporate Directory 1</displayname>
    			<description>This is Corporate Directory 1</description>
    		</entry>
    </book>
    <book booktype="abook" bookremoteurl="ldap://corpdirectory/o=org2,o=isp";>
    	  <bookoc>piRemoteBook</bookoc>
        <entry entryID="corpdir2">
    			<displayname>_Corporate Directory 2</displayname>
    			<description>This is Corporate Directory 2</description>
    		</entry>
    </book>
    	
  2. personalstore.properties 文件中添加新实例。

    以下是针对两个远程通讯录配置的 personalstore.properties 文件中的条目样例。


    db.idir.class = com.iplanet.iabs.ldapplug.iLDAP
    db.idir.urlmatch = ldap://corpdirectory/o=org1,o=isp
    db.idir.configpath = ../config/corp-dir
    db.idir.wildcardsearch = 0
    db.idir.randompaging = false
    db.idir.corporatedir = true
    
    db.idir2.class = com.iplanet.iabs.ldapplug.iLDAP
    db.idir2.urlmatch = ldap://corpdirectory/o=org2,o=isp
    db.idir2.configpath = ../config/corp-dir
    db.idir2.wildcardsearch = 0
    db.idir2.randompaging = false
    db.idir2.corporatedir = true