Sun Java System Calendar Server 6 2005Q4 管理指南

第 II 部分 安装后配置

本部分中的章节介绍了安装 Calendar Server 之后,在使用前必须执行的配置和迁移步骤。

第 2 章 目录准备脚本 (comm_dssetup.pl)

安装 Calendar Server 后,您必须先对其进行配置才能启动 Calendar Server 服务。请注意,必须按照以下顺序运行这两个配置程序:

  1. 目录准备脚本 (comm_dssetup.pl)目录准备脚本针对 Calendar Server 6 和 Messaging Server 6 配置 Directory Server

    。它通过设置新的 LDAP 模式、索引和配置数据来准备 Directory Server。

  2. 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 开始,该脚本成为了可以单独安装的共享组件。

要安装目录准备脚本,请选择以下方法之一:

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

运行目录准备脚本之前

本节包含运行目录准备脚本前需要了解的信息,并包括以下主题:

目录准备脚本的功能

目录准备脚本的使用通过以下三个步骤:

Procedure高级目录准备脚本步骤

步骤
  1. 收集您对实用程序选项所做的选择。

    有关该步骤所需具体信息的列表,请参见需要收集的信息

  2. 根据您所选择的选项生成用于修改 LDAP 目录的 shell 脚本和 LDIF 文件。如果您用作 Directory Server 的不是 Sun 产品,或已经自定义了 Directory Server,则请在此停止操作而不运行 shell 脚本。有关详细信息,请参见下面的Directory Server 注意事项

  3. 运行根据您所选择的选项而创建的 shell 脚本。将对您的 LDAP 进行相应修改。

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

Directory Server 注意事项

以下是有关 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 是用于用户/组数据,则必须具有包含模式文件的配置目录。]

是 

是否添加 Directory Server 索引?(添加 icsCalendaricsCalendarOwned [如果回答是肯定的,则即使您没有全部使用 Messaging Server、Calendar Server 和 Communications Server,目录准备脚本也将为它们全部创建索引。]

是 

有关模式选项

Calendar Server 支持以下模式选项:

如果您仍不知道该使用哪一种模式,请参见 Sun Java Enterprise System 技术概述《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》以获取更多说明。

下表列出了简化后的准则,这些准则总结了不同的安装选择不同模式版本的原因。

方案 

使用此模式 

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

Schema 2 本机模式 

您计划将 Calendar Server 集成到其他 Java Enterprise System 产品中,例如 Sun Java System Portal Server。

Schema 2 本机模式或兼容模式 

您计划使用Sun Java System Access Manager 提供单点登录 (Single Sign-On, SSO) 功能。

Schema 2 本机模式或兼容模式 

您正在从 Calendar Server 5 进行升级并希望将其与其他 Java Enterprise System 产品集成。

Schema 2 本机模式或兼容模式 

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

Schema 1 

Access Manager 注意事项

如果是在使用 Schema 2,则必须已安装和配置 Access Manager。


注 –

请勿使用 Access Manager 控制台来管理用户。有关如何管理用户的信息,请参见第 14 章,管理用户和资源


属性索引

属性索引提高了搜索算法的性能。使用脚本可以为属性创建索引。如果您选择这样做,则脚本将不仅为 Calendar Server 添加索引,而且为 Messaging Server 和 Communications Express 添加索引。因此,为某个产品创建索引后,就无需为其他产品重新创建索引。实际上,如果尝试为相同的属性再次创建索引,则不会产生任何变化。对于每个要创建索引的属性,只有在其索引尚不存在时脚本才会为其调用 db2index

下表列出了目录准备脚本将为其创建索引的所有属性,这些属性按后缀的类别分组。该表还列出了为每个属性创建的索引的类型。有关 Directory Server 创建索引的更多信息,请参见 http://docs.sun.com/coll/1316.1http://docs.sun.com/coll/1389.1

后缀 

为其创建索引的属性 

添加的索引类型 

用户/组

mail

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 文档中有关添加索引的说明。

运行目录准备脚本

本节包含以下主题:

Procedure运行目录准备脚本

步骤
  1. 在安装了 Directory Server 的服务器上,以超级用户身份登录或转为超级用户 (root)。

  2. 如有必要,请启动 Directory Server。

  3. 转至 /opt/SUNWcomds/sbin 目录。

    或者,可以在 /opt/SUNWcomds/lib 中获得 .zip 文件(如果需要)。

  4. 在无提示模式下或交互式模式下运行目录准备脚本。有关其他步骤,请参见运行目录准备脚本运行目录准备脚本

    要运行该脚本,请使用 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 还是不更新。如果您选择了停止更新,则在以后实际运行更新时,可以事先检查该脚本并可按照需要进行任何修改。

comm_dssetup.pl 语法

下面是用于以无提示状态运行的所有选项:


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]
               
表 2–1 无提示状态的选项说明

选项和变量 

说明 

-i yes|no

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

yes 添加新 Directory Server 索引。目录准备脚本为 icsCalendaricsCalendarOwned 属性添加索引。

no 不添加索引。

-R yes|no

用于回答问题:“是否要立即重新创建索引?” 要使该选项生效, -m 选项必须也为 yes

-c DirectoryServerRoot

Directory Server 根目录。例如:/var/opt/mps/ldap

-d DirectoryInstance

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

-r DCTreeSuffix

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

例如:dc=varrius,dc=sesta,dc=com

-u UserGroupSuffix

用户和组的根后缀。例如:dc:west,dc=sesta,dc=com

-s yes|no

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

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

no 不更新模式。

-D DirectoryManagerDN

目录管理员的标识名 (DN)。该值必须用双引号 (" ") 括起来才可以使目录准备脚本正确解释带有空格的值。

