安装 Calendar Server 后,您必须先对其进行配置才能启动 Calendar Server 服务。请注意,必须按照以下顺序运行这两个配置程序:
目录准备脚本 (comm_dssetup.pl)目录准备脚本针对 Calendar Server 6 和 Messaging Server 6 配置 Directory Server
。它通过设置新的 LDAP 模式、索引和配置数据来准备 Directory Server。
Calendar Server 配置程序 (csconfigurator.sh)
Calendar Server 配置程序用于配置 Calendar Server。它的介绍在第 3 章,Calendar Server 配置程序 (csconfigurator.sh)中。
本章介绍了目录准备脚本,并包括以下主题:
如果已安装了早期版本的 Calendar Server 或 Messaging Server,则可能需要将 LDAP 目录条目从 Schema 1 迁移到 Schema 2。
在阅读《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》之前请勿运行本章介绍的配置实用程序。迁移指南介绍了运行配置实用程序的时机和可用选项。
在 Java Enterprise System 的早期版本中,由于该实用程序与 Messaging Server 和 Calendar Server 捆绑在一起,因而无需分别安装。但是,从 Java Enterprise System 2005Q1 开始,该脚本成为了可以单独安装的共享组件。
要安装目录准备脚本,请选择以下方法之一:
Java Enterprise System 安装程序—在组件选择面板上选择目录准备脚本。(选择 Directory Server 也会自动选择目录准备脚本。)
如果您是从早期版本的 Java Enterprise System 进行升级,而且未使用 Java Enterprise System 安装程序,请下载以下修补程序:
Solaris SPARC |
118245 和 118242 |
Solaris x86 |
118256 和 118243 |
Linux |
仅需 118247 |
注 – 仅在第一次修补实用程序时需要使用修补程序 118242 和 118243。如果应用了更高版本的修补程序 118245 或 118246,则不需要再次应用修补程序 118242 或 118243。 |
安装之后,目录准备脚本位于以下目录中:
Solaris: |
/opt/SUNWcomds/sbin |
Linux: |
/opt/sun/comms/dssetup/sbin |
本节包含运行目录准备脚本前需要了解的信息,并包括以下主题:
目录准备脚本的使用通过以下三个步骤:
收集您对实用程序选项所做的选择。
有关该步骤所需具体信息的列表,请参见需要收集的信息。
根据您所选择的选项生成用于修改 LDAP 目录的 shell 脚本和 LDIF 文件。如果您用作 Directory Server 的不是 Sun 产品,或已经自定义了 Directory Server,则请在此停止操作而不运行 shell 脚本。有关详细信息,请参见下面的Directory Server 注意事项。
运行根据您所选择的选项而创建的 shell 脚本。将对您的 LDAP 进行相应修改。
在结束每个步骤前,实用程序会询问您是否要继续。在执行第三步之前,不会对 LDAP 目录进行任何更改。
以下是有关 LDAP 目录的注意事项的列表:
运行目录准备脚本之前,必须先安装、配置并运行 Directory Server。
必须在安装 Directory Server 的每一台计算机上运行目录准备脚本。
如果以后添加了其他计算机(例如计算机副本),也要对新安装的计算机运行目录准备脚本。
有关 Calendar Server 62005Q4 支持的 LDAP 目录服务器的列表,请参阅《Sun Java System Communications Services 2005Q4 Release Notes》中的第 1 章 “Sun Java System Calendar Server 6 2005Q4 Release Notes”。
如果您已自定义了 LDAP 目录,则应注意以下事项:
如果已为某些属性创建了索引,则可能要在运行目录准备脚本后重新添加这些索引。
如果已经添加了其他 .ldif 文件(模式定义),这些定义不会受到影响,因此无需采取任何措施。但是,请在运行目录准备脚本前备份自定义模式定义文件。
对于所有的自定义项目,包括刚才列出的前两个项目,您都需要在目录准备脚本生成脚本之后、实际更新 LDAP 目录之前停止目录准备脚本。然后,检查该脚本以衡量脚本所建议的措施将会如何影响 LDAP 目录。请在对 LDAP 运行该脚本前,采取您认为必要的任何措施来保护您的自定义。
如果您用作 Directory Server 的不是 Sun 产品,则部署 Calendar Server 的最简单的解决方法就是将您的 Directory Server 升级到 Sun Java System Directory Server。
有关安装和配置 Directory Server 的信息,请参见 http://docs.sun.com/coll/1316.1 和 http://docs.sun.com/coll/1389.1。
此外,您可以使用由目录准备脚本生成的脚本(不需要真的运行该脚本)来了解要对非 Sun LDAP 目录进行的更新。
目录准备脚本的第一步需要有关 Directory Server 的信息。通过收集下表中显示的信息来做此准备。(为有助于您跟踪这些信息,请借助附录 A,目录配置工作单。
所需信息项 |
默认值 |
---|---|
Directory Server 根目录路径名 |
/var/opt/mps/serverroot |
要使用哪一个 Directory Server 实例?(如果有多个实例。) |
无 |
目录管理员的标识名 (DN) |
"cn=DirectoryManager" |
目录管理员的密码 |
无 |
是否正在将 Directory Server 用于用户/组数据?(是),或仅用于配置数据?(否) |
是 |
用户和组根后缀(如果前一个问题的回答是肯定的) |
“o=usergroup” |
Schema 版本?(从下面选择一个) 1 Schema 1 1.5 Schema 2 兼容模式 2 Schema 2 本机模式 [有关如何选择模式的更多信息,请参见有关模式选项。如果您已经安装了某个版本的模式,并要升级到更高级别的模式,请在运行次实用程序之前参阅《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》。] |
1 |
根后缀(如果使用 Schema 1 或 Schema 2 兼容模式) [如果选择 Schema 1 或 1.5,您将需要 DC 树。如果 DC 树不存在,目录准备脚本将仅创建根后缀节点,而不创建 DC 树的其余部分。您必须亲自创建 DC 树的其余部分。] |
o=internet |
是 |
|
是否添加 Directory Server 索引?(添加 icsCalendar 或 icsCalendarOwned) [如果回答是肯定的,则即使您没有全部使用 Messaging Server、Calendar Server 和 Communications Server,目录准备脚本也将为它们全部创建索引。] |
是 |
对应于目录准备脚本模式版本选项 1。
Sun LDAP Schema 2 兼容模式
对应于模式版本选项 1.5。
Sun LDAP Schema 2 本机模式
对应于模式版本选项 2。
如果您仍不知道该使用哪一种模式,请参见 Sun Java Enterprise System 技术概述、《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》和《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》以获取更多说明。
下表列出了简化后的准则,这些准则总结了不同的安装选择不同模式版本的原因。
如果是在使用 Schema 2,则必须已安装和配置 Access Manager。
请勿使用 Access Manager 控制台来管理用户。有关如何管理用户的信息,请参见第 14 章,管理用户和资源。
属性索引提高了搜索算法的性能。使用脚本可以为属性创建索引。如果您选择这样做,则脚本将不仅为 Calendar Server 添加索引,而且为 Messaging Server 和 Communications Express 添加索引。因此,为某个产品创建索引后,就无需为其他产品重新创建索引。实际上,如果尝试为相同的属性再次创建索引,则不会产生任何变化。对于每个要创建索引的属性,只有在其索引尚不存在时脚本才会为其调用 db2index。
下表列出了目录准备脚本将为其创建索引的所有属性,这些属性按后缀的类别分组。该表还列出了为每个属性创建的索引的类型。有关 Directory Server 创建索引的更多信息,请参见 http://docs.sun.com/coll/1316.1 和 http://docs.sun.com/coll/1389.1。
后缀 |
为其创建索引的属性 |
添加的索引类型 |
---|---|---|
用户/组 |
|
pres、eq、approx、sub |
mailAlternateAddress |
pres、eq、approx、sub |
|
mailEquivalentAddress |
pres、eq、approx、sub |
|
member |
eq |
|
cosspecifier |
pres |
|
用户/组(适用于 Access Manager—Schema 2) |
inetDomainBaseDN |
pres、eq |
sunPreferredDomain |
pres、eq |
|
associatedDomain |
pres、eq |
|
o |
pres、eq |
|
sunOrganizationAlias |
pres、eq |
|
DC 树(适用于 Schema 1) |
inetDomainBaseDN |
pres、eq |
inetCanonicalDomainName |
pres、eq |
|
个人通讯录 (PAB) |
memberOfManagedGroup |
pres、eq |
memberOfPAB |
pres、eq |
|
memberOfPABGroup |
pres、eq |
|
un |
eq |
|
icsCalendar |
pres、eq、approx、sub |
|
icsCalenarOwned |
pres、eq、approx、sub |
|
新建 PAB |
displayname |
pres、eq、sub |
MemberOfPiBook |
eq |
|
MemberofPiGroup |
eq |
如果您需要自行添加更多索引,请参阅 Directory Server 文档中有关添加索引的说明。
本节包含以下主题:
在安装了 Directory Server 的服务器上,以超级用户身份登录或转为超级用户 (root)。
如有必要,请启动 Directory Server。
转至 /opt/SUNWcomds/sbin 目录。
或者,可以在 /opt/SUNWcomds/lib 中获得 .zip 文件(如果需要)。
在无提示模式下或交互式模式下运行目录准备脚本。有关其他步骤,请参见运行目录准备脚本或运行目录准备脚本。
要运行该脚本,请使用 Perl 版本,该版本是在使用 Java Enterprise System 安装程序时作为共享组件自动安装的。安装 Perl 版本后,该版本存在于以下目录中:
ds_svr_base/bin/slapd/admin/bin/perl
要以无提示模式运行目录准备脚本,请按照comm_dssetup.pl 语法中说明的语法发出 Perl 命令,并在其后加上一些选项。所有选项参数都是必需的。表 2–1 介绍了这些选项。
实用程序将创建以下 LDIF 文件和 shell 脚本以更新 LDAP 目录索引和模式:
/var/tmp/dssetup_timestamp.ldif /var/tmp/dssetup_timestamp.sh
根据您所传递的选项值,实用程序将确定是通过执行新脚本来继续更新 Directory Server 还是不更新。如果您选择了停止更新,则在以后实际运行更新时,可以事先检查该脚本并可按照需要进行任何修改。
下面是用于以无提示状态运行的所有选项:
perl comm_dssetup.pl -i yes|no -R yes|no -c DirectoryServerRoot -d DirectoryInstance -r DCTreeSuffix -u UserGroupSuffix -s yes|no -D DirectoryManagerDN -w DirectoryManagerPassword -b yes|no -t 1|1.5|2 -m yes|no [-S PathtoSchemaFiles] |
要以交互式模式运行目录准备脚本,请运行该脚本而不使用任何参数,然后对所问的问题输入您的选择。
以下带有数字编号的各段提供了有关如何使用交互式模式脚本的各个面板说明。
欢迎和简介面板
# cd /opt/SUNWcomds/sbin # ./comm_dssetup.pl Welcome to the Directory Server preparation tool for Sun Java System Communications Services. (Version 6.3 Revision 0.1) This tool prepares your directory server for use by the communications services which include Messaging, Calendar and their components. The logfile is /var/tmp/dssetup_YYYYMMDDHHSS Do you want to continue [y]: |
按 Enter 键继续;或者键入 no,然后按 Enter 退出。
Directory Server 安装根目录面板
Please enter the full path to the directory where the Sun Java System Directory Server was installed. Directory server root [/var/opt/mps/serverroot] |
请指定 Directory Server 的安装根目录的位置,或者按 Enter 键接受默认设置。
Directory Server 实例面板
如果此计算机上有多个 Directory Server 实例,则程序将列出这些实例,并要求您选择其中之一。
Please select a directory server instance from the following list: [1] slapd-varrius Which instance do you want [1]: |
输入与选项对应的编号,然后按 Enter 键。或者不输入编号直接按 Enter 键接受默认设置。
目录管理员的标识名 (DN) 面板
在此面板中需要输入两样内容:目录管理员 DN 和目录管理员密码。
首先,脚本将要求您输入 Directory Manager 的标识名 (DN):
Please enter the directory manager DN [cn=Directory Manager]: |
目录管理员 DN(默认值为 cn=Directory Manager),目录管理员是指负责管理“组织”树中的用户和组数据的管理员。请确保您在此脚本中指定的 Directory Manager DN 与您为 Directory Server 安装和 Calendar Server 配置设置的 DN 相同。
输入 Directory Manager DN,或者按 Enter 键接受默认设置。
然后脚本将要求您输入目录管理员的密码。
Password: |
输入 Directory Manager 密码并按 Enter 键。
程序将查看 Directory Server 是否正在运行并正在侦听端口 389(默认端口)。
如果成功,它将显示检测到的版本,如以下示例所示:
Detected DS version 5.2 |
如果不成功,程序将通知您它无法检测到正在运行或正在侦听端口 389 的 Directory Server。程序将指导您解决此问题,然后才允许您继续下去。脚本退出。以下示例显示了该输出:
Directory Server not running or not listening to port 389. Detected DS version 0.0 Please correct the problem and re-run this script. |
用户和组 Directory Server 面板
Will this directory server be used for users/groups [Yes]: |
如果该目录实例仅用于存储配置数据,请输入 No,或者按 Enter 键接受默认设置。
如果输入 No,则还必须针对存储用户和组数据的目录实例运行该脚本。(请在运行配置程序 csconfigurator.sh 前执行该操作。)
如果回答是 Yes,则必须为“组织”树指定用户和组的基本后缀。
用户和组的基本后缀面板
Please enter the Users/Groups base suffix [o=usergroup]: |
用户和组的基本后缀是 LDAP 组织树中的顶部条目。请确保您在此选择的后缀与您为 Directory Server、Calendar Server 和 Access Manager 指定的后缀相同。
模式类型面板
There are 3 possible schema types: 1-schema 1 for systems with Calendar or Messaging 5.x data 1.5-schema 2 compatibility for systems with Calendar or Messaging 5.x data that has been converted with the Schema Migration Utility commdirmig 2-schema 2 native for systems using Access Manager Please enter the Schema Type (1, 1.5, 2) [1]: |
输入模式类型,或者按 Enter 键接受默认设置。
要使用 Schema 2(选项 1.5 或 2),必须安装并配置 Access Manager。否则,Directory 准备脚本将终止。必须先安装 Access Manager,然后再重新运行目录准备脚本。
域组件 (DC) 树的基本后缀面板
如果您选择了 Schema 1 或 Schema 2 兼容模式,系统将要求您提供 DC 树的基本后缀。如果您选择了 Schema 2 本机模式,系统将不会询问此问题。
Please enter the DC Tree base suffix [o=internet]: |
在前面介绍的模式类型面板中,如果您选择了 Schema 1 或 Schema 2 兼容模式,将要求您提供 DC 树基本后缀。如果您选择了 Schema 2 本机模式,系统将不会询问此问题。
DC 树镜像本地 DNS 结构,系统将其用作包含用户和组数据条目的组织树的索引。DC 树的基本后缀是 DC 树中顶层条目的名称。
输入后缀,或者按 Enter 键接受默认设置。
系列问题面板
该面板将询问您有关对 LDAP 的更新的一系列问题。
更新模式文件
这时,程序将查看模式是否具有正确的模式元素。如果模式缺少某些元素,程序将显示以下消息:
Detected bad schema elements in 99user.ldif. It is recommended that you update the schema. Do you want to update the schema files [yes]: |
回答 Yes 将所需的新元素添加到模式中。每次安装新版的 Calendar Server 或 Messaging Server 时,需要使用新的模式文件更新该目录。
如果要以后更新模式文件,请回答 No。
配置新索引
如果在上一步中选择了更新模式,系统将询问您是否要配置新索引。有关为属性创建索引的更多信息,请参见属性索引。
Do you want to configure new indexes [yes]: |
要批准索引的创建,请按 Enter 键。
如果您已对同一属性执行过此索引创建步骤,请回答 no。
立即重新创建索引
您可以选择立即创建索引,也可以以后再创建。如果您选择推迟创建索引,则可以在方便时返回已打开创建索引功能的脚本。创建索引可能需要很长的时间,但仍可以使用 Directory Server,也就是说创建索引时,Directory Server 并不会进入只读模式。
Reindex now [yes]? |
如果要在以后创建索引,请回答 no;否则,请按 Enter 键接受默认设置。
设置摘要面板
在目录准备脚本更新 Directory Server 配置之前,将显示设置摘要,然后询问您是否要继续。
Here is a summary of the settings that you chose: Server Root : /var/opt/mps/serverroot/ Server Instance : slapd-varrius Users/Groups Directory : yes Update Schema : yes Schema Type : 1 DC Root : o=internet User/Group Root : dc=red,dc=sesta,dc=com Add New Indexes : yes Reindex New Indexes Now : yes Directory Manager DN : cn=Directory Manager Now ready to generate a shell script and ldif file to modify the Directory. No changes to the Directory Server will be made this time. Do you want to continue [Y]: |
如果在运行目录准备脚本中选择了 Schema 2 本机模式,则 DC Root 的值与您输入的User/Group Root 的值相同。
要更改任何设置,请输入 no,然后重新运行脚本。
如果要继续,请按 Enter 键。目录准备脚本将生成 LDIF 文件和 shell 脚本。它创建的文件的名称如下所示:
/var/tmp/dssetup_timestamp.ldif /var/tmp/dssetup_timestamp.sh |
如果选择继续,将会看到程序运行而显示的消息。以下为您将会看到的输出的示例:
Generating files... Checking to see if Suffixes need to be added Checking to see that uid uniqueness plugins are turned off Adding indexes Adding Indexes for User/group Tree (backend:userRoot) Checking indexes for member No new indexes required Checking indexes for mailAlternateAddress No new indexes required Checking indexes for mail No new indexes required Checking indexes for mailEquivalentAddress No new indexes required Checking indexes for cosspecifier No new indexes required Adding Indexes for DC Tree (backend:internetdb2) Checking indexes for inetCanonicalDomainName No new indexes required Checking indexes for inetDomainBaseDN No new indexes required Adding Indexes for PAB Tree (backend:pabdb2) Checking indexes for memberOfPAB No new indexes required Checking indexes for icsCalendar No new indexes required Checking indexes for un No new indexes required Checking indexes for memberOfPABGroup No new indexes required Checking indexes for icsCalendarOwned No new indexes required Checking indexes for memberOfManagedGroup No new indexes required Adding Indexes for New PAB Tree (backend:PiServerDbdb2) Checking indexes for MemberOfPiBook No new indexes required Checking indexes for MemberofPiGroup No new indexes required Checking indexes for displayname No new indexes required Checking to see if DN needs to be created for suffixes Generating ldif for installer metadata Generating ldif for Adding schema for installer metadata Generating ldif for updating DN for cn=CommServers,o=comms-config The following files have been created: /var/tmp/dssetup_20041209114027.sh /var/tmp/dssetup_20041209114027.ldif Running /var/tmp/dssetup_20041209114027.sh will make changes to the Directory. You can run this file now or at a later time Ready to execute the script now. |
运行脚本
Do you want to continue [yes]: |
按 Enter 键接受默认设置 (yes)。dssetup_timestamp.sh 脚本将针对 LDAP 目录运行。如果并不要立即运行该脚本,请输入 No 以退出。如果退出,您可以在以后运行 /var/tmp/dssetup_timestamp.sh 脚本。
以下为运行脚本时生成的文本输出的示例:
Running /var/tmp/dssetup_20041209114027.sh -D "cn=Directory Manager" -j /var/tmp/dssetup_20041209114027.pw Stopping Directory Server Updating Schema files... Copying 20subscriber.ldif Copying 50ns-delegated-admin.ldif Copying 50ns-mail.ldif Copying 50ns-mlm.ldif Copying 50ns-msg.ldif Copying 50ns-value.ldif Copying 55ims-ical.ldif Copying 56ims-schema.ldif Copying 70sun-schema2.ldif Copying 71sun-am.ldif Copying 60iplanet-calendar.ldif Copying 50ns-iabs.ldif Copying 98ns-dummy-uwc.ldif Copying 70delgated-admin.ldif Copying /var/tmp/99user_20041209114027.ldif to /var/opt/mps/serverroot/slapd-varrius/config/schema/99user.ldif Starting Directory Server Applying ldif file /var/tmp/dssetup_20041209114027.ldif modifying entry cn=schema modifying entry cn=schema modifying entry cn=CommServers,o=comms-config Done Applying ldif file /var/tmp/dssetup_20041209114027.ldif rejects to /var/tmp/dssetup_20041209114027.ldif.rej status = 0 Successful Completion. Consult /var/tmp/dssetup_20041209114027.log for details |
如果出于某些理由,您决定不运行由目录准备脚本生成的脚本,您可以使用以下的指导来手动更新 Sun Java System Directory Server 的模式文件。
如果您手动更新了 LDAP 目录模式,则以后再升级 Calendar Server 时,必须再次手动更新 LDAP 服务器模式。先前经过手动更新的 Calendar Server 不能自动更新模式。
安装 Calendar Server 62005Q4。
停止 Calendar Server(如果正在运行)。
停止 Directory Server(如果正在运行)。
将 60iplanet-calendar.ldif 文件复制到计算机(运行目录服务器)上的以下目录中:
dir_svr_base/slapd-hostname/config/schema |
其中 dir_svr_base 是 Directory Server 安装目录,hostname 用于标识计算机。
如果要像配置程序那样为属性创建索引,则此时可以这样做。有关配置程序将为其创建索引的属性的列表,请参见属性索引。
重新启动 Directory Server。如果发现对象标识符 (Object Identifier, OID) 错误,请参见解决 LDAP 模式目录中冲突的 OID。
通过运行 csconfiguration.sh 程序来配置 Calendar Server。
有关配置 Calendar Server 的说明,请参见第 3 章,Calendar Server 配置程序 (csconfigurator.sh)。
如果 LDAP 模式目录包含冲突的 OID,则 Directory Server 将不知道该使用哪个 OID 并返回错误消息。例如,以下消息表示 icsCalendarUser 对象类中存在冲突的 OID:
[24/Apr/2004:23:45:28 -0700] dse - The entry cn=schema in file 99user.ldif is invalid, error code 20 (Type or value exists) - object class icscalendaruser: The name does not match the OID. Another object class is already using the name or OID. [24/Apr/2004:23:45:28 -0700] dse - Please edit the file to correct the reported problems and then restart the server.
如果安装了 Calendar Server 62005Q4,同时又有可以动态更新 LDAP 服务器模式 99user.ldif 文件的早期版本 Calendar Server,则可能会出现此问题。
要解决冲突的 OID,请执行以下两个步骤:
编辑 99user.ldif 文件并删除较早的 OID。对于 Calendar Server 62005Q4,下表列出了可能会导致问题的具体 OID。
对象类 |
以前的 OID |
新的 OID |
---|---|---|
icsCalendarUser |
2.16.840.1.113730.3.2.141 |
1.3.6.1.4.1.42.2.27.9.2.44 |
icsCalendarResource |
2.16.840.1.113730.3.2.143 |
1.3.6.1.4.1.42.2.27.9.2.45 |
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。