要从非域或单个域环境移动到多域环境,可能需要在创建任何 LDAP 条目之前执行以下任务:
运行数据库迁移实用程序。
如果要从 Calendar Server 版本 5 迁移,需确保在尝试设置多域前已运行了 csmig、csvdmig、cs5migrate 和 csmigrate。有关这些迁移实用程序的更多信息,参见 第 3 章,Calendar Server 6.3 的数据库迁移实用程序。
如果尚未运行这些数据库迁移实用程序,请运行 comm_dsseetup.pl。
以有权更改此配置的管理员身份登录。
发布 stop-cal 命令停止 Calendar Server 服务。
编辑 ics.conf 文件以启用多域。
下表列出并说明了 ics.conf 文件中用于支持多域的配置参数。如果该表中列出的任一参数不在 ics.conf 文件中,请将该参数及其相关值添加到该文件中,然后重新启动 Calendar Server 以使这些值生效。
参数 |
说明 |
---|---|
启用 ("yes") 多域支持。默认值为 "yes"。 注 – 即使打算在单个域中进行操作,也不要将此参数更改为 "no"。当前版本的 Calendar Server 需要将其设置为 "yes"。 |
|
指定 LDAP 模式的版本:
|
|
service.dcroot |
对于多域支持,它会替代 local.ugldapbasedn 和 local.authldapbasedn。 如果 local.schemaversion="1" 或 local.schemaversion="1.5",指定 DC 树(在其之下可找到所有域)的根后缀。 例如:"o=internet"。 |
如果 local.schemaversion="2",指定结构树(在其之下可找到所有域)的根后缀。 例如:"o=sesta.com"。 |
|
指定此 Calendar Server 实例的默认域。用于在登录过程中没有提供域名的情况。 例如:"red.sesta.com"。 |
|
指定 Calendar Server 解析 "userid[login-separator ]domain" 时用于 login-separator 的分隔符字符串。Calendar Server 将依次尝试每一个分隔符。 默认值为 "@+"。 |
|
指定域管理员的用户 ID。 例如:DomainAdmin@sesta.com。 |
|
控制交叉域搜索:
|
|
指定域的语言。默认值为 "en"(英语)。 |
创建默认域条目。
对于 Schema 版本 2,默认域由 Delegated Administrator 配置程序 (config-commda) 来创建。
对于 Schema 版本 1,创建 DC 树的根后缀下的一个或多个级别的默认域(其中一个多域),取决于 DC 树的结构。例如,如果根后缀为 o=internet,则向下一级的节点可能是 com,如 10.3.3 Calendar Server 版本 6.3 的 Sun LDAP Schema 版本 1 中所示。但是,默认域将为更低级别的一个节点,如 sesta.com。使用 csdomain 创建 DC 树节点,如以下示例所示:
csdomain -n o=com,dc=com,o=internet create comcsdomain -n o=sesta.com,dc=sesta,dc=com,o=internet create sesta.com
启用默认域条目的日历服务。
对于 Schema 版本 1:使用 csattribute 将 icsCalendarDomain 对象类添加到 LDAP 中的 o=sesta.com 域条目。
对于 Schema 版本 2:在配置 Delegated Administrator 之后,请修改默认域(由 Delegated Administrator 配置程序创建)以添加日历(和邮件)服务。在以下示例中,日历和邮件服务将被添加到域中:
commadmin domain modify -D admin -w passwd -d defaultdomain -S cal,mail
在系统上创建所需数量的域。
有关如何在 Schema 版本 2 模式中添加域的说明,参见13.2 创建新 Calendar Server 域。
要创建 Schema 版本 1 域,使用 csdomain create,如以下示例所示:
csdomain -n o=red.sesta.com,dc=red,dc=sesta,dc=com create red.sesta.com
为新域添加日历(以及邮件,如果需要的话)服务。
如果 calmaster 站点管理员用户尚不存在,则创建该用户。
对于 Schema 版本 2,使用 commadmin user create 命令来创建 calmaster 用户,如以下示例中所示:
commadmin user create -D admin -w passwd -F Calendar -L Administrator -l calmaster -W calmasterpasswd -d sesta.com -S cal
要使用 Delegated Administrator 控制台的“创建新用户”向导来创建 calmaster,参见 Delegated Administrator 联机帮助。
对于 Schema 版本 1,使用 csuser 在结构树上创建 calmaster 用户,如以下示例所示:
csuser o=sesta.com,o=rootsuffix -d sesta.com -g Calendar -s Administrator -ycalmasterpasswordcreate calmaster
如果从早期的非域环境 (Schema 版本 1) 中 calmaster 站点管理员用户已经存在,则通过执行以下步骤将其移动到默认域中:
执行现有 calmaster LDAP 条目的 LDAP 转储并将其保存在临时文件(例如 /tmp/calmaster.ldif)中。
使用 ldapdelete 删除结构树根后缀上的现有 calmaster LDAP 条目,如下所示:
#ldapdelete -D "cn=Directory Manager" -w password uid=calmaster,ou=People,o=rootsuffix
修改日历管理员的组条目(更新 uniqueMember 属性)以反映更改,如以下 LDIF 示例所示:
dn:cn=Calendar Administrators,ou=Groups,o=rootsuffix changetype:modifyreplace:uniqueMember uniqueMember:uid=calmaster,ou=People,o=sesta.com,o=rootsuffix |
不必将管理员的组条目移动到域中。
更新所有的管理脚本,以使 WCAP 命令中的所有日历 ID (calid) 都成为全限定名称。即,每个 calid 必须包括域名。例如: jsmith@sesta.com。