Sun Java logo     上一个      目录      索引      下一个     

Sun logo
Sun Java System Calendar Server 管理指南 

第 2 章
配置 LDAP 目录

安装 Calendar Server 之后,必须在运行之前配置 Calendar Server。请注意,必须按照以下顺序运行这两个配置程序:

  1. comm_dssetup.pl — 按照本章中的介绍配置 Sun Java System Directory Server LDAP 目录。
  2. 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 之前,应首先解决以下几个问题:

您没有使用 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 实用程序执行如下三个步骤:

  1. 收集您对实用程序选项所做的选择。
  2. 有关这一步骤所要求的特定信息的列表,请参阅收集运行 comm_dssetup.pl 所需的信息

  3. 根据您所选择的选项生成用于修改 LDAP 目录的 shell 脚本和 LDIF 文件。如果您没有使用 Sun 产品作为目录服务器,或已经自定义了 Directory Server,则请在此停止操作而不运行 shell 脚本,然后按照以下各节的指导进行操作:您已自定义了 Directory Server您没有使用 Sun 产品作为您的目录服务器
  4. 运行根据您所选择的选项而创建的 shell 脚本。将对您的 LDAP 进行相应修改。

在结束每个步骤前,实用程序会询问您是否要继续。在执行第三步之前,不会对 LDAP 目录进行任何更改。

运行 comm_dssetup.pl 的要求

运行 comm_dssetup.pl 的要求包括:

收集运行 comm_dssetup.pl 所需的信息

comm_dssetup.pl 的第一步中,必须提供以下信息。(为了帮助您记录这些信息,请使用附录 A“目录配置工作表单”。)

确定要使用的模式

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 模式。

表 2-1 确定要使用的模式

方案

使用此模式

您是首次安装 Calendar Server,并且没有安装以前版本的 Messaging Server。

模式 2 本机模式

您计划将 Calendar Server 与其他 Java Enterprise System 产品(例如 Sun Java System Portal Server)集成。

模式 2 本机模式或兼容模式

您计划使用 Sun Java System Identity Server 来提供单点登录 (SSO) 功能。

模式 2 本机模式或兼容模式

您要从 Calendar Server 5.x 版升级到 Calendar Server 6 2004Q2,并要与其他 Java Enterprise System 产品集成。

模式 2 本机模式或兼容模式

您希望保留当前的两个 DIT 系统,原因是存在依赖于该 LDAP 结构的其他应用程序,并且您不需要使用 Identity Server 来实现 SSO(验证)功能。

模式 1

如果您选择了模式 1,则请使用 Calendar Server 实用程序(例如 csusercsdomaincsresource)进行置备和管理,如本文档中所述。

如果您选择了模式 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:

  1. 在安装了 Directory Server 的服务器上,以超级用户(root 用户)身份登录或成为超级用户(root 用户)。
  2. 如有必要,请启动 Directory Server。
  3. 如果在此同一计算机上安装了 Calendar Server,则请转到 /opt/SUNWics5/cal/sbin 目录。
  4. 或者,如果 Calendar Server 没有安装在此计算机上,则请执行以下步骤:

    1. 在安装了 Directory Server 5.x 的计算机上,创建一个临时目录。例如:/var/tmp
    2. dssetup.zip 文件复制到临时目录中。
    3. 在临时目录中,解压缩 dssetup.zip 文件。
  5. 静音模式交互模式运行 comm_dssetup.pl 脚本。要运行此脚本,请使用 Directory Server 5.x 附带的 Perl 版本:
  6. ds_svr_base/bin/slapd/admin/bin/perl

静音模式

要以静音模式运行 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 的选项。所有这些变量都是必需的。该表列出了这些选项,并对每个选项进行了说明。

表 2-2 Directory Server 设置脚本 (comm_dssetup.pl) 选项 

选项

说明

-i yes|no

用于回答问题:“是否要配置新索引?”

yes — 添加新的 Directory Server 索引。comm_dssetup.pl 添加 icsCalendaricsCalendarOwned 属性的索引。

no — 不添加索引。

-R yes|no

用于回答问题:“是否要立即重新创建索引?”

-c DirectoryServerRoot

Directory Server 根目录路径名。
例如: /usr/sunone/servers