例如:"cn=Directory Manager"

-w DirectoryManagerPassword

目录管理员 DN 密码。 

-b yes|no

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

yes 使用该目录存储配置和用户组数据。

no 使用该目录仅存储配置数据。

-t 1|1.5|2

Schema 版本: 

  • 1 Sun LDAP Schema 1

  • 1.5 Sun LDAP Schema 2 兼容模式

  • 2 Sun LDAP Schema 2 本机模式

-m yes|no

用于回答问题:“是否要修改目录服务器?”  

yes 修改目录服务器而不提示用户。

no 修改目录服务器时需要提示用户。

-S PathtoSchemaFiles

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

Procedure在交互式模式下运行

要以交互式模式运行目录准备脚本,请运行该脚本而不使用任何参数,然后对所问的问题输入您的选择。

以下带有数字编号的各段提供了有关如何使用交互式模式脚本的各个面板说明。

步骤
  1. 欢迎和简介面板


    # 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 退出。

  2. 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 键接受默认设置。

  3. 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 键接受默认设置。

  4. 目录管理员的标识名 (DN) 面板

    在此面板中需要输入两样内容:目录管理员 DN 和目录管理员密码。

    1. 首先,脚本将要求您输入 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 键接受默认设置。

    2. 然后脚本将要求您输入目录管理员的密码。


      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.
  5. 用户和组 Directory Server 面板


    Will this directory server be used for users/groups [Yes]:

    如果该目录实例仅用于存储配置数据,请输入 No,或者按 Enter 键接受默认设置。

    如果输入 No,则还必须针对存储用户和组数据的目录实例运行该脚本。(请在运行配置程序 csconfigurator.sh 前执行该操作。)

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

  6. 用户和组的基本后缀面板


    Please enter the Users/Groups base suffix [o=usergroup]:

    用户和组的基本后缀是 LDAP 组织树中的顶部条目。请确保您在此选择的后缀与您为 Directory Server、Calendar Server 和 Access Manager 指定的后缀相同。

  7. 模式类型面板


    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.52),必须安装并配置 Access Manager。否则,Directory 准备脚本将终止。必须先安装 Access Manager,然后再重新运行目录准备脚本。


  8. 域组件 (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 键接受默认设置。

  9. 系列问题面板

    该面板将询问您有关对 LDAP 的更新的一系列问题。

    1. 更新模式文件

      这时,程序将查看模式是否具有正确的模式元素。如果模式缺少某些元素,程序将显示以下消息:


      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

    2. 配置新索引

      如果在上一步中选择了更新模式,系统将询问您是否要配置新索引。有关为属性创建索引的更多信息,请参见属性索引


      Do you want to configure new indexes [yes]:

      要批准索引的创建,请按 Enter 键。

      如果您已对同一属性执行过此索引创建步骤,请回答 no

    3. 立即重新创建索引

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


      Reindex now [yes]?

      如果要在以后创建索引,请回答 no;否则,请按 Enter 键接受默认设置。

  10. 设置摘要面板

    在目录准备脚本更新 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.
  11. 运行脚本


    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 不能自动更新模式。


Procedure手动更新 LDAP 目录

步骤
  1. 安装 Calendar Server 62005Q4。

  2. 停止 Calendar Server(如果正在运行)。

  3. 停止 Directory Server(如果正在运行)。

  4. 60iplanet-calendar.ldif 文件复制到计算机(运行目录服务器)上的以下目录中:


    dir_svr_base/slapd-hostname/config/schema

    其中 dir_svr_base 是 Directory Server 安装目录,hostname 用于标识计算机。

  5. 如果要像配置程序那样为属性创建索引,则此时可以这样做。有关配置程序将为其创建索引的属性的列表,请参见属性索引

  6. 重新启动 Directory Server。如果发现对象标识符 (Object Identifier, OID) 错误,请参见解决 LDAP 模式目录中冲突的 OID

  7. 通过运行 csconfiguration.sh 程序来配置 Calendar Server。

    有关配置 Calendar Server 的说明,请参见第 3 章,Calendar Server 配置程序 (csconfigurator.sh)

解决 LDAP 模式目录中冲突的 OID

如果 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,请执行以下两个步骤:

  1. 编辑 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

  2. 编辑完 99user.ldif 文件后,重新启动 Directory Server。

第 3 章 Calendar Server 配置程序 (csconfigurator.sh)

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

  1. comm_dssetup.pl

    配置 LDAP Directory Server,如第 2 章,目录准备脚本 (comm_dssetup.pl)中所述。

  2. csconfigurator.sh

    配置 Calendar Server,如本章所述。

本章包含以下主题:


注 –

如果已安装了早期版本的 Calendar Server 或 Messaging Server,则可能需要将 LDAP 目录条目从 Schema 1 迁移到 Schema 2。

阅读《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》之前,请勿运行本章所介绍的配置实用程序。迁移指南将介绍运行配置实用程序的时间选择和选项。


收集配置信息

Calendar Server 配置程序 csconfigurator.sh 将在以下目录中创建新的 ics.conf 配置文件:

对于 Solaris:/etc/opt/SUNWics5/config

对于 Linux:/etc/opt/sun/calendar/config

配置程序将询问您若干问题,您必须就这些问题输入安装的具体信息。

运行配置程序之前,您应收集以下配置信息:

为帮助您记录这些配置信息,请使用附录 B,Calendar Server 配置工作单 中的工作单。(但是,在运行 Java Enterprise System 安装程序之前必须确定此配置信息,以避免与其他组件产品冲突,例如端号发生冲突)。

LDAP 服务器选项

Calendar Server 需要 Directory Server 来进行用户验证以及用户首选项的存储和检索。下表列出了用于收集 LDAP 服务器的主机和端口信息的选项。

表 3–1 用户首选项目录选项

选项 

说明 

LDAP 服务器主机名 

您计划用于用户验证和用户首选项的 LDAP Directory Server 的主机名。默认值为当前主机。 

LDAP 服务器端口 

LDAP Directory Server 侦听的端口号。默认值为 389。 

基本 DN 

LDAP 目录中用作搜索起点的条目。默认值为 o=currentdomain

目录管理员选项

下表列出了用于收集被指定为 Directory Manager 用户的名称和密码的选项。

表 3–2 目录管理员选项

选项 

说明 

目录管理员 DN 

可以在 Directory Server 模式下进行更改的用户名。默认值为 cn=Directory Manager

目录管理员密码 

目录管理员 DN 的密码。无默认值。 

Calendar Server 管理员

Calendar Server 管理员是高于任何 Calendar Server ACL 的用户帐户。Calendar Server 管理员用户帐户必须存在于您的用户验证 Directory Server 中。此帐户同时也用于代理验证。下表列出了用于收集 Calendar Server 管理员的用户 ID 和密码的选项。

表 3–3 Calendar Server 管理员选项

选项 

说明 

管理员用户 ID 

Calendar Server 管理员的用户 ID;必须为上述 LDAP Directory Server 中的用户。默认值为 calmaster

管理员密码 

Calendar Server 管理员的密码。无默认值。 

电子邮件和电子邮件警报选项

您可以将 Calendar Server 配置为在服务器出现故障时向 Calendar Server 管理员发送电子邮件警报消息。下表列出了用于收集电子邮件信息的选项。

表 3–4 电子邮件和电子邮件警报选项

选项 

说明 

电子邮件警报 

启用或禁用电子邮件警报。默认值为“已启用”。 

管理员电子邮件地址 

将接收电子邮件警报信息的 Calendar Server 管理员的电子邮件地址。 

SMTP 主机名 

Calendar Server 从中发送电子邮件警报消息的 SMTP 服务器的主机名。默认值为当前主机。 

运行时配置选项

您可以配置以下 Calendar Server 运行时选项和系统资源选项。

表 3–5 运行时配置选项

选项 

说明 

服务端口 

Calendar Server 用于侦听以向用户提供 Web (HTTP) 访问的端口号。默认值为 80

最大会话数 

允许同时进行的 Calendar Server 会话的最大数目。默认值为 5000

最大线程数 

允许同时进行的 Calendar Server 线程的最大数目。默认值为 20

服务器进程数 

对于 Solaris:可同时运行的 Calendar Server 进程的最大数目。默认值为要安装 Calendar Server 的服务器上 CPU 的数目。 

对于 Linux:一次仅可以运行一个进程。

运行时用户 ID 

Calendar Server 运行时使用的 UNIX 用户名。此用户名不应为 root。如果不存在该帐户,配置程序将创建它。默认值为 icsuser

运行时组 ID 

Calendar Server 运行时使用的 UNIX 组。如果不存在该组,配置程序将创建它。默认值为 icsgroup

启动 Calendar Server

您可以配置以下选项以自动启动 Calendar Server。

表 3–6 Calendar Server 启动选项

选项 

说明 

成功安装后启动 

成功安装后是否自动启动 Calendar Server。默认值为选中此选项。 

系统启动时启动 

系统启动后是否自动启动 Calendar Server。默认值为选中此选项。 

数据库、日志和临时文件目录

Calendar Server 在特定目录中的日历数据库文件、日志文件和临时文件中创建和存储信息。

表 3–7 数据库、日志和临时文件目录选项

选项 

说明 

数据库目录 

Calendar Server 在其中创建和存储日历数据库 (*.db) 文件的目录。默认值为:

/var/opt/SUNWics5/csdb

日志目录 

Calendar Server 在其中写入日志文件的目录。默认值为: 

/var/opt/SUNWics5/logs

临时文件目录 

Calendar Server 在其中写入临时文件的目录。默认值为: 

/var/opt/SUNWics5/tmp

归档和热备份目录 

Calendar Server 在其中写入归档备份的目录。用户定义的目录,用于存储每日快照和事务日志。如果这两种类型的备份都需要,那么将它们分别置于不同的目录下。如果未指定任何目录,则备份被存储在当前目录下。 


注 –

请勿更改日志文件目录和临时文件目录的位置或名称。


运行 csconfigurator.sh

您可以从图形用户界面 (GUI) 或从命令行运行配置程序。

如果您远程运行程序,则必须正确设置您的 DISPLAY 环境变量,并允许服务器的 X-Windows 连接,以在计算机上进行显示。例如,要使用 xhost 实用程序,请在计算机上执行以下命令:

xhost +

本节包含以下主题:

Procedure从命令行运行配置程序

步骤
  1. 以超级用户 (root) 身份登录或转为超级用户。

  2. 转到 /opt/SUNWics5/cal/sbin 目录。

  3. 使用从下表中选择的选项运行脚本:

    选项 

    说明 

    -nodisplay

    在仅文本模式(非 GUI)下运行配置脚本。 

    -noconsole

    不显示文本输出。将该选项与 -nodisplay 结合使用,以在无提示模式下运行配置脚本。

    -novalidate

    不验证输入字段文本。 

    -saveState [statefile]

    将您为响应配置问题所输入的答案保存到一个状态文件(文本文件)中。除非您指定状态文件的全限定路径,否则,此文件将被保存到以下默认目录中:/opt/SUNWics5/cal/jconfigure

    -state [statefile]

    使用状态文件设置输入值。 

    例如,要在命令行模式下运行配置脚本而不将输入保存到状态文件中。

    ./csconfigurator.sh -nodisplay

    命令行版本需要的信息以及进行的顺序都要与 GUI 相同。默认值显示在方括号 [] 中。要接受默认值,请按键盘上的 Enter 键。


    注 –

    有关脚本提示的各种问题所包含信息的文本,请参见后面几节中所示的 GUI 面板中的文本。


Procedure从 GUI 运行配置程序

步骤
  1. 以超级用户 (root) 身份登录或转为超级用户。

  2. 转到 /opt/SUNWics5/cal/sbin 目录。

  3. 发出此命令:

    ./csconfigurator.sh

    配置程序将显示以下系列面板:


    注意 – 注意 –

    配置程序仅配置一个域。如果计划使用多个域(虚拟域、托管域),则需要使用 Delegated Administrator 命令行实用程序来添加域。


欢迎面板

图 3–1 Calendar Server 配置程序的欢迎面板

此图为“欢迎”面板的屏幕抓图。

单击“下一步”继续,或单击“取消”退出。

管理、用户首选项和验证面板

图 3–2 管理、用户首选项和验证配置面板

此图为“管理、用户首选项和验证”面板的屏幕抓图。

用户首选项目录选项

LDAP 服务器主机名

要用于用户验证的 LDAP Directory Server 的主机名。默认值:当前主机

LDAP 服务器端口

LDAP 服务器侦听的端口号。默认值:389

Directory Manager DN

可以在 Directory Server 模式下进行更改的用户名。默认值:cn=Directory Manager

Directory Manager 密码

Directory Manager 的密码。默认值:无

基本 DN

LDAP 目录中用作搜索起点的条目。默认值:o=currentdomain

可以修改此值来满足部署需要。要检索 comm_dssetup.pl 创建的根后缀,请单击“获取”。通过此方法获得的基本 DN 只是来自当前设置的一个建议项。不管如何设置基本 DN,它必须与 LDAP 目录一致。


注 –

单击“获取”之前,您必须输入 Directory Manager DN 和密码以验证 Directory Server。


Calendar Server 管理员选项

管理员用户 ID

Calendar Server 管理员的用户 ID;必须为上述 LDAP Directory Server 中的用户。默认值:calmaster

管理员密码

Calendar Server 管理员的密码。默认值:无

单击“下一步”继续,单击“上一步”以返回上一个面板,或单击“取消”退出。

电子邮件和电子邮件警报面板

图 3–3 电子邮件和电子邮件警报配置面板

此图为“电子邮件和电子邮件警报”面板的屏幕抓图。

电子邮件警报

指定在服务器出现故障时 Calendar Server 是否向 Calendar Server 管理员发送电子邮件警报消息。默认值:已启用

管理员电子邮件地址

将接收电子邮件警报信息的 Calendar Server 管理员的电子邮件地址。默认值:

SMTP 主机名

用于发送电子邮件警报消息的 SMTP 服务器的主机名。默认值:当前主机。

单击“下一步”继续,单击“上一步”以返回上一个面板,或单击“取消”退出。

运行时配置面板

图 3–4 运行时配置面板

此图为“运行时配置”面板的屏幕抓图。

服务端口

Calendar Server 用于侦听以向用户提供 Web (HTTP) 访问的端口号。默认值:80

最大会话数

同时进行的 Calendar Server 会话的最大数目。默认值:5000

最大线程数

并发运行的 Calendar Server 线程的最大数目。默认值:20

服务器进程数

在服务器上运行的 Calendar Server 进程的最大数目。默认值:要安装 Calendar Server 的服务器上的 CPU 数目。

运行时用户 ID

Calendar Server 运行时使用的 UNIX 用户名。此用户名不应为 root。如果不存在该帐户,配置程序将创建它。默认值:icsuser

运行时组 ID

Calendar Server 运行时使用的 UNIX 组。如果不存在该组,配置程序将创建它。默认值:icsgroup

Calendar Server 启动选项

单击复选框可选择一个或同时选择两个选项。

  • 成功安装后启动

    指定成功安装后是否自动启动 Calendar Server。默认值:已选中

  • 系统启动时启动

    指定系统启动后是否自动启动 Calendar Server。默认值:已选中

单击“下一步”继续,单击“上一步”以返回上一个面板,或单击“取消”退出。

选择目录面板

请接受此面板上的默认目录。尽管允许您选择用于存储配置和数据文件的目录,但不建议您这样做。

图 3–5 选择目录配置面板

此图为“存储配置和数据文件的目录”面板的屏幕抓图。

配置目录

存储配置文件 (ics.conf) 的目录。

数据库目录

Calendar Server 在其中创建和存储日历数据库文件的目录。默认值:/var/opt/SUNWics5/csdb

日志目录

Calendar Server 在其中写入日志文件的目录。默认值:/var/opt/SUNWics5/logs

临时文件目录

Calendar Server 在其中写入临时文件的目录。默认值:/var/opt/SUNWics5/tmp

然后,单击“下一步”继续,单击“上一步”以返回上一个面板,或单击“取消”退出。

归档和热备份配置面板

该面板允许您同时选择两个自动备份类型或选择其中任一,或者均不选择。您可相应选定或取消选定这些复选框。强烈建议您同时使用归档备份和热备份。


提示 –

防止由于设备故障而造成所有数据库副本的严重丢失。请将您的自动备份副本保留在与动态数据库所在位置不同的磁盘或磁盘系统上。


有关自动备份的信息,请参见第 10 章,配置自动备份 (csstored)

图 3–6 归档和热备份配置面板

此图为“归档和热备份配置”面板的屏幕抓图。

启用归档

如果选中此框(默认),csstored 将每隔 24 小时对日历数据库执行一次快照。在一天结束时,它将把当天的事务日志文件与快照一起存储在归档备份目录下。

归档目录

通过单击“浏览”可选择备份目录,或者接受默认。

启用热备份

如果选中此框(默认),csstored 将每隔 24 小时对日历数据执行一次快照,但在设置的时间间隔(默认值为两分钟)内将事务日志应用到快照中,从而确保对动态数据库进行尽可能完整的复制。

热备份目录

通过单击“浏览”可选择备份目录,或者接受默认。

归档文件保留时间(以天为单位)

单击“最少”和“最多”字段中的向上箭头或向下箭头,可选择将归档备份保留在备份目录中的天数范围。

热备份保留时间(以天为单位)

单击“最少”和“最多”字段中的向上箭头或向下箭头,可选择将热备份保留在目录中的天数范围。

在任何时间实际存储的副本数取决于文件大小和目录大小。当在 ics.conf 文件中设定的大小限制或副本的最大数目超过限制时,将清除最早的副本,以将副本数降至此配置面板中所指定的最小数目。

单击“下一步”继续,单击“上一步”以返回上一个面板,或单击“取消”退出配置程序。

准备配置面板

到目前为止,面板一直在收集配置所需的数据并执行某些有效性检查。此时,您可以返回并重做配置信息,或者开始配置。

图 3–7 准备配置面板

此图为“准备配置”面板的屏幕抓图。

单击“立即配置”以配置 Calendar Server,单击“上一步”以返回上一个面板,或单击“取消”退出。

配置摘要面板

图 3–8 配置摘要面板

此图为“配置摘要”面板的屏幕抓图。

单击“详细资料”以查看配置日志的更多信息,或单击“关闭”以退出配置程序。

第 4 章 数据库迁移实用程序

如果您拥有早期版本的 Calendar Server(5.11 或更早版本),则在安装 Calendar Server 后执行安装后配置时您可能需要迁移组件数据库和 LDAP 数据库。

本章中的选择正确的实用程序一节可以帮助您选择要运行的正确实用程序。

本章包括以下各节:

安装后数据库迁移实用程序

安装 Sun Java System Calendar Server 后,如果您的日历数据库和 LDAP 数据库来自所安装的旧的 Calendar Server 5.1.1,请按照给定顺序运行以下实用程序:

  1. cs5migrate

    将日历数据库的格式从 Calendar Server 第 5 版迁移到第 6 版。可以从技术支持网站下载这些实用程序。

    如果计划使用 Connector for Microsoft Outlook 并具有周期性组件,则请使用 cs5migrate_recurring,该实用程序将为每个周期性系列创建主记录和异常。

    如果现有的数据库中没有周期性组件,或者有这样的组件但却并未打算使用 Connector for Microsoft Outlook,则请使用 cs5migrate

    无论 cs5migratecs5migrate_recurring 都仅可从技术支持处获得。他们未打包在产品中。

  2. csmig

    为 Calendar Server 6 数据库中的每个日历指定一个属主,并将每个日历 ID (calid) 映射到一个属主(如果需要),这可以支持托管(虚拟)域和 LDAP 日历查找数据库 (Calendar Lookup Database, CLD) 插件。此实用程序打包在 Calendar Server 中。在 cs5migrate 之后和 csvdmig 之前运行该实用程序。

  3. csvdmig

    将 Calendar Server 6 站点升级为使用托管(虚拟)域,方法是将日历的域 (@域名)添加到每个 calid 中。例如,在域 sesta.com 中,jdoecalid 现在将是 jdoe@sesta.com。此实用程序打包在 Calendar Server 中。在 cs5migrate 之后和 csmig 之前运行该实用程序。

  4. commdirmig

    将 LDAP 数据从 Schema 1 迁移到 Schema 2,为与 Access Manager 6.1(或更高版本)配套使用做好准备。此实用程序打包在 Access Manager 中。

选择正确的实用程序

由于有很多可供选择的实用程序,因此请使用下面的图形选择要运行的实用程序。

图 4–1 选择要运行的迁移实用程序

该图形显示为决策树,用来决定三个实用程序中要运行哪一个及运行的顺序。

csmig

csmig 实用程序为日历数据库中的每个日历指定一个属主并将每个日历 ID (calid) 映射到一个属主(如果需要)。

csmig 实用程序支持托管(虚拟)域和LDAP 日历查找数据库 (Calendar Lookup Database, CLD) 插件。可以使用 LDAP CLD 插件访问已迁移的数据库中的日历。有关 LDAP CLD 插件的信息,请参见第 6 章,在多个计算机上配置日历数据库分发

本节介绍以下主题:

csmig 的功能

csmig 迁移实用程序执行以下功能:

迁移日历

csmig 迁移由 caldb.berkeleydb.homedir.path 参数指定的当前日历数据库(*.db 文件)中的用户和资源日历。在新的目标数据库中,csmig 更新日历属性 (calprops)、事件、待办事件(任务)和组调度引擎 (Group Scheduling Engine, GSE) 数据库文件中的 LDAP CLD 插件所需的条目。

csmig 仅对目标数据库执行写入操作,而不更新现有日历数据库。

为日历指定属主

csmig 为日历数据库中的每个日历指定属主,并将每个日历的 ID (calid) 映射到一个属主(如果需要)。所有默认的 calids 都保持不变,并且不进行任何更改。其他日历按如下方式进行映射:

更新 LDAP 属性

csmig 更新所有相关的 LDAP 条目的 LDAP 属性,包括 icsSubscribedicsCalendaricsCalendarOwnedicsFreeBusyicsSet 和资源日历的 uidcsmig 为 LDAP 目录服务器数据库中的每个日历创建 icsDWPHost 属性。icsDWPHost 指定日历驻留的后端服务器的主机名称。

csmig 的要求

使用 csmig要求有:

csmig 语法

csmig 实用程序有以下语法:


csmig [-t DestinationDB]
      [-b Backend-DWPHost]
      [-o OutputFile]
      [-e ErrorFile]
      [-m MappingFile]
      [-c calendarOwner]
      [-r resourceOwner]
      { migrate|dryrun }

下表列出了实用程序选项,并给出了每个选项的描述和默认值。

csmig 选项 

说明和默认值 

-t DestinationDB

指定 csmig 生成的目标数据库。默认值为 MigratedDB

-b Backend-DWPHost

指定 DWP 后端主机服务器的名称。该名称必须与 ics.conf 文件中指定的 DWP 后端主机服务器名称相匹配。

-o OutputFile

指定输出文件,此文件将捕获 csmig 输出到屏幕的消息以及出现的任何错误。默认值为 MigrateOut

-e ErrorFile

csmig 向其中写入无法解决的错误或数据库条目的文件。如果数据库项无法解决,则不将它们写入目标数据库。默认值为 MigrateError

-m MappingFile

指定 dryrun 模式下生成的输出映射文件,它列出了 LDAP 模式中需要更改的条目。例如:

旧的:calid=jsmith

新的:calid=jsmith:basketball

映射文件仅提供了对 LDAP 模式所作的更改的列表。csmig 实际上并不对该模式进行这些更改。 

migrate 模式中不使用该映射文件。

-c calendarOwner

为不具有属主的用户日历指定属主。 

-r resourceOwner

为不具有属主的资源日历指定属主。 

migrate|dryrun

指定运行实用程序时所使用的模式。使用 migrate 模式执行迁移。在实际迁移之前,使用 dryrun 模式生成输出映射文件。

csmig 迁移步骤

在安装并配置 Calendar Server 6 后,必须运行 csmig 才能迁移现有的 Calendar Server 和 LDAP 数据。LDAP CLD 插件的正常工作需要进行 LDAP 数据的迁移。要使用 csmig 迁移日历数据,请按照以下步骤执行操作:

Procedure使用 csmig 的高级步骤

步骤
  1. 使用 comm_dssetup.pl 配置 Directory Server。

    如果尚未使用 comm_dssetup.pl 为 LDAP 属性创建索引,请现在创建索引。这将大大提高 LDAP 数据迁移的性能。

  2. 请使用分步服务器(非产品服务器)执行模拟运行测试。

    模拟运行会报告 csmig 在实际迁移过程中将要执行的操作,但模拟运行并不真地迁移任何数据。在模拟运行之后以及实际迁移之前,您可以更正任何错误,并确定处理任何未解决的日历的计划。

    有关如何执行模拟运行测试的说明,请参见csmig 迁移步骤

  3. 迁移产品数据

    在产品运行过程中,csmig 迁移日历数据库(.db 文件)与 LDAP 数据(用户和组首选项数据)、icsSubscribedicsCalendaricsCalendarOwnedicsFreeBusyicsSet 和用于资源日历的 uid。迁移之后,将为所有日历资源创建 LDAP 项。

    有关如何迁移产品数据的说明,请参见csmig 迁移步骤

Procedure要执行模拟运行测试

步骤
  1. 在分步服务器上安装 Calendar Server 6(如果需要)。

  2. 将日历数据库的快照复制到分步服务器。

  3. 通过执行以下任务在分步服务器上模仿产品 LDAP 环境:

    • 安装 Directory Server。

    • 在此服务器上安装 LDAP 数据库的快照。

  4. 运行 comm_dssetup.pl 以配置分步 Directory Server。

  5. 运行 csconfigurator.sh 以配置分步 Calendar Server。

  6. icsuser 身份登录(或者,如果不相同,以配置过程中指定的 Calendar Server 运行时用户 ID 登录)。如果您以超级用户 (root) 身份运行 csmig,则可能需要重置已迁移文件的权限。

  7. 转至 cal_svr_base/SUNWics5/cal/sbin 目录。

  8. 运行 csdb check 命令检查数据库中是否存在损坏。如果该命令检测出数据库中存在损坏,则运行 csdb rebuild 命令来重新建立数据库。

  9. 考虑为不具有属主的用户日历创建通用的 calid。例如,以下命令将创建 calidorphan 的用户:


    ./csuser -g orphan -s adminuser -y password -l en -c orphan create orphan
  10. 使用 stop-cal 命令停止 Calendar Server(如果需要)。

    cal_svr_base/SUNWics5/cal/sbin/stop-cal

  11. 运行带有 dryrun 选项的 csmig。例如,可以输入:

    ./csmig -b sesta.com -o csmig.out -e csmig.errors
     -m csmig.map -c orphan -r calmaster dryrun

    该命令将不具有属主的用户日历(不带有属主的日历)指定给属主 orphan,将不具有属主的资源日历指定给属主 calmaster

  12. 检查输出的映射文件 (csmig.map)。映射文件列出了 LDAP 模式中需要更新的条目。

  13. 检查输出、映射和出错文件。解决发现的任何 LDAP 问题或错误。在进行实际的迁移之前,确定如何处理未解决的日历。有以下若干选择:

    • 在迁移前,删除任何不需要的日历。

    • 为任何未解决的日历指定属主。

    • 在迁移期间,使用 -c-r 选项允许 csmig 为日历指定属主。

  14. 运行 csmig 以迁移分步日历数据库。

    例如,以下命令将把日历数据库迁移至 /var/opt/SUNWics5/testcsdb/ 目录:

    ./csmig -t /var/opt/SUNWics5/testcsdb/ -b sesta.com 
    -o csmig.out -e csmig.errors -m csmig.map -c orphan 
    -r calmaster migrate
  15. 测试迁移完成之后,请执行以下步骤检查新迁移的日历数据库。

    1. 将已迁移的数据库复制到 caldb.berkeleydb.homedir.path 参数指定的 /csdb 目录中。或者编辑此参数,使其指向迁移的数据库的新位置。

    2. 对新的日历数据库运行 csdb check。迁移的数据库中事件和待办事件的数目应与迁移之前的总数相匹配。

    3. 搜索 icsCalendarOwned 条目,并确保这些条目与迁移前日历的数目相匹配。

    4. 登录到 Communications Express 并验证已迁移的数据库中的某些日历。

      如果成功完成了迁移测试,则可以开始迁移产品数据库。

Procedure要迁移产品数据

步骤
  1. icsuser(或在配置过程中指定的 Calendar Server 运行时用户 ID)身份登录。如果您以超级用户 (root) 身份运行 csmig,则可能需要重置已迁移文件的权限。

  2. 转至 cal_svr_base/SUNWics5/cal/sbin 目录。

  3. 使用 stop-cal 命令停止 Calendar Server(如果需要)。

    cal_svr_base/SUNWics5/cal/sbin/stop-cal

  4. 备份以下数据:

    • 日历数据库(.db 文件)。

    • LDAP 数据:slapd 数据库目录和 LDAP 数据库。

    • ics.conf 文件。此步骤实际上并不需要,但如果要恢复为初始配置,该步骤则会很有帮助。

  5. 运行带有 migrate 选项的 csmig

    例如,以下命令将把日历数据库迁移至 /var/opt/SUNWics5/newcsdb/ 目录:

    ./csmig -t /var/opt/SUNWics5/newcsdb/ -b sesta.com 
    -o csmig.out -e csmig.errors -m csmig.log -c orphan 
    -r calmaster migrate
  6. 检查错误文件 (csmig.errors ) 中是否有未解决问题的日历,并根据csmig 迁移步骤中的计划解决这些日历中的问题。

  7. 运行 csdb check 命令以检查已迁移的数据库。如果该命令检测出数据库中存在损坏,则运行 csdb rebuild 命令来重新建立数据库。

  8. 将新迁移的数据库复制到 caldb.berkeleydb.homedir.path 参数指定的 /csdb 目录中。或者编辑此参数,使其指向迁移的数据库的新位置。

  9. 通过对 ics.conf 文件中的以下配置参数进行必要的更改来启用 LDAP CLD 插件:

    • service.dwp.enable = "yes"

    • service.dwp.port = "9779"

    • csapi.plugin.calendarlookup = "y"

    • csapi.plugin.calendarlookup.name = "*"

    • caldb.cld.type = "directory"

    • caldb.dwp.server.default = "default-server-name"

    • caldb.dwp.server.server-hostname .ip = "server-hostname "(用于包含本地服务器的每个后端服务器)

    • caldb.cld.cache.enable = "yes"(如果要使用 CLD 高速缓存选项)

    • caldb.cld.cache.homedir.path 指定 CLD 高速缓存目录的位置。默认值为 /var/opt/SUNWics5/csdb/cld_cache

      有关设置 LDAP CLD 插件的配置参数的信息,请参见第 6 章,在多个计算机上配置日历数据库分发

  10. 使用 start-cal 命令重新启动 Calendar Server。

  11. 登录到 Communications Express 并通过检查几个已迁移的日历来验证配置是否起到作用。

    要在检查时禁用警报,请将 ics.conf 文件中的以下参数都设置为 “no”

    • caldb.serveralarms = "no"

    • caldb.serveralarms.dispatch = "no"

    • service.ens.enable = "no"

    • service.notify.enable = "no"

    • ine.cancellation.enable = "no"

    • ine.invitation.enable = "no"

    • service.admin.alarm = "no"

csmig 提示和疑难解答

本节介绍了以下提示和疑难解答示例:

csmig 模拟运行日历显示了日历的错误属主。

问题示例

名为 tchang:myCalendar 的日历的属主在日历数据库中为 jsmithcsmig 模拟运行将映射显示为 jsmith:tchang_myCalendar。但是,您希望将此日历命名为 tchang:myCalendar,并将属主指定为 tchang

解决方案示例

在迁移之前,使用 cscal 实用程序将 tchang:myCalendar 日历的属主更改为 tchang。执行此操作后,迁移操作会将此日历映射为 tchang:myCalendar,并针对用户 ID tchang 向 LDAP 条目中添加 icsCalendarowned

LDAP 日历搜索无法正常工作。

问题示例

迁移之后,将启用 LDAP 日历搜索,但日历搜索对话框不返回任何结果,或仅返回部分结果。

解决方案示例

启用 LDAP 日历以使 Calendar Server 可以搜索 (&(objectclass=icscalendaruser)(icscalendarowned=*substr*))

使用以下过滤器对 LDAP 数据手动运行两个不同的搜索,并比较输出结果:

因为服务器使用包含 icsCalendarUser 对象类的过滤器,所以可能已在禁用模式检查的情况下部署了 LDAP 服务器,并且可能在没有 icsCalendarUser 对象类的情况下置备了某些日历条目。

csmig 模拟运行指示重复的日历名称。

问题示例

csmig 模拟运行映射文件和输出结果文件指示存在重复的日历名称。例如,在初始数据库中,jsmith 拥有以下日历:

模拟运行的结果表示迁移时将合并这两个日历,生成的日历将为 jsmith:basketball,该日历的属主为 jsmith 并总共具有 15 个事件

输出文件将包含以下警告消息:

Error modifying calendar properties, error=2

解决方案示例

如果不希望合并这两个日历,则在迁移之前将 basketball 的属主更改为 jsmith 以外的用户。这可以保持这两个独立日历数据的完整性。

如何将不带有属主的日历指定给不同的属主?

问题示例

默认情况下,csmig 将所有不带有属主的日历指定给一个属主,但是我希望为其中的某些日历指定不同的属主。

解决方案示例

csmig 不接受命令行中的映射文件。但是,可以在迁移之前为初始数据库中不带有属主的日历指定属主。检查所有不带有属主的日历的空运行映射文件。然后,在迁移之前使用 cscal 实用程序为不带有属主的日历指定属主。在 dryrun 模式下再次运行 csmig 以验证新的属主。

如何将日历用户移至其他后端服务器?

问题示例

如何将用户从一个后端服务器移动到另一个后端服务器?

解决方案示例

要移动日历用户,应通过 export 命令导出初始服务器上该用户的每个日历,然后通过 import 命令将日历导入到第二个服务器。移动日历后,可以删除初始服务器上的日历。有关如何移动日历的说明,请参见管理用户日历

csvdmig

csvdmig 实用程序针对要使用托管(虚拟)域的站点修改 Calendar Server 数据库和 LDAP 目录服务器数据库。


注 –

如果实用程序是从非托管环境中移出的,请确保在使用该实用程序前运行 csmig


本节包含以下主题:

csvdmig 的功能

csvdmig 实用程序按以下方式将域名添加到用户 ID:


注意 – 注意 –

csvdmig 实用程序将对数据库和 LDAP 目录进行相应更新。也就是说,该实用程序并不创建单独的迁移数据库,而是修改正在转换的数据库。因此,为了安全起见,请针对数据库和 LDAP 目录的快照运行 csvdmig


csvdmig 语法

csvdmig 实用程序的语法如下:


csvdmig [-t DestinationDB]
         [-c ConfigFile]
         [-e ErrorFile]
         [-m MappingFile]
         migrate [DB|LDAP]

下表列出了 csvdmig 使用的选项,并给出了每一个选项的描述。

选项 

说明和默认值 

-m MappingFile

指定映射文件的输入参数。有关映射文件的更多信息,请参见映射文件。默认值为 MigrateMapping

-c ConfigFile

指定 Calendar Server 配置文件的输入参数。默认值为 ics.conf 文件。

-t DestinationDB

指定数据库位置的输出参数。默认值为 MigratedDB


提示 –

始终使用 -t 选项。在工作目录中尝试迁移数据库将产生难以预料的结果。请参见目标 DB


-e ErrorFile

为无法解决的错误指定错误文件的名称的输出参数。默认值为 MigrateError

DB | LDAP

指定要修改的数据库: 

DB—日历数据库

LDAP—LDAP 目录

默认值为日历数据库 (DB)。

表 4–1 csvdmig 的选项

选项 

说明和默认值 

-m MappingFile

指定映射文件的输入参数。有关映射文件的更多信息,请参见映射文件。默认值为 MigrateMapping

-c ConfigFile

指定 Calendar Server 配置文件的输入参数。默认值为 ics.conf 文件。

-t DestinationDB

指定数据库位置的输出参数。默认值为 MigratedDB。请参见目标 DB

-e ErrorFile

为无法解决的错误指定错误文件的名称的输出参数。默认值为 MigrateError

DB | LDAP

指定要修改的数据库: 

DB—Calendar Server 数据库LDAP—LDAP 目录

默认值为日历数据库 (DB)。

映射文件

映射文件是输入文本文件,可将现有用户映射到其各自的域。运行 csvdmig 之前,必须创建映射文件。每行指定一个条目,在旧值和新值之间留有一个空格。例如:

user1 user1@sesta.com
user2 user2@siroe.com
user3 user3@sesta.com
 ...
usern usern@siroe.com

目标 DB

该实用程序不会将已迁移的文件移至新的 DestinationDB 中。如果指定了 -t 选项,则必须在运行 csvdmig 前将要迁移的数据库文件复制到该目录中。

如果不使用 -t 选项,实用程序将迁移工作目录中的文件,并生成难以预料的结果。

csvdmig 示例

commdirmig

commdirmig 实用程序将 LDAP 数据从 Sun LDAP Schema 1 迁移到 Schema 2,为将 Access Manager 用于验证服务做好准备。

本节包含以下主题:

谁应运行该实用程序

如果之前使用的是 Messaging Server 5 或 Calendar Server 5,则您的 LDAP 条目的格式为 Schema 1。在新的 Calendar Server 环境中,如果要使用 Access Manager 来进行验证,则必须运行此实用程序将 LDAP 条目转换为 Schema 2 格式。

如果使用的不是 Access Manager,由于 Schema 2 是所有使用 LDAP 的 Java Enterprise System 产品首选的 LDAP 模式,所以仍应考虑迁移 LDAP 数据。将来,更新的通信产品(Calendar、Messaging 和 Instant Messaging)版本可能不再支持 Schema 1。但是,如果您目前不打算使用 Access Manager,则可以在以后适当的时候进行迁移。


注 –

如果具有单独 LDAP 目录首选项,则必须在该 LDAP 和用于验证的 LDAP 上运行 commdirmig


何时运行该实用程序

如果要从之前的 Java Enterprise System Calendar Server 版本进行迁移,请在运行 cs5migratecsmigcsvdmig 之后运行此实用程序。

何处查找文档

commdirmig 迁移实用程序需要特殊的准备和规划。它在独立的指南中进行说明,请参见《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》

何处查找该实用程序

commdirmig 实用程序与通过 Java Enterprise System 安装程序安装的 Delegated Administrator 捆绑在一起。

也可以从技术支持处获得该实用程序的修补程序。