Sun Java System Calendar Server 管理指南 |
第 2 章
配置 LDAP 目录安装 Calendar Server 之后,必须在运行之前配置 Calendar Server。请注意,必须按照以下顺序运行这两个配置程序:
- comm_dssetup.pl — 按照本章中的介绍配置 Sun Java System Directory Server LDAP 目录。
- csconfigurator.sh — 按照第 3 章“配置 Calendar Server”中的介绍配置 Calendar Server。
本章介绍了 comm_dssetup.pl,并包括以下主题:
注
如果已安装了早期版本的 Calendar Server 或 Messaging Server,则可能需要将 LDAP 目录条目从模式 1 移植到模式 2。
在阅读 Sun Java System Communications Services 6 2004Q2 Schema Migration Guide 之前,请勿运行本章所介绍的配置实用程序。移植指南将介绍运行配置实用程序的时间选择和选项。可访问以下地址来获得该移植指南:
http://docs.sun.com/coll/CalendarServer_04q2 和
http://docs.sun.com/coll/CalendarServer_04q2_zh
更新 LDAP 目录更新 LDAP 目录的方法取决于以下几个关键因素:
有关 Calendar Server 6 2004Q2 支持的 LDAP 目录服务器的列表,请参阅位于以下 Web 站点的《Calendar Server 6 2004Q2 发行说明》:
http://docs.sun.com/coll/CalendarServer_04q2 和
http://docs.sun.com/coll/CalendarServer_04q2_zh如果您的用户已被存储在非 Sun LDAP 目录中,则部署 Calendar Server 的最简单的解决方案就是将您的目录服务器升级到 Sun Java System Directory Server。
有关安装和配置 Directory Server 的信息,请访问:
http://docs.sun.com/coll/DirectoryServer_04q2 和
http://docs.sun.com/coll/DirectoryServer_04q2_zh您已安装 Sun Java System Directory Server
如果您正在使用 Sun Java System Directory Server 作为 LDAP 目录,则在安装 Calendar Server 6 2004Q2 或 Messaging Server 6 2004Q2 之后,在每个正在运行 Directory Server 的服务器上各运行一次 comm_dssetup.pl。
如果以后添加了其他 LDAP 服务器(例如 LDAP 服务器副本),则需要对新安装的服务器运行 comm_dssetup.pl。
请在运行配置程序前运行 comm_dsstup.pl。
有关说明,请参阅使用 comm_dsetup.pl 进行更新。
注
如果在运行 comm_dssetup.pl 之前已经自定义了 Directory Server,则请阅读您已自定义了 Directory Server以了解运行 comm_dssetup.pl 可能对自定义产生的影响。
您已自定义了 Directory Server
在运行 comm_dssetup.pl 之前,应首先解决以下几个问题:
- 如果已通过创建某些属性的索引自定义了您的 Directory Server,您可能要在运行 comm_dssetup.pl 后重新添加这些索引。
- 如果您已添加了其他 .ldif 模式定义,这些定义不会受到影响,因此无需采取任何措施。但是在通常情况下,为了谨慎起见,请在运行 comm_dssetup.pl 前备份自定义模式的定义文件。
- 对于所有的自定义项目,包括刚才列出的前两个项目,您都需要在 comm_dssetup.pl 生成脚本之后、实际更新 LDAP 目录之前停止 comm_dssetup.pl。然后,检查该脚本以衡量脚本所建议的措施将会如何影响 LDAP 目录。请在对 LDAP 运行该脚本前,采取您认为必要的任何措施来保护您的自定义。
您没有使用 Sun 产品作为您的目录服务器
如果您没有使用 Sun 产品作为目录服务器,则可以使用由 comm_dssetup.pl 生成的脚本(不需要实际运行该脚本)来了解需要对您的非 Sun LDAP 目录进行哪些更新。请参阅下面有关运行 comm_dssetup.pl 的说明。
使用 comm_dsetup.pl 进行更新Directory Server 设置 Perl 脚本 (comm_dssetup.pl) 可以配置用于 Calendar Server 6 和 Messaging Server 6 的 Directory Server。comm_dssetup.pl 脚本是通过设置新的 LDAP 模式、索引和配置数据来准备 Directory Server。
本节包括以下内容:
comm_dssetup.pl 的功能
comm_dssetup.pl 实用程序执行如下三个步骤:
- 收集您对实用程序选项所做的选择。
有关这一步骤所要求的特定信息的列表,请参阅收集运行 comm_dssetup.pl 所需的信息。
- 根据您所选择的选项生成用于修改 LDAP 目录的 shell 脚本和 LDIF 文件。如果您没有使用 Sun 产品作为目录服务器,或已经自定义了 Directory Server,则请在此停止操作而不运行 shell 脚本,然后按照以下各节的指导进行操作:您已自定义了 Directory Server或您没有使用 Sun 产品作为您的目录服务器。
- 运行根据您所选择的选项而创建的 shell 脚本。将对您的 LDAP 进行相应修改。
在结束每个步骤前,实用程序会询问您是否要继续。在执行第三步之前,不会对 LDAP 目录进行任何更改。
运行 comm_dssetup.pl 的要求
运行 comm_dssetup.pl 的要求包括:
收集运行 comm_dssetup.pl 所需的信息
在 comm_dssetup.pl 的第一步中,必须提供以下信息。(为了帮助您记录这些信息,请使用附录 A“目录配置工作表单”。)
- Directory Server 的根目录路径名是什么?默认值为 /var/mps/serverroot。
- 如果您有多个 Directory Server 实例,那么您希望将哪一个实例用于 Calendar Server 6 2004Q2?
- Directory Manager 的独特的名称 (DN) 和密码是什么?默认 DN 为“cn=Directory Manager”。
- 要将 Directory Server 用于用户和组吗?即,是希望使用 Directory Server 来存储配置数据和用户数据 (yes) 还是仅存储配置数据 (no)?默认值为存储两者 (yes)。
- 如果将 Directory Server 用于用户和组,用户和组的根后缀是什么?默认值为 o=usergroup。
- 希望使用哪个版本的模式?
有关详细信息,请参阅确定要使用的模式。请注意,如果您已安装了某个版本的模式,并要升级到更高级别的模式,请在运行此实用程序之前参阅 Sun Java System Communications Services Schema Migration Guide。
确定要使用的模式
Calendar Server 支持本机模式或兼容模式下的 Sun LDAP 模式 1 和 Sun LDAP 模式 2。
如果您仍然无法决定使用哪个模式,则请参阅 Sun Java Enterprise System Technical Overview 和《Sun Java Enterprise System 安装指南》中的资料以及 Sun Java System Communications Services Schema Migration Guide。
表 2-1 列出一些简化了的原则,总结了如何为您的安装选择适当的 LDAP 模式。
如果您选择了模式 1,则请使用 Calendar Server 实用程序(例如 csuser、csdomain 和 csresource)进行置备和管理,如本文档中所述。
如果您选择了模式 2,则请使用与本产品捆绑的用户管理实用程序进行置备和管理。有关用户管理实用程序的信息,请参阅 Sun Java System Communications Services 6 2004Q2 User Management Utility Administration Guide。
但上述规则也有一些例外。旧的模式 1 日历实用程序可以用于特定功能,例如创建用户日历和资源日历,甚至在某些情况下,这些功能必须使用旧的模式 1 日历实用程序来执行。(如果自动置备功能已打开,则仅适用于用户日历。您必须使用 csresource 来专门创建所有资源日历。)
运行 comm_dssetup.pl
comm_dssetup.pl 脚本与将添加到 Directory Server 中的模式文件一起被压缩。该压缩文件的文件名为 dssetup.zip,位于以下目录中:
/opt/SUNWics5/cal/install/
如果您无法找到 dssetup.zip 文件,则您自己可以构建一个这样的文件,方法是:将 comm_desetup.pl 文件 (/opt/SUNWics5/cal/sbin/) 和 schema 目录 (/opt/SUNWics5/cal/sbin/schema) 中的内容压缩到名为 dssetup.zip 的文件中。
运行 comm_dssetup.pl:
静音模式
要以静音模式运行 comm_dssetup.pl,请使用以下语法。
perl comm_dssetup.pl
-i yes|no
-R yes|no
-c Directory Server 根目录
-d 目录实例
-r DC 树后缀
-u 用户组后缀
-s yes|no
-D "目录管理员 DN"
-w 目录管理员口令
-b yes|no -t 1|1.5|2
-m yes|no
[ -S 模式文件的路径 ]
表 2-2 列出用于在静音模式下运行 comm_dssetup.pl 的选项。所有这些变量都是必需的。该表列出了这些选项,并对每个选项进行了说明。
示例
perl comm_dssetup.pl -i yes -c /var/mps/serverroot -d slapd-ketu -r o=internet -u o=usergroup" -s yes -D "cn=Directory Manager" -w 口令 -b yes -t 1 -m yes -R yes
以静音模式运行时,comm_dssetup.pl 先显示类似于交互模式的步骤设置摘要中的摘要,然后再对 Directory Server 进行实际更改。
交互模式
要以交互模式运行,请运行不带任何变量的 comm_dssetup.pl 脚本,然后按照提示输入选择。
- 欢迎信息和简介
按 Enter 键继续;或者键入 no,然后按 Enter 键退出。
- Directory Server 的安装根目录
指定 Directory Server 安装根目录的位置。
- Directory Server 实例
如果服务器上有多个 Directory Server 实例,请选择一个要针对 Calendar Server 进行配置的实例。
- 目录管理员的独特的名称 (DN)
目录管理员 DN (cn=Directory Manager) 是指负责管理组织树中的用户和组数据的管理员。请确保您在此脚本中指定的 Directory Manager DN 与您为 Directory Server 安装和 Calendar Server 配置设置的 DN 相同。
- 用户和组的目录服务器
如果回答 Yes,则必须为组织树指定用户和组的基本后缀。
如果回答 No,则假设此目录实例仅用于存储配置数据,并跳到步骤 9。对配置目录实例运行完此脚本后,您需要先对用于存储用户和组数据的目录实例运行此脚本,然后再针对 Calendar Server 运行配置程序。
- 用户和组的基本后缀
用户和组的基本后缀是组织树中的顶层条目,它包含用于用户和组条目的命名空间。请确保您选择的用户和组的基本后缀与您为 Directory Server 和 Calendar Server 指定的后缀相同。
如果安装了 Identity Server,请确保在 Identity Server 安装中指定的后缀与您为此问题指定的后缀相同。如果您不使用同一后缀,Calendar Server 将不识别您的 Identity Server 安装。
- 模式类型
有 3 种可能的模式类型:
1 — 模式 1,用于带有 iMS 5.x 数据的系统
1.5 — 模式 2 兼容模式,用于包含已使用 commdirmig 转换的 iMS 5.x 数据的系统
2 — 模式 2 本机,用于使用 Identity Server 的系统
请输入模式类型(1、1.5、2)[1]:
选择您要使用的模式的版本:
- 域组件 (DC) 树的基本后缀
在步骤 7 中,如果您选择了选项 1 或 1.5,系统将要求您提供 DC 树的基本后缀。如果您选择了选项 2,系统将不会询问此问题。
DC 树镜像本地 DNS 结构,系统将其用作包含用户和组数据条目的组织树的索引。DC 树的基本后缀是 DC 树中顶层条目的名称。您可以选择默认值 (o=internet),也可以选择其他名称。
- 更新模式文件
如果回答 Yes,则 comm_dssetup.pl 将新元素添加到模式中。每次安装新版的 Calendar Server 或 Messaging Server 时,请使用新的模式文件更新该目录。
- 配置新索引
如果您在步骤 5 中回答 Yes,系统将询问您是否要配置新索引(这样可以提高目录搜索的性能)。
仅当该索引不存在时,comm_dssetup.pl 为要创建索引的每个属性调用 db2index。
对于 Calendar Server,comm_dssetup.pl 将为 icsCalendar 和 icsCalendarOwned 属性添加索引。这将提高搜索算法的性能,因此请回答 Yes。
表 2-3 按后缀类别列出了由 comm_dssetup.pl 创建索引的各个属性组,同时还列出了为每个属性创建的索引类型。有关 Directory Server 创建索引的详细信息,请参阅:
http://docs.sun.com/coll/DirectoryServer_04q2 和
http://docs.sun.com/coll/DirectoryServer_04q2_zh
表 2-3 由 comm_dssetup.pl 创建索引的属性
后缀
为其创建索引的属性
添加的索引类型
用户/组
inetMailGroupStatus
pres,eq
inetUserStatus
pres,eq
pres,eq,approx,sub
mailAlternateAddress
pres,eq,approx,sub
mailEquivalentAddress
pres,eq,approx,sub
mailHost
pres,eq,approx,sub
mailUserStatus
pres,eq
member
eq
ou
pres
cosspecifier
pres
createtimestamp
eq
modifytimestamp
eq
DC 树
inetDomainBaseDN
pres,eq
inetCanonicalDomainName
pres,eq
inetDomainStatus
pres,eq
mailDomainStatus
pres,eq
mailRoutingHosts
pres,eq,approx,sub
dc
pres
createtimestamp
eq
modifytimestamp
eq
个人通讯录 (PAB)
memberOfManagedGroup
pres,eq
memberOfPAB
pres,eq
memberOfPABGroup
pres,eq
un
eq
createtimestamp
eq
modifytimestamp
eq
icsCalendar
pres,eq,approx,sub
icsCalendarOwned
pres,eq,approx,sub
新 PAB
displayname
pres,eq,sub
MemberOfPiBook
eq
MemberofPiGroup
eq
- 立即重新创建索引吗?
您可以选择立即创建索引,也可以以后再创建。如果您选择推迟创建索引,则可以在方便时返回已打开创建索引功能的脚本。创建索引可能需要很长的时间,但仍可以使用 Directory Server,也就是说创建索引时,Directory Server 并不会进入只读模式。
- 设置摘要
在 comm_dssetup.pl 更新 Directory Server 配置之前,将显示设置摘要,然后询问您是否要继续。
下面是您选择的设置的摘要:
服务器根目录:/var/mps/serverroot/
服务器实例:slapd-varrius
用户/组目录:是
更新模式:是
模式类型: 1
DC Root:o=internet
用户/组 Root:o=usergroup
添加新索引:是
立即重新创建新索引:是
模式目录:./schema **
Directory Manager DN:cn=Directory Manager
现在可以生成 Shell 脚本和 ldif 文件以修改 Directory。
这次对 Directory Server 不作任何更改。
是否要继续 [y]:
如果您在步骤 7 中选择了选项 2(模式 2 - 本机模式),则 DC Root 的值将与您为用户/组 Root 输入的值相同。
要更改任何设置,请输入 No,然后重新运行脚本。
如果您继续,comm_dssetup.pl 将创建以下 LDIF 文件和 shell 脚本以更新 Directory Server 索引和模式(虽然这一次并不运行脚本):
/var/tmp/dssetup_timestamp.ldif
/var/tmp/dssetup_timestamp.sh- 运行脚本
请在询问您是否要继续时回答 Yes,否则该配置程序不会运行在前面的步骤中创建的脚本。
输入 Yes 以立即运行 dssetup_时间戳.sh 脚本,或输入 No 退出。如果退出,您可以在以后运行 /var/tmp/dssetup_时间戳.sh 脚本。
手动更新模式文件如果出于某些理由,您决定不运行由 comm_dssetup.pl 生成的脚本,您可以使用以下的指导来手动更新以下目录服务器的模式文件:
如果更新模式文件后 OID 出现了冲突,则请参阅解决 LDAP 模式目录中冲突的 OID。
Sun Directory Server
Calendar Server 所使用的 Sun Java System Directory Server 5 2004Q2、Sun ONE Directory Server 5.2 和 iPlanet Directory Server 5.1 的 LDAP 模式扩展都在 60iplanet-calendar.ldif 文件中定义。
Calendar Server 安装程序将此文件安装在 /opt/SUNWics5/cal/config/schema 目录中。
注
如果您手动更新了 LDAP 服务器模式,则以后再升级 Calendar Server 时,必须再次手动更新 LDAP 服务器模式。在先前手动更新了 Directory Server 模式后,Calendar Server 无法自动更新该模式。
手动更新 Directory Server:
- 安装 Calendar Server 6 2004Q2。
- 停止 Calendar Server(如果正在运行)。
- 停止 Directory Server(如果正在运行)。
- 将 60iplanet-calendar.ldif 文件复制到运行目录服务器的计算机的以下目录中:
Directory Server 基本目录/slapd-主机名/config/schema
其中Directory Server 基本目录是 Directory Server 的安装目录,主机名则用于标识计算机。
- 重新启动 Directory Server。如果收到 OID 错误,请参阅解决 LDAP 模式目录中冲突的 OID。
- 通过运行 csconfiguration.sh 程序配置 Calendar Server。
有关配置 Calendar Server 的说明,请参阅第 3 章“配置 Calendar Server”。
Netscape Directory Server
对于 Netscape Directory Server 4.12 或 4.16,在以下文件中定义了 Calendar Server 使用的 LDAP 模式扩展:
这些文件可在 /opt/SUNWics5/cal/config 目录中找到。
手动更新 Netscape Directory Server 4.12 或 4.16 的步骤:
- 安装 Calendar Server 6.0。
- 将 LDAP 模式文件(um50-common-schema.conf 和 ics50-schema.conf)从 /opt/SUNWics5/cal/config 目录复制到 Directory Server 正在其中运行的服务器的以下目录中:
server-root/slapd-hostname/config
其中 hostname 为服务器的名称。例如,对于 Solaris 和其他 UNIX 系统:
/usr/Netscape/Server4/slapd-sesta/config
- 停止 Calendar Server(如果正在运行)。
- 停止 Directory Server(如果正在运行)。
- 编辑 ns-schema.conf 文件(位于您复制 um50-common-schema.conf 和 ics50-schema.conf 文件的相同目录中)。如果在文件的末尾没有显示这些文件,请添加以下行以包含这些文件。
对于 Solaris 和其他 UNIX 系统:
include /netscape/server4/slapd-hostname/config/um50-common-schema.conf
include /netscape/server4/slapd-hostname/config/ics50-schema.conf
对于 Windows 2000 系统:
include "C:\Netscape\Server4\slapd-主机名\config\um50-common-schema.conf"
include "C:\Netscape\Server4\slapd-hostname\config\ics50-schema.conf"
其中 hostname 是 Directory Server 正在其中运行的服务器的名称。
- 重新启动 Netscape Directory Server。如果收到 OID 错误,请参阅解决 LDAP 模式目录中冲突的 OID。
- 配置 Calendar Server。
有关配置 Calendar Server 的说明,请参阅第 3 章“配置 Calendar Server”。
解决 LDAP 模式目录中冲突的 OID如果 LDAP 模式目录中包含冲突的对象标识符 (OID),则 Directory Server 将无法确定要使用的 OID,并将返回错误消息。例如,以下消息表示 icsCalendarUser 对象类中存在冲突的 OID:
[24/Apr/2004:23:45:28 -0700] dse — 文件 99user.ldif 中的 cn=schema 项无效,错误代码 20(存在类型或值)— 对象类 icscalendaruser:名称与 OID 不匹配。此名称或 OID 已被其他对象类使用。
[24/Apr/2004:23:45:28 -0700] dse — 请编辑此文件以更正所报告的问题,然后重新启动服务器。
如果安装了 Calendar Server 6 2004Q2,并且还安装了动态更新 LDAP 服务器模式 99user.ldif 文件的 Calendar Server 的早期版本,可能会出现此问题。
要解决冲突的 OID,必须编辑 99user.ldif 文件并删除以前的 OID。对于 Calendar Server 6 2004Q2,表 2-4 显示可能造成这些问题的特定 OID。
表 2-4 LDAP 模式目录中的 Calendar Server OID
对象类
以前的 OID
新的 OID
icsCalendarUser
2.16.840.1.113730.3.2.141
1.3.6.1.4.1.42.2.27.9.2.2
icsCalendarResource
2.16.840.1.113730.3.2.143
1.3.6.1.4.1.42.2.27.9.2.3
icsCalendarDomain
2.16.840.1.113730.3.2.144
1.3.6.1.4.1.42.2.27.9.2.4
完成对 99user.ldif 文件的编辑后,重新启动 Directory Server。