-d DirectoryInstance

Directory Server 实例的子目录。
例如:slapd-varrius

-r DCTreeSuffix

DC 树的根后缀。(仅适用于模式 1 兼容模式和模式 2 兼容模式)

例如:o=internet

-u UserGroupSuffix

用户和组的根后缀。例如:o=isp

-s yes|no

用于回答问题:“是否要更新模式?”

yes — 更新模式。必须具有包含模式文件的 config 目录。

no — 不更新模式。

-D DirectoryManagerDN

目录管理员的独特的名称 (DN)。必须用双引号 (") 括住值,以使 comm_dssetup.pl 可以正确地解释带有空格的值。

例如:"cn=Directory Manager"

-w DirectoryManagerPassword

Directory Manager DN 密码。

-b yes|no

用于回答问题:“将此目录服务器用于用户和组吗?”

yes — 此目录用于存储配置和用户组数据。

no — 此目录仅用于存储配置数据。

-t 1|1.5|2

模式版本:

  • 1 — ONE LDAP 模式 1
  • 1.5 — ONE LDAP 模式 2 兼容模式
  • 2 — ONE LDAP 模式 2 本机模式

-m yes|no

用于回答问题:“是否要修改 Directory Server?”

yes — 修改 Directory Server,不提示用户。

no — 不修改 Directory Server,不提示用户。

-S PathtoSchemaFiles

模式文件所在目录的路径。例如:./schema

 

示例

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 脚本,然后按照提示输入选择。

  1. 欢迎信息和简介
  2. # perl comm_dssetup.pl

     

    欢迎使用 Sun Java System Communications Services 的 Directory Server 准备工具。

    (6.1 版 0.1 修订版)

    此工具用于准备您的目录服务器,

    以供 Communications Services(包括 Messaging Server、Calendar Server 及其组件)使用。

    日志文件为 /var/tmp/dssetup_YYYYMMDDHHSS

    是否要继续 [y]:

    按 Enter 键继续;或者键入 no,然后按 Enter 键退出。

  3. Directory Server 的安装根目录
  4. 请输入 Sun Java System Directory Server 的安装目录的完整路径。

    Directory Server 根目录 [/var/mps/serverroot]

    指定 Directory Server 安装根目录的位置。

  5. Directory Server 实例
  6. 请从下表中选择 Directory Server 实例:

    [1] slapd-varrius

    您需要哪个实例 [1]:

    如果服务器上有多个 Directory Server 实例,请选择一个要针对 Calendar Server 进行配置的实例。

  7. 目录管理员的独特的名称 (DN)
  8. 请输入目录管理员 DN [cn=Directory Manager]:

    密码:

    目录管理员 DN (cn=Directory Manager) 是指负责管理组织树中的用户和组数据的管理员。请确保您在此脚本中指定的 Directory Manager DN 与您为 Directory Server 安装和 Calendar Server 配置设置的 DN 相同。

  9. 用户和组的目录服务器
  10. 将此目录服务器用于用户/组吗 [Yes]:

    如果回答 Yes,则必须为组织树指定用户和组的基本后缀。

    如果回答 No,则假设此目录实例仅用于存储配置数据,并跳到步骤 9。对配置目录实例运行完此脚本后,您需要先对用于存储用户和组数据的目录实例运行此脚本,然后再针对 Calendar Server 运行配置程序。

  11. 用户和组的基本后缀
  12. 请输入用户/组的基本后缀 [o=usergroup]:

    用户和组的基本后缀是组织树中的顶层条目,它包含用于用户和组条目的命名空间。请确保您选择的用户和组的基本后缀与您为 Directory Server 和 Calendar Server 指定的后缀相同。

    如果安装了 Identity Server,请确保在 Identity Server 安装中指定的后缀与您为此问题指定的后缀相同。如果您不使用同一后缀,Calendar Server 将不识别您的 Identity Server 安装。

  13. 模式类型
  14. 有 3 种可能的模式类型:

    1 — 模式 1,用于带有 iMS 5.x 数据的系统

    1.5 — 模式 2 兼容模式,用于包含已使用 commdirmig 转换的 iMS 5.x 数据的系统

    2 — 模式 2 本机,用于使用 Identity Server 的系统

    请输入模式类型(1、1.5、2)[1]:

    选择您要使用的模式的版本:

    • 选项 1 — 模式 1
    • 选项 1.5 — 模式 2 兼容模式。
    • 选项 2 — 模式 2 本机模式
    • 要使用模式 2(选项 1.5 或 2),则必须安装和配置 Identity Server,否则 comm_dssetup.pl 会终止。您必须在安装 Identity Server 之后重新运行脚本。

  15. 域组件 (DC) 树的基本后缀
  16. 请输入 DC 树的基本后缀 [o=internet]:

    步骤 7 中,如果您选择了选项 1 或 1.5,系统将要求您提供 DC 树的基本后缀。如果您选择了选项 2,系统将不会询问此问题。

    DC 树镜像本地 DNS 结构,系统将其用作包含用户和组数据条目的组织树的索引。DC 树的基本后缀是 DC 树中顶层条目的名称。您可以选择默认值 (o=internet),也可以选择其他名称。

  17. 更新模式文件
  18. 是否要更新模式文件 [yes]:

    如果回答 Yes,则 comm_dssetup.pl 将新元素添加到模式中。每次安装新版的 Calendar Server 或 Messaging Server 时,请使用新的模式文件更新该目录。

  19. 配置新索引
  20. 是否要配置新索引 [yes]:

    如果您在步骤 5 中回答 Yes,系统将询问您是否要配置新索引(这样可以提高目录搜索的性能)。

    仅当该索引不存在时,comm_dssetup.pl 为要创建索引的每个属性调用 db2index

    对于 Calendar Server,comm_dssetup.pl 将为 icsCalendaricsCalendarOwned 属性添加索引。这将提高搜索算法的性能,因此请回答 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

 

mail

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

  1. 立即重新创建索引吗?
  2. 您可以选择立即创建索引,也可以以后再创建。如果您选择推迟创建索引,则可以在方便时返回已打开创建索引功能的脚本。创建索引可能需要很长的时间,但仍可以使用 Directory Server,也就是说创建索引时,Directory Server 并不会进入只读模式。

  3. 设置摘要
  4. 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

  5. 运行脚本
  6. 请在询问您是否要继续时回答 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:

  1. 安装 Calendar Server 6 2004Q2。
  2. 停止 Calendar Server(如果正在运行)。
  3. 停止 Directory Server(如果正在运行)。
  4. 60iplanet-calendar.ldif 文件复制到运行目录服务器的计算机的以下目录中:
  5. Directory Server 基本目录/slapd-主机名/config/schema

    其中Directory Server 基本目录是 Directory Server 的安装目录,主机名则用于标识计算机。

  6. 重新启动 Directory Server。如果收到 OID 错误,请参阅解决 LDAP 模式目录中冲突的 OID
  7. 通过运行 csconfiguration.sh 程序配置 Calendar Server。
  8. 有关配置 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 的步骤:

  1. 安装 Calendar Server 6.0。
  2. 将 LDAP 模式文件(um50-common-schema.confics50-schema.conf)从 /opt/SUNWics5/cal/config 目录复制到 Directory Server 正在其中运行的服务器的以下目录中:
  3. server-root/slapd-hostname/config

    其中 hostname 为服务器的名称。例如,对于 Solaris 和其他 UNIX 系统:

    /usr/Netscape/Server4/slapd-sesta/config

  4. 停止 Calendar Server(如果正在运行)。
  5. 停止 Directory Server(如果正在运行)。
  6. 编辑 ns-schema.conf 文件(位于您复制 um50-common-schema.confics50-schema.conf 文件的相同目录中)。如果在文件的末尾没有显示这些文件,请添加以下行以包含这些文件。
  7. 对于 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 正在其中运行的服务器的名称。


    请确保按上面显示的顺序添加这些行,以便先包含 um50-common-schema.conf,再包含 ics50-schema.conf


  8. 重新启动 Netscape Directory Server。如果收到 OID 错误,请参阅解决 LDAP 模式目录中冲突的 OID
  9. 配置 Calendar Server。
  10. 有关配置 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。



上一个      目录      索引      下一个     


版权所有 2004 Sun Microsystems, Inc.。保留所有权利。