第 8 章
将 PAB 数据移植到通讯录服务器
以前在 Sun ONE Messaging Server 中,个人通讯录 (PAB) 用于存储用户的联系人,而且只有部署在 Sun ONE Messaging Server 上基于 Web 的客户端才可以访问 PAB。为使其他模块(如日历等)访问用户的通讯录,Sun Java System Messaging Server for Communications Express 使用通讯录服务器而不是 PAB 来存储用户的联系人详细信息。为此,使用现有 Sun ONE Messaging Server 安装访问 Communications Express 的用户必须将 PAB 数据移植到通讯录服务器。
本章包含以下各节:
移植过程
可以使用通讯录移植工具,将不同目录中的 PAB 数据移植到通讯录服务器。移植工具是一个单独的可执行程序,可将用户的 Messenger Express 通讯录数据移植到通讯录服务器(Communications Express 的一个组件)。
|
注
|
Sun Java System Messenger Express 用于保存 PAB 数据的 Directory server 与通讯录在 Communications Express 中使用的 Directory server 不同。当用户第一次登录时,移植实用程序将 PAB 中的所有数据移植到通讯录中。但是,在将数据移植到通讯录后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 通讯录中。反之亦然。
|
|
图 8-1 数据移植过程概述
可以通过两种方式进行数据移植:
批量移植
在批量移植过程中,移植是在服务器级别进行的,并且没有最终用户的交互。管理员运行 runMigrate.sh 批处理脚本来移植给定域中的邮件用户 PAB 数据。对于多个域中的邮件用户,管理员必须为每个域调用 runMigrate.sh 脚本,以将用户 PAB 数据从给定 inetDomainBaseDN 移植到通讯录服务器。
在运行 runMigrate.sh 脚本前,管理员应该在 runMigrate.sh 中提供 MigratePab 实用程序所需的以下命令行参数:
- migrate.properties 文件的绝对路径。将默认路径设置为:../WEB-INF/config/migrate.properties
- uwcauth.properties 和其他 config 文件所在 config 目录的绝对路径。将默认路径设置为:../WEBINF/config
- 用户的 inetDomainBaseDN
动态移植
在动态移植过程中,用户第一次登录到 Communications Express 时启动数据移植。要进行动态移植,在配置 Communications Express 时,管理员必须启用动态移植。
移植过程取决于:
进行数据移植的时机:
在安装 Communications Express 后,由管理员执行的预备步骤为:
- 配置 Communications Express 以启用动态移植。
|
注
|
如果在 uwcauth.properties 文件中没有启用动态移植,则不会将 PAB 数据移植到通讯录服务器。
|
|
- 使用 PAB 服务器详细信息来配置通讯录服务器。例如,您需要配置要将数据移植到的主机名、端口号、绑定 DN、绑定 DN 证书、PAB 主机路径和主机计算机名。
基于用户的邮件主机,检索在表 8-1 中列出的 PAB 配置条目,并建立与 PAB 服务器的连接。
表 8-1 联系人的字段映射
PAB
|
通讯录
|
cn
|
DisplayName
|
sn
|
sn
|
givenName
|
givenName
|
telephonenumber
|
piPhone1Type:work
piPhone1:
|
homephone
|
piPhone2Type:home
piPhone2;
|
pager
|
piPhone4Type:pager
piPhone4:
|
mobile
|
piPhone3Type:mobile
piPhone3:
|
facsimiletelephonenumber
|
piPhone5Type:fax
piPhone5:
|
mail
|
piEmail2Type:home
piEmail1:
|
mailalternateaddress
|
piEmail2Type:work
piEmail2:
|
postoffice+street
|
homePostalAddress
|
l
|
homecity
|
st
|
homeState
|
postalcode
|
homePostalCode
|
co
|
homeCountry
|
labeleduri
|
piWebsite1
|
description
|
description
|
memberofpab
|
memberOfPIBook
|
memberofpabgroup
|
memberOfOIGroup
|
表 8-2 组的字段映射
PAB
|
通讯录
|
cn
|
displayName
|
description
|
description
|
动态移植过程
当用户登录到 Communications Express 时,就会进行动态移植。
- 应用程序检查在 uwcuath.properties 文件中是否已启用移植,然后继续执行移植过程。
- 然后,登录逻辑对 nswmextendedprefs 属性和 mepabmigration 值进行比较,确定先前是否已移植了用户数据。
如果是第一次移植数据,将通过传递用户的用户 ID、域和用户 DN 来启动移植线程。
表 8-4 中列出了与 PAB 移植相关的配置参数
表 8-3 migrate.properties 中可为 PAB 移植配置的参数
参数
|
默认值
|
描述
|
hostname.pabldappoolmin
|
4
|
指定要为 PAB LDAP 创建的 LDAP 用户连接的最小数目。
|
hostname.pabldappoolmax
|
20
|
指定要为 PAB LDAP 创建的 LDAP 用户连接的最大数目。
|
hostname.pabldappooltimeout
|
50
|
指定 LDAP 连接超时前的秒数。
|
hostname.alwaysusedefaulthost
|
1
|
指定是使用 PAB URI 中提到的用户 PAB 主机,还是使用保存的列表中的第一个全限定 PAB 主机名。
如果设置为 1,则使用第一个全限定 PAB 主机来检索 PAB 条目。
|
delete_pabentry
|
0
|
在成功移植后,就可以删除 PAB 条目和 PABURI 了。
|
maxthreads
|
10
|
指定移植线程的数目。
|
mailhost.pabhosts
|
将邮件主机名分配给 PAB 条目所在 PAB 主机的列表。
|
指定 PAB 主机列表。
|
mailhost.pabports
|
|
指定 PAB 主机的端口号。
|
mailhost.pabbinddns
|
|
指定 PAB 的绑定 DN。
|
mailhost.pabpasswds
|
|
指定绑定到 PAB 的用户的口令。
|
- 在 PAB 移植完成后,通讯录服务器在相应用户条目中将 nswmextendedprefs、mepabmigration 设置为“1”以表示移植过程完成。
- 在将 PAB 数据成功移植到通讯录服务器后,用户就会收到一封邮件。
要接收邮件,您必须定义表 8-4 中提到的参数。
表 8-4 PAB 移植电子邮件参数
参数
|
默认值
|
描述
|
emailReqd
|
True
|
在成功移植 PAB 数据后,允许发送一封邮件。
可接受的值为“True”和“False”。
|
smtphost
|
本地邮件主机
例如:budgie.siroe.com
|
指定 SMTP 中继主机名。
|
smtpport
|
25
|
指定 SMTP 中继端口。
|
mailsubject
|
PAB 移植状态
|
指定邮件的主题。
|
from
|
admin@hostname
|
指定发件人的名字。
|
|
提示
|
建议管理员为所有用户发送一封电子邮件,通知他们在第一次登录过程中将触发 PAB 数据移植,因此,他们在初始会话期间看不到通讯录数据。如果用户在两到三天后还看不见其数据,他们应该与管理员取得联系。
|
|
移植线程
在移植过程中,移植线程确认用户是否为邮件用户,然后在 uwcconfig.properties 文件中为邮件用户查找 PAB 数据详细信息。uwcconfig.properties 文件包含默认 PAB 主机名或多个 PAB 主机名(如果用户在多个域上存在)。基于这些条目,通讯录确定应将数据移植到的相应 PAB 主机,并建立连接。
示例
如果域 siroe.com 中的 User1 在 PAB 中有一个需要移植的条目(如 Entry1),该条目位于 PAB 树中 ou=User1 下面,如图 8-2 中所示(绿色)。
图 8-2 Entry1 在 PAB 树中的位置
在移植后,将新创建的通讯录服务器条目添加到通讯录服务器树中 o=siroe.com, cn=Entry 1 下面,如图 8-3 中所示(红色)。
图 8-3 Entry 1 在通讯录服务器树中的位置
将称为 migrate.properties 的新配置文件添加到通讯录服务器中,该文件包含以下详细信息:
- PAB Directory server 的服务器名、端口号、基本 DN、绑定 DN、绑定 DN 口令。可能有一个或多个可以存储 PAB 的 Directory server。如果有多个 Directory server ,则必须将其中一个服务器作为默认服务器。
- 存储通讯录服务器的个人存储数据的 Directory server 的服务器名、端口号、基本 DN、绑定 DN、绑定 DN 口令。
要移植数据,移植工具需要了解是否满足以下条件:
- 必须使用 PABURI 属性来确定存储每个用户的 PAB 所在的 Directory server,或者
- 应该考虑从 Directory server 列表中选择默认 Directory server。
移植方案
可以从以下位置来执行移植:
- 指向默认单个 PAB 主机的单个 Messenger Express 实例。
- 指向多个 PAB 主机的单个 Messenger Express 实例。
- 指向多个 PAB 主机并设置默认 PAB 主机的单个 Messenger Express 实例。
- 指向单个 PAB 主机的多个 Messenger Express 实例。
- 指向多个 PAB 主机的多个 Messenger Express 实例。