Communication Express 在以下文件中维护配置参数:
uwcauth.properties 文件维护与验证、用户/组访问和单点登录有关的参数。uwcauth.properties 文件位于:uwc-deployed-path /WEB-INF/config/
uwcconfig.properties 文件维护与日历、邮件和通讯录有关的配置参数。uwcconfig.properties 文件位于:uwc-deployed-path/WEB-INF/config/
db_config.properties 文件用来定义通讯录存储配置详细信息。默认情况下,Communications Express 部署两种类型的 db_config.properties 文件。
个人通讯录存储。个人通讯录存储配置文件位于 uwc-deployed-path/WEB-INF/config/ldappstore/db_config.properties 下。
公司通讯录存储。公司通讯录存储配置文件位于 uwc-deployed-path/WEB-INF/config/corp-dir/db_config.properties 下。
所有配置文件均为 ASCII 文本文件,其中每行均按以下格式定义参数及其相关值:
parameter =value
在配置 Communications Express 时,会初始化这些参数。安装后,可以使用文本编辑器编辑该文件。
以具有修改权限的用户身份登录。
转到 .properties 文件所在的目录。
使用文本编辑器编辑这些参数。
以下为参数约定:
重新启动 Web Server 或 App Server 以使新的配置值生效。
您可以按下表所述修改日历、邮件和通讯录配置参数。
在 uwcconfig.properties 文件中配置 Messenger Express 参数
参数 |
默认值 |
描述 |
---|---|---|
指定是否部署 Messenger Express。在运行配置向导时,将设置此参数。如果部署了 Messenger Express,则将此属性设置为 "true"。 |
||
指定部署了 Messenger Express 的计算机的主机名。Messenger Express 主机名应该与部署了 Web Server 的计算机名相对应。 |
||
webmail.port |
指定 Messenger Express HTTP Server 所侦听的端口号。 |
如果验证 LDAP 服务器与用户/组 LDAP 不同,您可以编辑表 3-2 中提到的参数。
表 3–2 LDAP 验证过滤器参数
参数 |
默认值 |
描述 |
---|---|---|
ldapauth.ldaphost |
指定 LDAP 主机值。通常,ldapauth.ldaphost 值与 ldapusersession 值相同。如果需要,可以将其设置为其他值。 |
|
ldapauth.ldapport |
指定 ldap 端口号。 |
|
ldapauth.dcroot |
指定验证树的 DC 根。 |
|
ldapauth.domainattr |
inetDomainBaseDN, inetDomainStatus, inetDomainSearch Filter, domainUidSeparator, preferredLanguage |
指定要从验证用户所在的域条目中检索的属性列表。 |
ldapauth.domainfilter |
(|(objectclass= inetDomain) (objectclass= inetDomainAlias)) |
指定检索域条目所基于的过滤器。 |
ldapauth.ldapbinddn |
指定绑定到验证 LDAP 的用户的用户 DN。 |
|
ldapauth.ldapbindcred |
指定绑定到验证 PAB 的用户的密码。 |
|
ldapauth.enablessl |
false |
指定要执行验证的目录是否处于 SSL 模式。 将默认值更改为 "true" 可建立安全的 LDAP 连接。 |
表 3–3 LDAP 用户组参数
参数 |
默认值 |
描述 |
---|---|---|
ldapusersession.ldaphost |
指定用户组 Directory Server 的主机名。 |
|
ldapusersession.ldapport |
指定用户/组 Directory Server 的端口号。 |
|
ldapusersession.ldapbinddn |
指定绑定到用户/组 Directory Server 的管理员的用户 DN。 |
|
ldapusersession.ldapbindcred |
指定绑定到用户树的管理员的密码。 |
|
ldapusersession.dcroot |
在用户/组 LDAP 中指定域组件 (Domain Component, DC) 树,该域组件树用于解析 Sun Java System LDAP Schema v.1 中的用户条目。 |
参数 |
默认值 |
描述 |
---|---|---|
uwcauth.identity.enabled |
指定是否启用 Identity Sever。如果使用 Access Manager 的单点登录机制进行验证,则将该属性设置为 "true"。 |
|
uwcauth.identity.naming.url |
指定 Access Manager 的命名 URL。例如,uwcauth.identity.naming. url= protocol://hostname:port Context URI |
|
uwcauth.identity.binddn |
指定 amAdmin 用户的完整标识名 (Distinguished Name, DN)。 例如, uid=amadmin, ou=People, o=siroe.com |
|
uwcauth.identity.bindcred |
指定 amAdmin 密码。 |
如果将 uwcauth.identity.enabled 值设置为 "true",则必须配置 uwcauth.identity.naming.url、uwcauth.identity.binddn、uwcauth.identity.bindcred。
参数 |
默认值 |
描述 |
---|---|---|
ldapusersession.defaultugfilter |
uid@domain |
指定在检索用户条目时使用的默认过滤器语法。 |
ldapusersession.ldappoolmin |
30 |
指定要为用户/组 LDAP 创建的 LDAP 用户连接的最小数目。 |
ldapusersession.ldappoolmax |
100 |
指定要为用户/组 LDAP 创建的 LDAP 用户连接的最大数目。根据部署要求输入最佳值。 |
ldapusersession.lookthru_limit |
1000 |
指定搜索的搜索查询限制。 |
确保已在 Sun Java™ System Calendar Server 中启用了代理验证和匿名访问。
要启用代理验证和匿名访问,请在日历配置文件 ics.config 中配置以下 Calendar Server 参数:
service.http.allowadminproxy = "yes"
service.http.admins = includes-the-value-specified-for- calendar.wcap.adminid-in-uwcconfig.properties
service.admin.calmaster.userid = the-value-specified-for-calendar.wcap.adminid-in-uwcconfig.properties
service.admin.calmaster.cred = the-value-specified-for-calendar.wcap.passwd-in-uwcconfig.properties
service.wcap.anonymous.allowpubliccalendarwrite = "yes"
service.http.allowanonymouslogin = "yes"
service.calendarsearch.ldap = "no"
有关启用代理验证的更多信息以及配置 Calendar Server 参数的说明,请参阅 Sun Java System Calendar Server 管理指南。
参数 |
默认值 |
描述 |
---|---|---|
true |
指定是否部署日历模块。在运行配置向导时,将设置此参数。如果部署了日历,则将此属性设置为 "true"。 |
|
指定 WCAP 服务器的主机名。 |
||
指定 WCAP 所侦听的端口号。 |
||
calendar.wcap.adminid |
指定 WCAP 服务器的管理员 ID。 |
|
指定 WCAP 服务器的管理员密码。 |
确保指定给 calendar.wcap.adminid 的日历管理员用户 ID 值与在 Calendar Server 的 ics.conf 文件中提到的 service.admin.calmaster.userid 值相同。
确保 LDAP 服务器上存在日历管理员用户 ID 的相应用户条目。
表 3-7 列出了 db_config.properties 文件中的默认通讯录个人存储配置参数。
可以从以下位置访问该文件:
uwc-deployed-path/WEB-INF/config/ldappstore/
表 3–7 个人通讯录个人存储参数
参数 |
默认值 |
描述 |
---|---|---|
指定个人通讯录 (Personal Address Book, PAB) 存储的 LDAP 主机。 |
||
指定存储的端口。 |
||
指定用于绑定到个人通讯录存储的 DN。 如果登录类型为 "restricted" 或 "proxy",则必须输入此值。 如果登录类型为 "anonymous",则不必为此参数输入值。 |
||
指定用于绑定到个人通讯录存储的 DN 的密码。 |
||
restricted |
指定用于维护 LDAP 存储连接的方法。 可以为此参数指定以下三个值: anon—作为匿名用户连接到 LDAP。 restricted—作为有权在通讯录存储上执行操作的用户进行连接。 proxy—作为有权对通讯录存储执行操作的用户进行伪装。指定此值可提高性能,因为在执行每个操作时它不进行 LDAP 绑定。 注:建议此处进行伪装的用户具有管理员级别的 ACL。 |
|
4 |
指定为个人通讯录存储维护的 LDAP 客户端连接的最小数目。 |
|
12 |
指定为个人通讯录存储维护的 LDAP 客户端连接的最大数目。 |
|
10 |
指定 LDAP 连接超时前的秒数。增大此值可获取较多的搜索结果。 |
|
1000 |
指定搜索的搜索查询限制。 |
|
delete_perm |
true |
允许将联系人/组条目标记为删除或永久删除。 将该参数设置为 false 可将联系人/组标记为删除。 将该参数设置为 true 可永久删除联系人和组。 |
表 3-8 列出了 db_config.properties 文件中的默认公司目录参数。默认情况下,所有 LDAP 的相关信息都是基于涉及用户/组目录的值设置的。
可以从以下位置访问 db_config.properties 文件:
WEB-INF/config/corp-dir/
表 3–8 公司目录参数
参数 |
默认值 |
描述 |
---|---|---|
指定公司目录的 LDAP 主机。 |
||
指定公司目录的端口。 |
||
指定用于绑定到公司目录的 DN。 如果登录类型为 "restricted" 或 "proxy",则必须为 defaultserver.ldapbinddn 指定值。 如果登录类型为 "anonymous",则不必为此参数输入值。 |
||
指定绑定密码。 |
||
uid |
指定公司目录中用于标识联系人/组条目的键。 可以将 entry_id 设置为 UID 或用于提取联系人/组信息(如 empid 或主要用户 ID)的键。 在 xlate-inetorgperson.xml 文件中,将 <entry entryID= "db:uid"\> 中的 "uid" 替换为此处指定的 entry_id 值。 |
|
restricted |
指定用于维护 LDAP 存储连接的方法。 可以为此参数指定以下三个值: anon—作为匿名用户连接到 LDAP。 restricted—作为有权在通讯录存储上执行操作的用户进行连接。 proxy—作为有权对通讯录存储执行操作的用户进行伪装。指定此值可提高性能,因为在执行每个操作时它不进行 LDAP 绑定。 注:为伪装用户授予只读访问权限。 |
|
1 |
指定为公司目录维护的 LDAP 客户端连接的最小数目。 |
|
4 |
指定为公司目录维护的 LDAP 客户端连接的最大数目。 |
|
10 |
指定 LDAP 连接超时前的秒数。增大此值可获取较多的搜索结果。 |
|
1000 |
指定搜索的搜索查询限制。 |
公司目录维护两个 xlate 文件,其格式为 xlate-objectclass-name.xml。
xlate-inetorgperson.xml 用于联系人
xlate-groupofuniquemembers.xml 用于组
在 xlate-objectclass-name.xml 中,objectclass-name 表示标识特定 LDAP 条目类型的对象类。例如,在 Sun Java System Directory Server 中,xlate-inetorgperson.xml 是用来标识联系人的对象类,groupofuniquemembers 是用来标识组的对象类。
xlate 文件包含联系人或组的 LDAP Schema 和通讯录 XML Schema 之间的字段映射。映射是按照 XML 节点定义的。例如,
ab-xml-schema-keydb:LDAPField/ab-xml-schema-key
其中,
ab-xml-schema-field 为通讯录在代码中使用的值。
LDAPField 为 LDAP 中的相应字段名称。
您需要为 LDAPField 提供适当的字段名称。为 LDAPField 指定的值应与公司目录 LDAP Schema 中现有的 LDAPField 值对应。
代码示例 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\> <building\>db:buildingnum</building\> <floor\>db:iplanetbuildinglev</floor\> <office\>db:roomNumber</office\> </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。有关如何配置 Web Server(在其中以 SSL 模式部署了 Communications Express)的信息,请参阅 Sun ONE Web Server Administrator’s Configuration File Reference。
在 uwc-deployed-path/WEB-INF/config/uwcauth.properties 中编辑以下配置参数:
需要将 local.webmail.sso.uwcport Messenger Express 参数值设置为部署 Communications Express 的 Web Server 的 SSL 端口号。
例如,
local.webmail.sso.uwcport=部署 Communications Express 所在的 Web Server 的 SSL 端口号
在 uwcauth.properties 文件中,将 uwcauth.ssl.enabled 设置为 "false"。
将 uwcauth.https.port 设置为部署 Communications Express 的 Web Server 的 SSL 端口号。
将 uwcauth.ssl.authonly 设置为 "true"。
uwcauth.ssl.authonly 和 uwcauth.ssl.enabled 是两个互斥的参数。
在 SSL 中不支持消息传送 SSO。
在 Sun Java System Communications Express 的上一发行版中,特定域的个人通讯录条目存储在由 defaultserver 实例(在 db_config.properties 文件中定义)表示的单个 LDAP 位置中。db_config.properties 文件位于域的 personalstore.properties 所指向的目录中。例如 uwc-install/WEB-INF/config/ldappstore。
此部署无法进行伸缩,以支持在每个个人通讯录中包含大量的用户和联系人。为克服此限制,Sun Java System Communications Express 6.2 中的 psRoot 属性可以允许管理员置备用户,从而将不同用户的 PAB 数据分布在不同的 LDAP 位置中。
例如 ldap://mydir.com:389/piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb
图 3-1 高度概括了用于水平伸缩 Addressbook Server 的体系结构。
通讯录水平可伸缩性体系结构的主要组件有:
个人存储
DB
DBMap
个人存储维护用户的通讯录信息。它包含用户已经创建的所有通讯录的定义,以及这些通讯录中的所有条目。个人存储以 URL 表示,URL 说明了个人存储所在的目录实例,以及该特定目录实例中的 DN。
DB 包含个人存储的集合(如图 3-1 所示),Address Book Server 可以访问任意数目的 DB。 每个 DB 都由定义该 DB 的连接参数的 DB-ID 定义。DB 可以具有不同类型,并可以指向不同的 DB 位置。
DBMap 是类型相同的 DB 的集合。每个 DBMap 都有一个引用该 DBMap 的配置信息的 ID。
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:// 指示使用 LDAP DB 插件访问用户的通讯录个人存储。
mydir.com:389 指定 LDAP 主机和端口。
piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb 指定个人存储的 DN。
Addressbook Server 没有提供任何用于为用户分发 psRoot 值(根据任何可伸缩性策略)的实用程序。管理员需要设置最适合于组织的特定策略,并使用自定义脚本为该策略设置 psRoot 值。
可以使用 db.UserPsRoot 参数打开或关闭 psRoot 属性,该参数位于特定于域的 personalstore.properties 文件中。将该参数设置为 "false" 可以使用 db_config.properties 文件中的 defaultserver 参数。将该参数设置为 "ture" 可以使用用户的 psRoot 值。必须为 psRoot 中使用的每个唯一的 Directory Server 实例提供在 db_config.properties 文件中配置通讯录个人存储参数中列出的个人存储参数。 运行时,系统使用 db-key.ldaphost 和 db-key.ldapport(其中 db-key 为将实例相互区分开的任意字符串)将 psRoot 属性值解析为目录实例。如果找不到 db-key.ldaphost 和 db-key.ldapport 的匹配项,则使用 defaultserver 实例。
新用户登录时,将为该用户条目中的 psRoot 属性设置默认值。
对于新用户,将使用 personalstore.properties 文件中定义的 psRoot 模式以及 db_config.properties 文件中的 defaultserverhost 和 defaultserverPort 值来构建 psRoot 值。例如,使用默认的 psRoot 模式时,默认的 psRoot 值的格式为:
ldap://defaultserver_host:defaultserver_port/piPStoreOwner=%U,o=%D,o=PiServerDb
其中
%U = 用户的登录 ID,例如 jsmith。
%D = 用户的域,例如 siroe.com。