Sun Java System Calendar Server 6.3 管理指南

第 3 部分 自定义 Calendar Server 配置

本部分包含的章节涉及可通过编辑配置文件 ics.conf 来配置的各种功能。

本部分包括以下章节:

第 4 章 自定义 Calendar Server

在安装和安装后的配置完成后就可以按配置来运行 Calendar Server。但是,可通过编辑 ics.conf 文件来自定义系统中的功能(重新配置系统)。


注 –

ics.conf 文件中允许存在重复参数。系统取文件中参数的最后一个实例的值。

最佳做法:要避免混淆,将自定义内容添加到文件尾部为此目的而创建的部分中。例如,可以创建包含以下文本的注释行:! 我的 ics.conf 更改。然后添加任意新参数或任意正在修改的参数及其值。向每个参数添加注释,以说明进行更改的原因并添加当前日期。这将提供有关对系统所做更改的历史记录,以供以后参考。

如果进行了大量的自定义,要提高处理效率,可能需要考虑注释掉要替换的原始参数。另外,定期查看文件以注释掉过期的重复参数。


本章及第 3 部分, 自定义 Calendar Server 配置中的其他各章包含了有关重新配置 Calendar Server 的说明和信息。

可在以下目录中找到 ics.conf 文件:

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

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


注 –

完成以下任务前,请勿尝试编辑此配置文件:


本章包含以下配置主题:

4.1 配置 Communications Express

本节包含用于配置 Communications Express 的两个配置文件参数。

Communications Express 需要:

Procedure配置代理验证

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的 ics.conf 参数:

    service.http.allowadminproxy

    如果设置为 "yes",则启用管理员代理验证。默认值为 "yes"

    service.http.admins

    列出对 Calendar Server 具有管理权限的用户 ID。默认值为 "calmaster"。它可以是包含多个值(以空格分隔)的列表。其中一个值必须为在 uwconfig.properties 文件中为 calendar.wcap.adminid 所指定的值。

    service.siteadmin.userid

    calmaster 的用户 ID。该用户 ID 应当与在 uwcconfig.properties 文件的 calendar.wcap.adminid 参数中找到的用户 ID 相同。

    service.siteadmin.cred

    calmaster 的密码。此密码应当与在 uwcconfig.properties 文件的 calendar.wcap.passwd 参数中找到的密码相同。


    注 –

    uwcconfig.properties 文件位于 comms-express-svr-base/WEB-INF/config 目录中,其中 comm-express-svr-base 是 Communications Express 的安装目录。


  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

另请参见

有关配置 Communications Express 的说明,参见《Sun Java System Communications Express 6.3 Customization Guide》

Procedure启用匿名访问

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑 ics.conf 中的以下参数来启用匿名访问:

    service.wcap.anonymous.allowpubliccalendarwrite

    启用或禁用允许进行匿名访问的用户对公共日历的写操作。将此值设置为 "yes"(默认值)可以启用写访问权限。

    service.wcap.allowpublicwritablecalendars

    允许用户拥有可写入的公共日历。默认情况下,已启用(设置为 "yes")此功能。

    service.http.allowanonymouslogin

    如有必要,通过将该参数设置为 "yes" 来启用匿名访问(登录)。默认值为 "yes"

    service.calendarsearch.ldap

    出于安全性目的,启用匿名登录之后,您可能希望在进行日历搜索时,首先禁用对 LDAP 的搜索,为此可以将该参数设置为 "no"(默认值)。


    注 –

    Communications Express 需要 service.calendarsearch.ldap 参数值为 "no"。这与有关在 DWP 环境(数据库分布在多个后端中)中调优系统以获得最佳性能的说明冲突。参见 21.2 提高日历搜索在 DWP 环境中的性能


  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

    有关配置 Communications Express 的说明,参见《Sun Java System Communications Express 6.3 Administration Guide》

4.2 配置日历

本节包含以下主题:

Procedure配置用户日历

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    calstore.calendar.default.acl

    指定用户创建日历时使用的默认访问控制权限。其格式由一个以分号分隔的访问控制条目 (ACE) 变量字符串列表指定。默认值为:

    "@@o^a^r^g;@@o^c^wdeic^g;
    @^a^fs^g;@^c^^g;@^p^r^g"

    有关 ACE 格式的更多信息,请参见15.4 日历访问控制;有关 Calendar Server 实用程序,请参见D.5 cscal

    calstore.calendar.owner.acl

    指定日历所有者的默认访问控制设置。默认值为:"@@o^a^rsf^g;@@o^c^wdeic^g"

    calstore.freebusy.include.defaultcalendar

    指定是否在用户的空闲/繁忙日历列表中包括用户的默认日历。默认值为 "yes"

    calstore.freebusy.remove.defaultcalendar

    指定是否可以从用户的空闲/繁忙日历列表中删除用户的默认日历。默认值为 "no"

    service.wcap.freebusy.redirecturl

    指定用于在不同数据库中搜索日历的 URL。仅在迁移日历数据库时,才使用此参数。在两个不同数据库之间分隔日历时,您可以指定不同于当前 Calendar Server 数据库的 URL。系统首先搜索 Calendar Server 日历数据库,如果找不到用户,它将查看重定向 URL 是否可用。可使用 get_freebusy 命令传递设置为 1noredirect 参数来关闭此功能。

    calstore.subscribed.include. defaultcalendar

    指定是否在用户的预定日历列表中包括用户的默认日历。默认值为 "yes"。

    service.wcap.login.calendar.publicread

    如果设置为 "yes",则默认用户日历初始设置为公用读/专用写。如果设置为 "no",则默认用户日历初始设置为专用读/专用写。默认值为 "no"

    user.allow.doublebook

    确定是否可以为用户日历的同一时段安排多个事件:

    • "no" 禁止重复预订。

    • "yes" 允许重复预订,此为默认值。

      此参数仅在创建用户日历时使用。然后,Calendar Server 将检查日历属性文件 (ics50calprops.db) 以决定是否允许重复预订。

      要更改重复预订日历属性的值,使用带 -k 选项的 cscal

    user.invite.autoprovision

    决定在用户收到邀请但没有默认日历时,是否应自动创建用户日历。默认情况为启用此选项 ("yes")。

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure配置资源日历

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    resource.allow.doublebook

    确定在创建日历时,是否可以为资源(如会议室或音频视频设备)日历的同一时段预定多个事件:

    • "no" 表示禁止重复预订,并且它为默认值。

    • "yes" 表示允许重复预订。

    • 此参数仅在创建资源日历时使用。

      创建资源日历后,Calendar Server 将检查日历属性 (ics50calprops.db) 以决定是否允许重复预订。

      要更改资源日历的日历属性以允许或禁止重复预订,使用带 -k 选项的 csresource

    resource.default.acl

    指定创建资源日历时使用的默认访问控制权限。默认值为:

    "@@o^a^r^g;@@o^c^wdeic^g;
    @^a^rsf^g")
    resource.invite.autoaccept

    将邀请发送到资源后,是否应自动将其标记为“已接受”?默认值为 "yes"

    resource.invite.autoprovision

    将资源邀请到事件后,如果它没有现有日历,是否应自动置备?

    默认值为 "yes"

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure配置组日历

可在组日历中对类似于用户日历的事件进行计划预定。但是,用户不应登录到组日历中。要查看组日历,用户应进行订阅。要配置组日历,编辑 ics.conf 文件,如以下步骤所示。

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    group.allow.doublebook

    指定是否可以重复预订组日历。默认值为 yes

    group.default.acl

    指定组日历的默认 ACL:

    "@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

    group.invite.autoprovision

    指定启用还是禁用自动置备。默认值为 "yes"(启用)。

    group.invite.autoaccept

    指定组邀请是否自动具有 PARTSTAT=ACCEPTED

    group.invite.expand

    确定是否应扩展邀请的组。

    如果设置为 "yes",则在其满足 calstore.group.attendee.maxsize 参数的约束条件时对其进行扩展。如果扩展失败,或者此参数设置为 "no",则参与者列表中只会显示组名,并且不需要 RSVP。

    calstore.group.attendee.maxsize

    指定是否可以扩展组。"0" 表示无扩展限制。可扩展任意大小的组。

    如果允许扩展,但存在限制。参数的值将表示扩展组中允许的最大参与者数。如果组中的数目超过最大大小,则不扩展组。

    "-1" 表示不允许扩展。

    如果由于超出最大大小而不允许扩展,则参与者列表中只会显示组名,并且会向组织者返回错误。

  6. 将此文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal
另请参见

有关配置组的说明,参见为组配置 Calendar Server

Procedure禁用日历的自动置备

默认情况下,启用用户、资源和组日历的自动置备。也就是说,如果尝试登录的用户尚没有默认日历,系统将创建带有默认设置的用户日历。

如果将用户、资源或组邀请到事件中,但其尚没有默认日历,系统将创建带有默认设置的资源或组日历。

如果要禁止某些日历进行自动置备,更改 ics.conf 文件中的相应参数,如以下步骤所示。

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 通过编辑以下参数来禁用用户、资源和组日历的自动置备:

    local.autoprovision

    指定是启用 ("yes") 还是禁用 ("no") 用户日历的自动置备。默认值为 "yes"

    resource.invite.autoprovision

    指定是启用 ("yes") 还是禁用 ("no") 资源日历的自动置备。默认值为 "yes"

    group.invite.autoprovision

    指定是启用 ("yes") 还是禁用 ("no") 组日历的自动置备。默认值为 "yes"

    autoprovisioning

    指定是启用 ("yes") 还是禁用 ("no") 用户日历的自动邀请。默认值为 "yes"

  6. 将此文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置空闲-繁忙查找

空闲-繁忙视图有多种用途。可设置多个 ics.conf 参数来自定义空闲-繁忙视图的生成方式。

  1. 以有权更改此配置的管理员身份登录。

  2. 通过发出 stop-cal 命令来停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个 ics.conf 参数:

    service.wcap.freebusybegin

    指定 get_freebusy 与当前时间的偏移(以天为单位)的开始范围。默认值为 "30"

    service.wcap.freebusyend

    指定 get_freebusy 与当前时间的偏移(以天为单位)的结束范围。默认值为 "30"

    calstore.freebusy.include.defaultcalendar

    指定是否在用户的空闲/繁忙日历列表中包括用户的默认日历。默认值为 "yes"

    calstore.freebusy.remove.defaultcalendar

    指定是否可以从用户的空闲/繁忙日历列表中删除用户的默认日历。默认值为 "no"

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

4.3 配置 LDAP 用户、组和资源的日历

本节包含有关配置 LDAP 用户、组和资源的说明。

本节包括以下主题:

Procedure配置日历用户

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    local.lookupldapsearchattr.aclgroup

    用于指定进行 ACL 计算时,用户、组或资源是哪个组的成员的属性。默认值为 "aclgroupaddr"。(它用于计算动态组。)

    service.wcap.allowchangepassword

    如果设置为 "yes",则允许用户更改他们的密码。默认值为 "no"

    service.wcap.allowpublicwritablecalendars

    如果设置为 "yes",则允许用户拥有可写入的公共日历。默认值为 "yes"

    calstore.subscribed.remove.defaultcalendar

    指定是否可以从用户的预定日历列表中删除用户的默认日历。默认值为 "no"

    service.wcap.allowcreatecalendars

    如果设置为 "yes",则允许由不具有管理权限的用户创建日历。默认值为 "yes"

    service.wcap.allowdeletecalendars

    如果设置为 "yes",则允许由不具有管理权限但对日历具有删除权限的用户删除日历。默认值为 "yes"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure设置日历用户首选项

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    service.wcap.allowsetprefs.cn

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "cn"(LDAP 用户的通用名称)。默认值为 "no"。

    service.wcap.allowsetprefs.givenname

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "givenname"(LDAP 用户的名)。默认值为 "no"

    service.wcap.allowsetprefs.icsCalendar

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "icsCalendar"(用户的默认日历标识符)。默认值为 "no"

    service.wcap.allowsetprefs.mail

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "mail"(用户的电子邮件地址)。默认值为 "no"

    service.wcap.allowsetprefs. preferredlanguage

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "preferredlanguage"(LDAP 用户的首选语言)。默认值为 "no"

    service.wcap.allowsetprefs.sn

    如果设置为 "yes",则允许 set_userprefs 修改用户首选项 "sn"(LDAP 用户的姓)。默认值为 "no"

    service.wcap.userprefs.ldapproxyauth

    如果设置为 "yes",则启用 get_userprefs 的 LDAP 代理验证。如果设置为 "no",则执行匿名的 LDAP 搜索。默认值为 "no"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure为组配置 Calendar Server

Calendar Server 支持 LDAP 组,它们为一个用户的命名集合。组成员可以是静态成员,也可以是动态创建的成员。组可以嵌套。组具有与用户的 uid 类似的 groupid。组还有邮件地址。

此外,组还可以拥有组 calid 对应于 groupid 的默认日历以及附加的域,例如 groupid@sesta.com。组日历在首选项数据库中没有存储有用户界面首选项。实际上,LDAP 条目包含一个创建组时使用的 icsDefaultacl 属性。

组在 LDAP 条目中定义为 icsCalendarGroup 的实例。有关组日历可用的其他属性的信息,参见《Sun Java System Communications Services 6 2005Q4 Schema Reference》

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    local.lookupldapsearchattr.owner

    用于组和资源的所有者属性。默认值为 "owner"

    local.lookupldapsearchattr.coowner

    用于组和资源的辅助所有者属性。默认值为 "icsSecondaryowners"

    local.lookupldapsearchattr.groupid

    用于存储唯一组标识符的属性。默认值为 "groupid"

    local.lookupldapsearchattr.defaultacl

    用于存储在自动置备时提供给每个组日历的默认 ACL 的属性。默认值为 "icsDefaultacl"

    local.lookupldapsearchattr.doublebook

    用于指定是否允许重复预订组日历的属性。它是在自动创建默认组日历时使用的属性。默认值为 "icsDoublebooking"

    local.lookupldapsearchattr.autoaccept

    用于指定是否自动接受对组日历的邀请的属性。它是在自动创建默认组日历时使用的属性。默认值为 "icsAutoaccept"

    local.lookupldapsearchattr.timezone

    用于为自动创建的组日历指定时区的属性。默认值为 "icsTimezone"

    local.lookupldapsearchattr.aclgroup

    用于指定进行 ACL 计算时,用户、组或资源是哪个组的成员的属性。默认值为 "aclgroupaddr"。(对于多个组,它可能会用于嵌套组。)

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

另请参见

如果要拥有用于组的日历,需配置组日历。参见配置组日历

如果要使用组,应在组 LDAP 条目中设置以下域级别首选项:

有关如何为组配置 Calendar Server 域的信息,参见 11.1 在 Calendar Server 版本 6.3 中为组配置域首选项

4.4 配置 Calendar Server

本节包含通过编辑 ics.conf 文件来自定义服务器端配置的过程。

本节包含以下主题:

Procedure配置服务器行为

默认情况下,已配置日历存储,如下表所示。如果要重新配置日历存储,请执行以下步骤:

  1. 以有权更改此配置的管理员身份登录。

  2. 使用 stop-cal 停止 Calendar Server。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    calstore.calendar.create.lowercase

    指定在创建新日历或使用 LDAP CLD 插件查找日历时,Calendar Server 是否应将日历 ID (calid) 转换为小写。默认值为 "no"

    calstore.default.timezoneID

    导入文件时使用的时区 ID,对以下对象而言该时区 ID 是唯一的:事件、日历和用户。 

    默认值为 "America/New_York"

    如果指定的值无效,服务器将使用 GMT(Greenwich Mean Time,格林威治标准时间)时区。 

    calstore.filterprivateevents

    指定 Calendar Server 是否过滤(识别)“私人”和“保密”(仅时间与日期)事件和任务。如果指定为 "no",Calendar Server 会将它们与“公共”事件和任务一样处理。默认值为 "yes"

    calstore.group.attendee.maxsize

    扩展组时允许的最大成员数。默认值 "0" 表示扩展组时无需考虑大小限制。

    -1 表示不扩展组。

    calstore.recurrence.bound

    周期性扩展可以创建的最大事件数目。默认值为 "60"

    calstore.userlookup.maxsize

    从用户搜索的 LDAP 查找中返回的最大结果数目。值为 "0" 时表示没有限制。默认值为 "200"

    calstore.unqualifiedattendee.fmt1.type

    指定在执行事件参与者的目录查找时,Calendar Server 如何处理字符串,例如 jdoejdoe:tv。允许的值有:uidcngidresmailtocap。默认值为 "uid"

    calstore.unqualifiedattendee.fmt2.type

    指定在执行事件参与者的目录查找时,Calendar Server 如何处理带 @ 符号的字符串,例如 jdoe@sesta.com。允许的值有:uidcngidresmailtocap。默认值为 "mailto"

    calstore.unqualifiedattendee.fmt3.type

    指定在执行事件参与者的目录查找时,Calendar Server 如何处理带空格的字符串,例如 john doe。允许的值有:uidcngidrescap。默认值为 "cn"

    service.wcap.validateowners

    如果设置为 "yes",服务器必须验证日历的每个所有者都存在于 LDAP 目录中。默认值为 "no"

    service.wcap.freebusy.redirecturl

    如果在本地日历数据库中找不到请求的日历,则可以使用在该参数中找到的 URL 来将搜索重定向到另一数据库。此参数特定用于当在两个数据库之间进行迁移并且这两个数据库都正在使用时所创建的脚本。然后,可以使用 get_freebusy.wcap 命令来指定是否访问其他数据库。参见《Sun Java System Calendar Server 6.3 WCAP Developer’s Guide》 中的对 get_freebusy 命令的说明。

    store.partition.primary.path

    存储日历信息的主磁盘分区的位置。默认值为 "/var/opt/SUNWics5/csdb"

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置日历日志记录

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    logfile.admin.logname

    此日志文件包含发出的管理工具命令的历史记录。默认值为 "admin.log"

    logfile.buffersize

    日志缓冲区的大小(以字节为单位)。默认值为 "0"。指定日志文件中每个条目的大小。如果缓冲区填满过快,请考虑增大它们。

    logfile.dwp.logname

    与日志记录数据库有线协议相关的管理工具的日志文件的名称。默认值为 "dwp.log"。为每个前端服务器指定一个日志文件名。

    logfile.expirytime

    日志文件过期前的秒数。默认值为 "604800"。该时间过后,清除例程将清除这些日志。如果要归档日志,则必须编写您自己的例程。

    logfile.flushinterval

    刷新日志文件缓冲区的间隔秒数。默认值为 "60"

    如果系统要处理的日志信息容量过大以至于缓冲区在 60 秒之内即已填满,则将丢失信息。在这种情况下,请考虑降低该时间间隔。请注意,减少该时间间隔将增大系统开销。 

    logfile.http.logname

    cshttpd 服务的当前日志文件的名称。默认值为 "http.log"

    logfile.http.access.logname

    当前 HTTP 访问日志文件的名称。 

    logfile.logdir

    日志文件的目录位置。默认值为 "/var/opt/SUNWics5/logs"

    logfile.loglevel

    决定服务器记录细节的级别。每个日志条目指定以下级别之一(从最严重的级别开始):CRITICAALERTERRORWARNINGNOTICEINFORMATIONDEBUG。默认值为 "NOTICE"

    如果设置为 CRITICAL,则 Calendar Server 记录的细节最少。如果希望服务器记录最多的细节,请指定 DEBUG

    后面的每个日志级别还将给出其前面所有的更严重的日志级别。例如,如果设置为 WARNING,则只记录 CRITICALERRORWARNING 级别的日志条目。如果设置为 DEBUG,则记录所有级别的日志条目。

    logfile.maxlogfiles

    日志目录中的日志文件的最大数目。默认值为 "10"。在系统尝试创建第 11 个日志文件之前,它将运行清除例程以清除旧日志文件。

    logfile.maxlogfilesize

    所有日志文件的最大磁盘空间(以字节为单位)。默认值为 "2097152"。如果创建下一个日志文件将超出该限制,则系统将尝试通过删除最早的日志文件来释放磁盘空间。

    logfile.minfreediskspace

    必须为日志预留的最小可用磁盘空间(以字节为单位)。达到此值后,Calendar Server 将通过使旧日志文件过期来释放磁盘空间。如果无法释放空间,则停止记录。默认值为 "5242880"

    logfile.notify.logname

    csnotifyd 服务的日志文件的名称。默认值为 "notify.log"

    logfile.rollovertime

    旋转日志文件前的秒数。即,创建/打开新日志文件之间的时间间隔。默认值为 "86400"

    logfile.store.logname

    日历存储的日志文件的名称。默认值为 "store.log"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

另请参见

要为日历数据库配置事务日志记录,参见第 9 章,配置自动备份

您不必配置删除日志(用于已删除的事件和任务)。参见 第 18 章,管理“删除日志”数据库

Procedure配置 WCAP 命令

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    参数 

    说明和默认值 

    service.wcap.format

    指定命令的默认输出格式。支持以下两种格式: 

    • "text/calendar"(默认)

    • "text/xml"

    如果您使用的是 Connector for Microsoft Outlook,则必须使用 text/calendar

    service.wcap.version

    WCAP 版本。 

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure启用电子邮件通知

可启用三种类型的电子邮件通知:

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    参数 

    说明和默认值 

    ine.invitation.enable

    "yes"-(默认)将邀请通知发送给参与者。

    "no"- 不将邀请电子邮件通知发送给参与者。

    ine.cancellation.enable

    "yes"-(默认)将事件取消通知发送给参与者。

    "no"- 不将取消通知发送给参与者。

    ine.reply.enable

    "yes"-(默认)向组织者发送参与者的邀请回复通知。

    "no"- 不将回复通知发送给组织者。

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

另请参见

有关配置通知的详细信息,参见 E.4.1 Calendar Server 电子邮件通知配置参数和格式文件

4.5 配置登录和验证

本节包含有关配置登录和验证的说明。

本节包含以下主题:

Procedure配置代理管理员登录

必须为 Communications Express 配置代理登录。有关如何为 Communications Express 配置代理登录的说明,参见4.1 配置 Communications Express

要允许以管理员代理身份在 Communications Express 以外登录 Calendar Server,请执行以下步骤:

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数:

    service.http.allowadminproxy

    指定是否允许管理员执行代理登录以管理用户日历。如果设置为 "yes",则允许代理登录。如果设置为 "no",则不允许代理登录。默认值为 "yes"

  5. 重新启动 Calendar Server 以便新值生效。

  6. 使用以下 WCAP 命令验证管理员代理登录正在工作:


    http://server[:port]/login.wcap?
       user=admin-user&password=admin-password
       &proxyauth=calendar-user&fmt-out=text/html

    以下列表包含前一示例中每个变量的说明:

    • server 是运行 Calendar Server 的服务器的名称。

    • port 是 Calendar Server 端口号。默认端口为 80。

    • admin-user 是 Calendar Server 管理员。例如,calmaster。

    • admin-passwordadmin-user 的密码。

    • calendar-user 是 Calendar Server 用户的 calid

    • fmt-out 是内容输出格式的规范。例如,文本或 HTML。

    如果命令运行成功,Calendar Server 将显示 calendar-user 的日历。如果发生问题,Calendar Server 将显示“未授权”。

    发生错误的原因可能有:

    • admin-user 没有 Calendar Server 管理员权限。

    • admin-password 不正确。

    • calendar-user 不是有效的 Calendar Server 用户。

Procedure配置验证

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明/默认值 

    local.authldapbasedn

    LDAP 验证的基本 DN。如果不指定,则使用 local.ugldapbasedn

    local.authldaphost

    LDAP 验证的主机。如果不指定,则使用 local.ugldaphost 的值。默认值为 "localhost"

    local.authldapbindcred

    local.authldapbinddn 中指定的用户的绑定证书(密码)。

    local.authldapbinddn

    用来绑定 LDAP 验证主机以搜索用户 DN 的 DN。如果不指定或为空白 (" "),则假定为匿名绑定。

    local.authldapport

    LDAP 验证的端口。如果不指定,则使用 local.ugldapport 的值。默认值为 "389"

    local.authldappoolsize

    为 LDAP 验证维护的最小 LDAP 客户端连接数目。如果不指定,则使用 local.ugldappoolsize 的值。默认值为 "1"

    local.authldapmaxpool

    为 LDAP 验证维护的最大 LDAP 客户端连接数目。如果不指定,则使用 local.ugldapmaxpool 的值。默认值为 "1024"

    local.user.authfilter

    指定用于用户查找的验证过滤器。默认值为 "(uid=%U)"

    此值存储在域条目的 inetDomainSearchFilter 属性中。

    可以在其他属性上进行过滤。例如,可以将此参数设置为 "(mail=%U)"

    不管用于验证的属性是什么,验证用户的 uid 都将作为该用户的身份传递给所有其他函数。

    service.plaintextloginpause

    成功使用纯文本密码验证用户后所延迟的秒数。默认值为 "0"

Procedure配置验证高速缓存

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    service.authcachesize

    Calendar Server 在高速缓存中维护的验证用户 ID (uid) 和密码的最大数目。默认值为 "10000"。

    service.authcachettl

    从最近一次访问到删除高速缓存中的 uid 和密码之前的秒数。默认值为 "900"

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure启用登录时客户机 IP 地址检查

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数:

    service.dnsresolveclient

    如果设置为 "yes",则当允许 HTTP 访问时,将针对 DNS 检查客户机 IP 地址。默认值为 "no"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

4.6 配置日历服务(守护进程)

本节包含有关如何配置日历服务(守护进程)的说明。

本节包含以下主题:


提示 –

另请参见第 9 章,配置自动备份


Procedure配置启动和停止服务

start-calstop-cal 命令为包装脚本,可轻松地启动和停止 Calendar Server。实用程序的定义在附录 D,Calendar Server 命令行实用程序参考中。

  1. 以有权更改此配置的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    local.serveruid

    运行时用户标识符 (uid)。默认值为 "icsuser"。它是在不需要超级用户权限时使用的用户标识符。

    local.servergid

    运行时组标识符 (gid)。默认值为 "icsgroup"。它是在不需要超级用户权限时使用的组标识符。

    local.autorestart

    将此参数设置为 "yes" 时,如果连接到 watcher 的服务未正确断开连接就终止,将自动重新启动此服务。

    local.autorestart.timeout

    定义自动重启的超时时间间隔。为避免在自动启动时无限次尝试重启,如果一个服务在特定时间间隔内终止两次,则不再重新启动它。默认设置为 10 分钟。 

  6. 将此文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 Watcher 进程

监视程序进程 watcher 用于监视失败的套接字连接。它将与 Calendar Server 和 Messaging Server 一起使用。要设置 Calendar Server 参数以配置 Watcher,执行以下步骤:

  1. 以有权更改此配置的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    local.watcher.enable

    如果此参数设置为 "yes",启动程序将先尝试启动 Watcher 再启动任意其他服务。而守护进程将通过套接字连接与其连接。默认值为 "no",但配置程序会将其更改为 "yes"

    local.watcher.port

    它是 Watcher 在其上进行侦听的端口。Messaging Server 使用端口 49994。Calendar Server 应使用另一端口,例如 49995

    local.watcher.config.file

    Watcher 的配置文件。如果为相对路径,它将相对于 config 目录。默认值为 watcher.cnf

    service.autorestart

    如果设置为 "yes",Watcher 将自动重新启动在没有正确断开连接的情况下终止的所有已注册服务。如果服务在 10 分钟内终止两次,Watcher 将不会再重新启动它。

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

另请参见

有关 Watcher 进程的更多信息,参见《Sun Java System Messaging Server 6.3 Administration Guide》。第 4 章和第 23 章中都包含相关信息。


注 –

如果启用了 Watcher,必须向 Watcher 进程注册其所监视的每个服务。此过程由 Calendar Server 守护进程在内部自动完成。此外,守护进程会在 cal-svr-base/data/proc 目录中创建 pid 文件,此文件包含每个服务的进程 ID 及其状态("init""ready")。


Procedure配置管理服务 (csadmind)

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    local.store.checkpoint.enable

    如果设置为 "yes",则启动 csadmind 数据库检查点线程。如果设置为 "no",则不创建任何检查点日志文件。默认值为 "yes"

    service.admin.dbcachesize

    Berkeley 数据库用于管理会话的最大缓存大小(以字节为单位)。默认值为 "8388608"

    local.store.deadlock.enable

    如果设置为 "yes",则启动 csadmind 数据库死锁检测线程。默认值为 "yes"

    service.admin.diskusage

    如果设置为 "yes",则启动 csadmind 磁盘空间不足监视线程。默认值为 "no"。默认情况下,不监视磁盘使用情况。

    service.admin.enable

    如果设置为 "yes",则在启动所有服务时启动 csadmind,并在停止所有服务时停止 csadmind。默认值为 "yes"

    service.admin.maxthreads

    每个管理会话正在运行的线程的最大数目。默认值为 "10"

    service.admin.resourcetimeout

    管理连接超时前的秒数。默认值为 "900"

    service.admin.serverresponse

    如果设置为 "yes",则启动 csadmind 服务响应线程。默认值为 "no"

    service.admin.sessiondir.path

    管理会话请求的临时目录。无默认值。 

    service.admin.sessiontimeout

    csadmind 中的 HTTP 会话超时前的秒数。默认值为 "1800"

    service.admin.sleeptime

    两次检查已启动、已停止或已就绪的日历服务中间等待的秒数。默认值为 "2"

    service.admin.starttime

    启动日历服务前等待的秒数。默认值为 "300"

    service.admin.stoptime

    停止日历服务前等待的秒数。默认值为 "300"

    service.admin.stoptime.next

    两次向任意日历服务发送停止命令中间等待的秒数。默认值为 "60"

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 HTTP 服务 (cshttpd)

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    service.http.admins

    对此 Calendar Server 具有管理权限的用户 ID 列表,ID 之间用空格分隔。默认值为 "calmaster"

    service.http.allowadminproxy

    如果设置为 "yes",则允许通过代理登录,它是默认值。

    service.http.allowanonymouslogin

    如果设置为 "yes",则允许匿名(无验证)访问。这是一种仅允许进行指定的、受限的访问(通常是对公共日历进行只读访问)的特殊登录类型。默认值为 "yes"

    service.http.calendarhostname

    用于检索 HTML 文档的 HTTP 主机。要允许用户使用全限定主机名访问日历数据,此值必须为正在运行 Calendar Server 的计算机的全限定主机名(包括计算机名、DNS 域和后缀),例如 mycal@sesta.com

    如果不指定,则使用本地 HTTP 主机。 

    service.http.commandlog

    该参数只用于调试。如果设置为 "yes",则系统将把所有接收到的命令记录到 http.commands 日志文件中。

    在生产运行时过程中不要使用该参数。它将很快填满日志文件,并导致性能下降。 

    service.http.commandlog.all

    该参数只用于调试。如果设置为 "yes",系统将把所有 HTTP 请求记录到 http.access 日志文件中。

    在生产运行时过程中不要使用该参数。它将很快填满日志文件,并导致性能下降。 

    service.http.cookies

    通知服务器是否支持 Cookie (yes/no)。要启用单点登录,必须将其设置为 "yes"。默认值为 "yes"

    service.http.dbcachesize

    Berkeley 数据库用于 HTTP 会话的最大缓存大小。默认值为 "8388308"

    service.http.domainallowed

    如果指定,且不为空白 (" "),则过滤以允许基于 TCP 域的访问。例如,"ALL: LOCAL.sesta.com" 将允许 sesta.com 域中的任何人进行本地 HTTP 访问。过滤器之间用 CR-LF(换行)分隔。默认为空白 ("")。

    service.http.domainnotallowed

    如果指定,且不为空白 (" "),则过滤以允许基于 TCP 域的访问。例如,"ALL: LOCAL.sesta.com" 将不允许 sesta.com 域中的任何人进行 HTTP 访问。 过滤器之间必须用 CR-LF(换行)分隔。默认为空白 (" ")。

    service.http.attachdir.path

    相对于 local.queuedir 的目录位置(或如果已指定,则为绝对路径),在其中临时存储导入的文件。默认值为当前目录 (".")。

    service.http.ipsecurity

    如果设置为 "yes",则引用现存会话的所有请求都被认为来自同一个 IP 地址。默认值为 "yes"

    service.http.enable

    如果设置为 "yes",则在启动所有服务时启动 cshttpd 服务,并在停止所有服务时停止 cshttpd。默认值为 "yes"


    注意 – 注意 –

    用此参数禁用 HTTP 服务也将禁用 HTTPS。


    service.http.idletimeout

    HTTP 连接超时前的秒数。默认值为 "120"

    service.http.listenaddr

    指定 HTTP 服务用于侦听客户机请求的 TCP 地址。默认值为 "INADDR_ANY",表示任一地址。

    service.http.logaccess

    如果设置为 "yes",则完全记录服务器的 HTTP 连接。默认值为 "no"

    service.http.maxsessions

    cshttpd 服务中 HTTP 会话的最大数目。默认值为 "5000"

    service.http.maxthreads

    cshttpd 服务中对服务 HTTP 请求的最大线程数。默认值为 "20"

    service.http.numprocesses

    在一台服务器上允许并行运行 HTTP 服务 (cshttpd) 进程的最大数目。默认值为 "1"

    有关具有多个 CPU 的服务器的信息,请参见 21.8 在多个 CPU 中使用负载平衡

    service.http.port

    来自 Calendar Server 用户的 HTTP 请求的端口。默认值为 "80"

    service.http.proxydomainallowed

    如果指定,且不为 "",则过滤以允许基于 TCP 域的代理登录。它与 service.http.domainallowed 具有相同的语法。默认值为 " "

    service.http.resourcetimeout

    HTTP 会话超时前的秒数。默认值为 "900"

    service.http.sessiondir.path

    HTTP 会话数据库的目录。默认值为 "http"

    service.http.sessiontimeout

    cshttpd 服务中的 HTTP 会话超时前的秒数。默认值为 "1800"

    service.http.sourceurl

    用于存储文件的所有 URL 引用的目录,与可执行文件相对。默认值为 " "(空)。

    service.http.tmpdir

    HTTP 会话的临时目录。默认值为 "/var/opt/SUNWics5/tmp"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的警报通知

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个 ics.conf 参数:

    参数 

    说明和默认值 

    alarm.diskstat.msgalarmdescription

    随“磁盘空间不足”消息一起发送的说明。 

    默认说明为:"percentage calendar partition diskspace available"

    alarm.diskstat.msgalarmstatinterval

    监视磁盘空间的时间间隔(以秒为单位)。默认值为 "3600"

    alarm.diskstat.msgalarmthreshold

    发送警告消息时可用磁盘空间占总磁盘空间的百分比。默认值为 "10"

    alarm.diskstat.msgalarmthresholddirection

    alarm.diskstat.msgalarmthreshold 是高于还是低于百分比。-1 表示低于,1 表示高于。默认值为 "-1"

    alarm.diskstat.msgalarmwarninginterval

    发送“磁盘空间不足”警告消息的时间间隔(以小时为单位)。默认值为 "24"

    alarm.msgalarmnoticehost

    用来发送服务器警报的 SMTP 服务器的主机名。默认值为 "localhost"

    alarm.msgalarmnoticeport

    用来发送服务器警报的 SMTP 端口。默认值为 "25"

    alarm.msgalarmnoticercpt

    服务器警报收件人的电子邮件地址。"Postmaster@localhost"

    alarm.msgalarmnoticesender

    服务器警报发件人的电子邮件地址。默认值为 "Postmaster@localhost"

    alarm.msgalarmnoticetemplate

    电子邮件警报的默认格式: 

    "From: %s\nTo: %s\nSubject: ALARM: %s of \"%s\" is n\n%s\n"

    alarm.responsestat.msgalarmdescription

    随“无服务响应”消息一起发送的说明。默认值为 "calendar service not responding"

    alarm.responsestat.msgalarmstatinterval

    监视服务的时间间隔(以秒为单位)。默认值为 "3600"

    alarm.responsestat.msgalarmthreshold

    默认值为 "100"(当没有服务响应时,仅触发警告消息的发送) 开始

    alarm.responsestat.

    msgalarmthresholddirection

    指定 alarm.responsestat.msgalarmthreshold 是高于还是低于百分比。-1 表示低于,1 表示高于。默认值为 "-1"

    alarm.responsestat.

    msgalarmwarninginterval

    发送“无服务响应”警告消息的时间间隔(以小时为单位)。默认值为 "24"

    local.rfc822header.allow8bit

    允许 ("y") 或不允许 ("n") 在此服务器发送的电子邮件消息中使用 8 位头。

    service.admin.alarm

    启用 ("yes") 或禁用 ("no") 管理工具的报警通知。默认值为 "yes"

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

4.7 在 Calendar Server 版本 6.3 中配置 Berkeley 的定期死锁检查

您可以对 Calendar Server 进行配置,以定期检查 Berkeley 数据库中的死锁情况。

Berkeley 数据库可能会陷入死锁状态,从而禁止对其进行访问。为尽可能早地检测到此状态,请启用定期死锁检查。

Procedure启用 Berkeley 数据库的定期死锁检查

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数:

    local.caldb.deadlock.autodetect

    定期检查 Berkeley 数据库是否处于死锁状态,如果是,则指示该数据库重置。默认值为 "no"(不启用)。

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

故障排除

有关死锁后如何重置 Berkeley 数据库的信息,请参见“错误诊断”一章中的22.5.2 检测数据库损坏22.5.1.2 可用工具列表

4.8 配置 Calendar Server 版本 6.3 的 LDAP

本节包含有关配置 Calendar Server 的 LDAP 的说明。

本节包含以下主题:

Procedure配置对 Calendar Server 版本 6.3 的 LDAP 的匿名访问

一般情况下,允许匿名访问是默认设置。如果要限制匿名访问,请更改相应的参数。

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明/默认值 

    calstore.anonymous.calid

    指定匿名登录日历标识符 (calid)。默认值为 "anonymous"

    service.http.allowanonymouslogin

    指定在没有登录的情况下是否允许匿名访问。默认值为 "yes"。(允许通过电子邮件获得日历 URL 的收件人在没有登录的情况下,访问空闲-繁忙版的日历。)

    service.wcap.anonymous.

    allowpubliccalendarwrite

    指定是否允许匿名用户对可写入的公共日历进行写操作。默认值为 "yes"

    service.wcap.userprefs.ldapproxyauth

    启用用于用户首选项的 LDAP 匿名搜索。默认值为 "no",允许匿名访问。指定为 "yes" 表示使用代理验证来执行搜索。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 LDAP 参与者查找

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明/默认值 

    local.lookupldap.search.

    minwildcardsize

    指定在参与者查找搜索中使用通配符搜索的最小字符串大小。零 (0) 表示总是进行通配符搜索。

    sasl.default.ldap.searchfilter

    指定用于用户查找的验证过滤器。默认值为: "(uid=%s)"

    local.lookupldapbasedn

    指定 LDAP 参与者查找的 DN。如果不指定,则使用 local.ugldapbsedn。无默认值。

    local.lookupldapbinddn

    指定要绑定到用于 LDAP 参与者查找的主机的 DN。如果不指定(默认值为 " "),则假定为匿名绑定。

    local.lookupldapbindcred

    local.lookupldapbinddn 中标识的用户的证书(密码)。无默认值。

    local.lookupldaphost

    用于 LDAP 参与者查找的主机名。如果不指定,则使用 local.ugldaphost

    local.lookupldapmaxpool

    指定为 LDAP 参与者查找维护的 LDAP 客户机连接数目。如果不指定,则使用 local.ugldapmaxpool。默认值为 "1024"

    local.lookupldappoolsize

    指定为 LDAP 参与者查找维护的最小 LDAP 客户机连接数目。如果不指定,则使用 local.ugldappoolsize。默认值为 "1"。

    local.lookupldapport

    指定用于 LDAP 参与者查找的端口。如果不指定,则使用 local.ugldapport

    local.lookupldapsearchattr.calid

    指定参与者查找的 calid 属性。默认值为 icsCalendar

    local.lookupldapsearchattr.mail

    指定参与者查找的 mail 属性。默认值为 mail

    local.lookupldapsearchattr.

    mailalternateaddress

    指定参与者查找的 alternate mail address 属性。默认值为 mailalternateaddress

    local.lookupldapsearchattr.

    mailequivalentaddres

    指定参与者查找的 equivalent address mail 属性。默认值为 mailequivalentaddress

    local.lookupldapsearchattr.

    calendar

    指定参与者查找的 calendar 属性。默认值为 icsCalendar

    local.lookupldapsearchattr.cn

    指定参与者查找的 common name 属性。默认值为 cn

    local.lookupldapsearchattr.

    objectclass

    指定参与者查找的 object class 属性。默认值为 objectclass

    local.lookupldapsearchattr.

    objectclass.caluser

    指定日历用户的对象类。默认值为 icsCalendarUser

    local.lookupldapsearchattr.

    objectclass.calresource

    指定日历资源的对象类。默认值为 icsCalendarResource

    local.lookupldapsearchattr.

    objectclass.group

    指定组的对象类。默认值为 icsCalendarGroup

    local.lookupldapsearchattr.

    objectclass.person

    指定个人的对象类。默认值为 person

    local.lookupldapsearchattr.

    memberurl

    指定参与者查找的 member URL 属性。默认值为 memberurl

    local.lookupldapsearchattr.

    uniquemember

    指定参与者查找的 unique member 属性。默认值为 uniquemember

    local.lookupldapsearchattr.

    givenname

    指定参与者查找的 given name 属性。默认值为 givenname

    local.lookupldapsearchattr.sn

    指定参与者查找的 screen name 属性。默认值为 sn

    local.smtp.defaultdomain

    用来查找与某个电子邮件地址相对应的参与者日历 ID 的默认域名。例如,如果此设置的值为 "sesta.com",则 jsmith 被解析为 jsmith@sesta.com

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 LDAP 参与者查找搜索过滤器

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:


    提示 –

    在以下所有参数说明中,%s 只允许单个参与者。


    参数 

    说明/默认值 

    local.lookupldap.calid.direct

    使用直接查找的 calid-search-type 的搜索过滤器。默认值为:"(icsCalendar=%s)

    %s –参与者字符串。 

    local.lookupldap.cn.direct

    直接查找中的 cn-search-type 的搜索过滤器。默认值为: 

    "(&(cn=%s)
    (|(objectclass=groupofuniquenames)
    (objectclass=icsCalendarResource)
    (objectclass=person)))"

    %s—参与者字符串。

    local.lookupldap.cn.search

    搜索对话框查找中的 cn-search-type 的搜索过滤器。默认值为针对单个参与者的字符串 (%s):

    "(&(cn=%s)
      (|(objectclass=groupofuniquenames)
      (objectclass=icsCalendarResource)
      (objectclass=person)))"

    对于通配符搜索(多个搜索字符串): 

    "(&(cn=%w)
      (|(objectclass=groupofuniquenames)
      (objectclass=icsCalendarResource)
      (objectclass=person)))"

    %w—用于扩展参与者字符串列表。例如:%w="Mary Ann Smith" 扩展为:

    (& (cn=*Mary*) (cn=”*Ann”)
     (cn=*Smith*)

    local.lookupldap.gid

    gid-search-type 的搜索过滤器。默认值为:

    "(&(cn=%s)
       (objectclass=groupofuniquenames))"

    %s—单个参与者字符串。

    local.lookupldap.mailto.indomain

    local.smtp.defaultdomain 指定的域中 mailto-search-type 的搜索过滤器。默认值为:

    "(|(mail=%s)(mail=%h)(mail=*<%s\>*)
       (uid=%o))"

    %s—参与者字符串。

    %o—参与者 uid

    %h—不带有域部分的查询字符串。

    例如:如果 %s=jdoe@sesta.com%o=jdoe@sesta.com 并且 %h=jdoe,则值为:

    (|(mail=jdoe@varrius.com)
       (mail=jdoe)
       (mail=*<jdoe@varrius.com\>*)
       (uid=jdoe@varrius.com))

    local.lookupldap.mailto.outdomain

    local.smtp.defaultdomain 指定的域中 mailto-search-type 的搜索过滤器。默认值为:"(|(mail=%s)(uid=%s))"

    %s—参与者字符串。

    local.lookupldap.res

    res-search-type(资源搜索)的搜索过滤器。默认值为:

    "(&(cn=%s)
       (objectclass=icsCalendarResource))"

    $s—参与者字符串。

    local.lookupldap.res.ugldap

    仅位于用户/组 LDAP 服务器上的 res-search-type(资源搜索)的搜索过滤器。仅当 local.lookupldap.resource.use.ugldap 被设置为 "yes" 时,才设置此参数。默认值为:

    "(&(cn=%s)
       (objectclass=icsCalendarResource))"

    %s—参与者字符串。

    local.lookupldap.uid.direct

    使用直接查找的 uid-search-type 的搜索过滤器。默认值为:

    "(|(uid=%s)(&(cn=%s)
       (|(objectclass=groupofuniquenames)
       (objectclass=icsCalendarResource)
       (objectclass=person))))"

    %s—参与者字符串。

    local.lookupldap.uid.search

    使用搜索对话框查找的 uid-search-type 的搜索过滤器。默认值为:

     

    "(|(uid=%o)(&(cn=%w)
       (|(objectclass=groupofuniquenames)
       (objectclass=icsCalendarResource)
       (objectclass=person))))"

    %s—参与者字符串。

    %w—带通配符的参与者字符串。

    %o—不带通配符的参与者字符串。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 LDAP 资源查找

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数:

    local.lookupldap.resource.use.ugldap

    是使用用户/组 LDAP 服务器还是使用查找服务器来进行资源查找。

    "yes"—使用用户/组 LDAP 服务器。

    "no"—使用查找服务器。默认值为 "no"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的 LDAP Mail-to-Calid 查找

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明/默认值 

    local.lookupldap.mailtocalid.search

    指定用于 mail-to-calid 查找的 mail 属性。默认值为 "(|(mail=%s)(mailalternateaddress=%s))”

    可用属性 mailequivalentaddress 代替 mailalternateaddress。

    local.ugldapbasedn

    指定 mail-to-calid 查找的基本 DN。 

    local.authldapbinddn

    指定要绑定到用于 mail-to-calid 查找的主机的 DN。如果不指定(默认值为 ""),则假定为匿名绑定。

    local.authldapbindcred

    指定在 local.authldapbinddn 中所指定的 DN 的密码。无默认值。

    local.ugldaphost

    指定用于 mail-to-calid 查找的 LDAP 主机。 

    local.ugldapmaxpool

    指定为 mail-to-calid 查找维护的客户机连接的最大数目。默认值为 "1024"

    local.ugldappoolsize

    指定为 mail-to-calid 查找维护的客户机连接的最小数目。默认值为 "1"

    local.ugldapport

    指定用于 LDAP mail-to-calid 查找的端口。无默认值。 

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的用户首选项 LDAP 目录

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    说明/默认值 

    local.enduseradmincred

    LDAP 用户首选项验证的绑定证书(密码)。无默认值。 

    local.enduseradmindn

    用来绑定 LDAP 用户首选项主机的 DN。必须指定。如果为空白 (" ") 或不指定,则假定为匿名绑定。

    local.ugldappoolsize

    为 LDAP 用户首选项维护的最小 LDAP 客户端连接数目。默认值为 "1"

    local.ugldapmaxpool

    为 LDAP 用户首选项维护的最大 LDAP 客户端连接数目。默认值为 "1024"

    service.wcap.userprefs.ldapproxyauth

    启用用于用户首选项的 LDAP 匿名搜索。默认值为 "no",允许匿名访问。指定为 "yes" 表示使用代理验证来执行搜索。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure配置 Calendar Server 版本 6.3 的用户首选项

您可以通过从默认列表中删除某些首选项来限制允许用户对其进行设置的首选项。

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数的用户首选项列表:

    参数 

    用户首选项的默认列表 

    说明 

    local.

    ugldapicsextendeduserprefs

    "ceColorSet,

    ceFontFace,

    ceFontSizeDelta,

    ceDateOrder,

    ceDateSeparator,

    ceClock,

    ceDayHead,

    ceDayTail,

    ceInterval,

    ceToolText,

    ceToolImage,

    ceDefaultAlarmStart,

    ceSingleCalendarTZID,

    ceAllCalendarTZIDs,

    ceDefaultAlarmEmail,

    ceNotifyEmail,

    ceNotifyEnable,

    ceDefaultView,

    ceExcludeSatSun,

    ceGroupInviteAll"

    用户首选项值保留在 LDAP 中。该参数用于在 icsExtendedUserPrefs 属性中定义将哪些用户首选项保留在 LDAP 中。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure启用和配置 Calendar Server 版本 6.3 的 LDAP 数据高速缓存

开始之前

有关 LDAP 数据高速缓存的概述信息,参见 1.7 Calendar Server 版本 6.3 的 LDAP 数据高速缓存选项

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 通过编辑下表中所示的参数来启用 LDAP 数据高速缓存:

    参数 

    说明和默认值 

    local.ldap.cache.enable

    启用或禁用 LDAP 高速缓存。如果设置为 "yes",则启用高速缓存。如果设置为 "no",则禁用高速缓存。默认值为 "no"

    local.ldap.cache.checkpointinterval

    指定检查点线程休眠的秒数。默认时间为 60 秒。 

    local.ldap.cache.circularlogging

    指定在处理完数据库日志文件之后是否将其删除。默认值为 "yes"

    local.ldap.cache.homedir.path

    指定 LDAP 数据高速缓存数据库的物理位置。默认值为: 

    cal-svr-base/var/opt/SUNWics5
    /csdb/ldap_cache

    local.ldap.cache.logfilesizemb

    以兆字节为单位指定检查点文件的最大大小。默认值为 10 兆字节。 

    local.ldap.cache.maxthreads

    指定 LDAP 数据高速缓存数据库的最大线程数。默认值为 "1000"

    local.ldap.cache.mempoolsizemb

    以兆字节为单位指定共享内存的大小。默认值为 "4" 兆字节。

    local.ldap.cache.entryttl

    当前尚未实现。 

    以秒为单位指定 LDAP 数据高速缓存条目的生存时间 (TTL)。默认值为 "3600" 秒(1 小时)。

    local.ldap.cache.stat.enable

    指定是否将访问记录到 LDAP 数据高速缓存,以及是否在日志文件中记录统计信息。默认值为 no。 


    注 –

    此参数仅适用于调试模式。


    local.ldap.cache.stat.interval

    以秒为单位指定每个统计报告写入日志文件的时间间隔。默认值为 "1800" 秒(30 分钟)。

    local.ldap.cache.cleanup.interval

    以秒为单位指定清理数据库的时间间隔。默认值为 "1800" 秒(30 分钟)。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

另请参见

有关调优 LDAP 数据高速缓存的信息,参见 21.5 提高 LDAP 数据高速缓存的性能


注意 – 注意 –

如果没有正确关闭 Calendar Server 或正在运行 Calendar Server 的服务器,则手动删除 ldap_cache 目录中的所有文件,以避免因任何数据库损坏而导致在后续重新启动期间出现问题。


Procedure启用和配置 Calendar Server 版本 6.3 的 LDAP SDK 高速缓存

默认情况下,已禁用 LDAP SDK 高速缓存。

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    service.ldapmemcache

    如果设置为 "yes",则启用 LDAP SDK 高速缓存。默认值为 "no"。

    service.ldapmemcachettl

    如果将 service.ldapmemcache 设置为 "yes",则可以使用此参数来设置所允许的项目的最大高速缓存秒数。如果设置为 "0",则项目的高速缓存时间没有限制。默认值为 "30"

    service.ldapmemcachesize

    如果将 service.ldapmemcache 设置为 "yes",则可以使用此参数来设置高速缓存将消耗的最大内存量(以字节为单位)。如果设置为 "0",则高速缓存没有大小限制。默认值为 "131072"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure设置用于 Calendar Server 版本 6.3 的空闲繁忙搜索的日期范围

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    service.wcap.freebusybegin

    指定 get_freebusy 与当前时间的偏移(以天为单位)的开始范围。默认值为 "30"

    service.wcap.freebusyend

    指定 get_freebusy 与当前时间的偏移(以天为单位)的结束范围。默认值为 "30"

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure启用 Calendar Server 版本 6.3 的日历属性通配符 LDAP 搜索

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数:

    service.calendarsearch.ldap. primaryownersearchfilter

    用于 search_calprops 的默认搜索过滤器将搜索与搜索字符串完全匹配的字符串。要允许通配符搜索当搜索字符串仅包含在属性值中时找到这样的匹配字符串,请不要注释此参数。这将使系统使用以下搜索过滤器:

    "(&(|(uid=*%s*)(cn=*%s*))
    (objectclass=icsCalendarUser))"

    启用该搜索过滤器将会对性能造成负面影响。

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base /SUNWics5/cal/sbin/start-cal

Procedure设置 Calendar Server 版本 6.3 中的 LDAP 根后缀

当重置 LDAP 结构树 (Schema 版本 2) 或域组件树 (Schema 版本 1) 的根后缀成为可能时,应格外小心地进行重置。要这样做,最好重新运行配置程序。

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的参数之一:

    service.dcroot

    目录中 DC 树的根后缀。使用 Schema 版本 1 及 Schema 版本 2 兼容模式 (1.5) 的多域支持所必需的项目。默认值为 "o=internet"

    另请参见10.2 首次设置 Calendar Server 版本 6.3 的多域环境

    service.schema2root

    Schema 版本 2 的 DIT(Organization Tree,结构树)的根后缀。无默认值。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server:

    cal-svr-base/SUNWics5/cal/sbin/start-cal

第 5 章 在 Calendar Server 版本 6.3 中配置跨多个计算机的日历数据库分发

本章介绍了如何使用日历查找数据库 (CLD) 插件来将日历数据库分发到多个后端服务器上。您必须启用并配置 CLD 插件。


注意 – 注意 –

必须在前端和后端服务器上运行相同版本的 Calendar Server。


本章包含以下主题:


提示 –

有关如何改进 CLD 插件的性能的信息,请参见第 21 章,优化 Calender Server 的性能


5.1 Calendar Server 版本 6.3 的 CLD 插件背景信息

本节介绍了您在实际启用和配置 CLD 插件之前可能希望了解的有用概述和背景信息。

本节包含以下主题:

5.1.1 Calendar Server 版本 6.3 的 CLD 插件概述

日历查找数据库 (CLD) 插件将用户日历和资源日历分布到某一个日历实例的多个后端服务器上,从而为日历数据库提供了水平可伸缩性。如果日历数据库分布在多个后端服务器上,Calendar Server 将使用 CLD 插件来决定存储日历的具体服务器。

Calendar Server 使用数据库有线协议 (DWP) 来访问后端服务器上的日历数据。DWP 是一个内部协议,作为 csdwpd 服务运行,为日历数据库提供网络连接功能。

5.1.2 Calendar Server 版本 6.3 的 CLD 插件如何工作

Calendar Server 按以下说明访问后端服务器上的日历数据:

  1. 当最终用户通过 Communications Express 访问日历时,CLD 插件先从日历的 calid 提取 userid,然后在 LDAP 目录数据库或 CLD 数据高速缓存(如果已启用)中查找日历的所有者。有关配置前端计算机的信息和说明,请参见为 CLD 配置前端服务器

  2. 找到日历的所有者后,插件将使用 icsDWPHost LDAP 属性中的值来确定日历所在的后端服务器的主机名。此主机名必须能够被域名服务 (DNS) 解析成有效的 IP 地址。

  3. Calendar Server 使用此主机名和数据库有线协议 (DWP) 访问后端服务器上的日历数据。

  4. Calendar Server 使用 DWP 将日历数据发送到用户登录的服务器,以便可以在某一个用户界面中显示日历数据。


提示 –

如果您的站点正在使用 CLD 插件,则为同一用户创建的所有日历必须在同一个后端服务器上,如 LDAP 用户条目的 icsDWPHost LDAP 属性所示。如果试图在不同的后端服务器上创建日历,Calendar Server 将返回一条错误信息。


5.1.3 Calendar Server 版本 6.3 的 CLD 插件所支持的配置

本节介绍 CLD 插件的概述材料。

CLD 插件支持以下 Calendar Server 配置:


提示 –

在所有配置中,每个前端和后端服务器都必须:


5.1.3.1 Calendar Server 版本 6.3 中的多个前端服务器与多个后端服务器

图 5–1 显示了正在运行一个 Calendar Server 实例的两个前端服务器和两个后端服务器。如果需要,还可以配置更多的前端服务器或后端服务器。

此配置使服务器可以受到防火墙的保护,以限制对 LDAP 和日历数据库的访问。日历数据库分布在两个后端服务器上。

前端服务器属于 CPU 密集型,大部分 CPU 时间都用于为最终用户呈现日历数据。后端服务器属于磁盘密集型,大部分 CPU 时间用于访问日历数据库。

有关配置的说明,请参见5.2 为 CLD 和 DWP 配置 Calendar Server

图 5–1 多个前端服务器与多个后端服务器

这显示了同时具有多个后端服务器和前端服务器的系统示例。

5.1.3.2 Calendar Server 版本 6.3 中同时用作前端服务器和后端服务器的多个计算机

图 5–2 显示了三个同时用作前端服务器和后端服务器的计算机。每个计算机连接了一个日历数据库。此配置允许将日历分发到不同的地理位置。日历所有者(最终用户)将登录到其日历所驻留的计算机上。有关配置的说明,请参见将服务器同时配置为前端服务器和后端服务器

图 5–2 多个同时用作前端和后端的服务器

此图形显示了同时用作前端计算机和后端计算机的计算机示例。

5.1.4 针对 Calendar Server 6.3 存储需求的简单容量分配练习

本节描述根据媒体使用配置文件,使用一些粗略的公式来进行容量分配的简单方法。从而可算出需要多少台前端服务器和后端服务器以及需要多少存储空间。

本节包含以下主题:

5.1.4.1 Calendar Server 6.3 部署的媒体使用配置文件定义

为进行粗略估计,我们假定以下情况:

5.1.4.2 前端 CPU 的数目

公式为:

CPU 的数目 = 并发用户数目除以 4800

5.1.4.3 后端 CPU 的数目

公式为:

CPU 的数目 = 每 500,000 个配置用户平均 4 个 CPU

5.1.4.4 所需存储器容量

公式为:

每个用户的存储器容量 = 每周 100 封电子邮件 * 一年 52 周 * 每封电子邮件 5K * 有价值数据保持联机的年限 * 保持联机的副本数目(5 个备份 + 1 个正在使用的副本) = 100*52*5K*2*(5+1) = 每个用户 65 MB 存储空间。

也就是,每个用户每年每个联机副本 2.6 MB。


注 –

最终数量取决于保持联机的紧急备份或归档备份数量。对于该示例,所使用的数目为 5 个备份副本。


5.2 为 CLD 和 DWP 配置 Calendar Server

本节介绍为 CLD 和 DWP 配置服务器的说明。

本节包含以下主题:

Procedure为 CLD 配置前端服务器

  1. 在每个前端服务器上,以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的 ics.conf 参数:

    参数

    说明

    csapi.plugin.loadall

    对于每个前端服务器,如果希望将所有以 cs_ 开头的插件加载到 cal-svr-base/SUNWics5/cal/bin/plugins 目录中,则将值设置为 "y"

    将值设置为 "n",则仅可以加载名称由 csapi.plugin.calendarlookup.name 指定的特定插件。

    csapi.plugin.calendarlookup

    将此参数设置为 "yes"

    csapi.plugin.calendarlookup.name

    将此参数设置为插件 "calendarlookup" 的名称。或者将此参数设置为 "*" 以加载所有插件。

    caldb.cld.type

    此参数指定是将日历分发到多个后端服务器上(将值设置为 "directory"),还是将日历存储在安装 Calendar Server 的同一服务器上(将值设置为 "local",该值为默认值)。

    service.dwp.enable

    禁用前端计算机的 DWP 服务,除非它也作为后端计算机工作。例如:service.dwp.enable="no"

    service.dwp.port

    默认端口为 "59979"。所有前端服务器和后端服务器的此端口号必须相同。

    service.store.enable

    默认情况下启用此参数(值 = "yes")。它不会出现在配置文件 (ics.conf) 中。

    如果希望禁用它,则必须将其添加到配置文件中(值 = "no")。

    caldb.dwp.server. backend-server-n.ip

    这是多值参数。为 Calendar Server 部署中的每个后端服务器创建一个 ics.conf 参数。此参数的值为后端服务器的主机名。服务器名必须是全限定名称,且必须能够被域名服务 (DNS) 解析成有效的 IP 地址。服务器名在参数名和值方面都必须保持一致,并且是全限定名。

    例如:

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    如果用户或资源 LDAP 条目不具有 icsDWPHost 属性,则设置系统使用的默认 DWP 服务器名。服务器名必须是全限定名,并且可由 DNS 解析。

    例如:

    caldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    安装了 Directory Server 的主机名。默认值为 "localhost"

    local.ugldaphost

    用于存储 LDAP 用户首选项的主机名。如果没有将用户首选项保留在一个单独的 LDAP 主机中,则应将其设置为 local.authldaphost 的值。

    service.ens.enable

    禁用此前端服务器的 ENS (enpd),将此参数设置为 "no"

    必须仅在后端服务器上启用 ENS。

    caldb.serveralarms

    通过将此参数设置为 "0" 来禁用前端服务器报警。

    必须仅在后端服务器上启用服务器报警 ("1")。

    caldb.serveralarms.dispatch

    要禁用报警分发程序,请将此参数设置为 "no"

    应该仅在后端服务器上启用报警分发程序 ("yes")。

    service.notify.enable

    要禁用通知服务,请将此参数设置为 "no"

    应该仅在后端服务器上启用通知服务 ("yes")。

    caldb.berkeleydb.archive.enable

    要禁用自动归档备份服务,请将此参数设置为 "no"。不需要在前端计算机上配置归档服务。

    caldb.berkeleydb.hotbackup.enable

    应该禁用自动紧急备份服务(将值设置为 "no")。前端计算机上不需要紧急备份。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure为 CLD 和 DWP 配置后端服务器

  1. 在每个后端服务器上,以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的 ics.conf 参数:

    参数

    说明

    service.http.enable

    将此参数设置为 "no"

    后端服务器上不需要 HTTP。

    service.admin.enable

    通过将此参数设置为 "yes"(默认值)来启用管理服务 (csadmind)。

    caldb.cld.type

    如果该计算机仅为后端服务器,则设置为 "local"。如果该计算机既是前端服务器又是后端服务器,则设置为 "directory"

    csapi.plugin.calendarlookup

    将此参数设置为 "no"

    后端服务器上不需要插件。

    service.dwp.enable

    通过将此参数设置为 "yes" 来启用 DWP。

    service.dwp.port

    默认端口为 "59979"。所有前端服务器和后端服务器的此端口号必须相同。

    caldb.dwp.server. backend-server-n.ip

    这是多值参数。为 Calendar Server 部署中的每个后端服务器创建一个 ics.conf 参数。此参数的值为后端服务器的主机名。服务器名必须是全限定名称,且必须能够被域名服务 (DNS) 解析成有效的 IP 地址。服务器名在参数名和值方面都必须保持一致,并且是全限定名。

    例如:

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    如果用户或资源 LDAP 条目不具有 icsDWPHost 属性,则设置系统使用的默认 DWP 服务器名。服务器名必须是全限定名,并且可由 DNS 解析。

    例如:

    caldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    安装了 Directory Server 的主机名。默认值为 "localhost"

    local.ugldaphost

    用于存储 LDAP 用户首选项的主机名。如果没有将用户首选项保留在一个单独的 LDAP 主机中,则应将其设置为 local.authldaphost 的值。

    service.ens.enable

    要启用此后端服务器的 ENS (enpd),将此参数设置为 "yes"

    caldb.serveralarms

    在后端服务器上必须启用服务器报警 ("1")。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure将服务器同时配置为前端服务器和后端服务器

  1. 在每个服务器上,以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的 ics.conf 参数:

    参数

    说明

    csapi.plugin.loadall

    对于每个前端服务器,如果希望将所有以 cs_ 开头的插件加载到 cal-svr-base/SUNWics5/cal/bin/plugins 目录中,则将值设置为 "y"

    将值设置为 “n”,则仅可以加载名称由 csapi.plugin.calendarlookup.name 指定的 CLD 插件。

    csapi.plugin.calendarlookup

    将此参数设置为 "yes"

    csapi.plugin.calendarlookup.name

    要加载所有插件,请将此参数设置为 "*"

    如果您希望仅加载 CLD 插件,请将此参数设置为插件 "calendarlookup" 的名称。

    caldb.cld.type

    此参数指定是将日历分发到多个后端服务器上(将值设置为 "directory"),还是将日历存储在安装 Calendar Server 的同一服务器上(将值设置为 "local",该值为默认值)。

    service.dwp.enable

    通过将此参数设置为 "yes" 来启用 DWP。

    service.dwp.port

    默认端口为 "59979"。所有前端服务器和后端服务器的此端口号必须相同。

    caldb.dwp.server. backend-server-n.ip

    这是多值参数。为 Calendar Server 部署中的每个后端服务器创建一个 ics.conf 参数。此参数的值为后端服务器的主机名。服务器名必须是全限定名称,且必须能够被域名服务 (DNS) 解析成有效的 IP 地址。服务器名在参数名和值方面都必须保持一致,并且是全限定名。

    例如:

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    如果用户或资源 LDAP 条目不具有 icsDWPHost 属性,则设置系统使用的默认 DWP 服务器名。服务器名必须是全限定名,并且可由 DNS 解析。

    例如:

    aldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    安装了 Directory Server 的主机名。默认值为 "localhost"(在作为前端的同一服务器上)。

    local.ugldaphost

    用于存储 LDAP 用户首选项的主机名。如果没有将用户首选项保留在一个单独的 LDAP 主机中,则应将其设置为 local.authldaphost 的值。

    service.ens.enable

    通过将此参数值设置为 "yes" 来启用 ENS。

    caldb.serveralarms

    在后端服务器上必须启用服务器报警 ("1")。

    caldb.serveralarms.dispatch

    在后端服务器上应该启用报警分发程序 ("yes")。

    service.notify.enable

    在后端服务器上应该启用通知服务 ("yes")。

    caldb.berkeleydb.archive.enable

    应在后端系统上启用自动归档备份服务(将值设置为 "yes")。

    caldb.berkeleydb.hotbackup.enable

    在后端系统上应启用自动紧急备份服务(将值设置为 "yes")。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

5.3 维护 Calendar Server 版本 6.3 的前端服务器与后端服务器之间的安全

您可以配置前端服务器和后端服务器之间的密码验证。本节介绍了这两种服务器之间的安全通信的设置方法及其工作原理。

本节包含以下主题:

5.3.1 如何在 Calendar Server 版本 6.3 中完成验证

前端服务器使用数据库有线协议 (DWP) 与后端服务器通信。由于 DWP 使用 HTTP 作为传输机制,因此,Calendar Server 使用配置参数对前端服务器和后端服务器之间的 DWP 连接进行验证。

当前端服务器第一次连接到后端服务器时,它将发送在 ics.conf 文件中指定的用户 ID 和密码。后端服务器将在其 ics.conf 文件中核对参数,如果所有参数均匹配,则验证成功。后端服务器然后向前端服务器发送会话 ID。前端服务器在对后端服务器执行的后续 DWP 命令中使用该会话 ID。

来自同一个前端服务器的后续连接不需要再次验证,除非重新启动了后端服务器或者由于两个服务器之间没有活动而导致该会话过期。

如果有多个前端服务器和多个后端服务器,则可以对每个服务器使用相同的用户 ID 和密码。

如果后端服务器不指定用户 ID 和密码,则不执行验证。

Procedure在 Calendar Server 版本 6.3 中为前端服务器设置 DWP 连接验证

开始之前

注意 – 注意 –

这些参数没有包括在已安装版本的 ics.conf 文件中。要使用 DWP 连接验证,必须在每个前端服务器上将所需的参数添加到 ics.conf 文件中。


  1. 在每个前端服务器上,以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 添加以下列表中所示的 ics.conf 参数:

    参数

    说明

    caldb.dwp.server.back-end-server.admin

    在前端服务器上,指定用来对到后端服务器的 DWP 连接进行验证的管理员的用户 ID。其中的 back-end-server 是服务器的名称。

    caldb.dwp.server.back-end-server.cred

    在前端服务器上,指定用来对到后端服务器的 DWP 连接进行验证的密码。其中的 back-end-server 是服务器的名称。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure在 Calendar Server 版本 6.3 中为后端服务器设置 DWP 连接验证

开始之前

注意 – 注意 –

这些参数没有包括在已安装版本的 ics.conf 文件中。要使用 DWP 连接验证,必须在每个后端服务器上将所需的参数添加到 ics.conf 文件中。


  1. 在每个后端服务器上,以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 添加下表中所示的 ics.conf 参数:

    参数

    说明

    service.dwp.admin.userid

    在后端服务器上,指定用来验证 DWP 连接的用户 ID。如果后端服务器不指定用户 ID,则不执行验证。

    service.dwp.admin.cred

    在后端服务上,指定用来对 DWP 连接进行验证的密码。如果后端服务器不指定密码,则不执行验证。

  5. 将文件另存为 ics.conf

  6. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

第 6 章 将 Calendar Server 6.3 软件配置为具有高可用性(故障转移服务)

本章说明如何使用 Sun Cluster 3.0 或 3.1 为 Calendar Server 6.3 软件安装和配置高可用性。

将 Calendar Server 配置为具有高可用性 (High Availability, HA),可提供监视及恢复软件和硬件故障的功能。Calendar Server HA 功能实现为故障转移服务。本章描述两个使用 Sun Cluster 软件的 Calendar Server HA 配置,一个为非对称,另一个为对称。

本章包括以下主题,它们描述如何为 Calendar Server 安装和配置 HA:

可在附录 C,Calendar Server 配置工作单中找到一组有助于规划 Calendar Server HA 配置的工作单。

6.1 Calendar Server 版本 6.3 的高可用性选择概述

可通过多种方法配置高可用性。本节包括三种高可用性选择的概述以及有助于您选择最合适的高可用性的信息。

本节包含以下主题:

6.1.1 了解 Calendar Server 版本 6.3 的非对称高可用性

此图显示了一个简单的非对称 HA Calendar Server 安装。

简单的非对称高可用性系统拥有两个物理节点。主节点通常为活动状态,另一个节点则充当备份节点,随时准备在主节点失败时接管主节点。要完成故障转移,切换共享磁盘阵列以使其由备份节点控制。Calendar Server 进程于失败的主节点上停止,然后在备份节点上启动。

此类型的高可用性系统具有多种优点。一个优点是备份节点是专门为主节点所保留的。这就意味着在发生故障转移时,备用节点上不会出现资源争用问题。另一个优点是可执行滚动升级;即可在升级一个节点的同时在另一节点上继续运行 Calendar Server 软件。在升级第一个节点时对 ics.conf 文件所做的更改不会影响在辅助节点上运行的其他 Calendar Server 软件实例,因为只会在启动时读取一次配置文件。要使新配置生效,必须先停止并重新启动日历进程。要升级另一个节点,可对升级后的主节点执行故障转移,然后在辅助节点上继续进行升级。


注 –

当然,也可以先升级辅助节点,再升级主节点。


非对称高可用性模型也具有一些缺点。一个缺点是备份节点大部分时间都处于闲置状态,因此资源未得到充分利用。另一个可能的缺点是单存储阵列。如果简单非对称高可用性系统的磁盘阵列发生故障,将无法进行备份。

6.1.2 了解 Calendar Server 版本 6.3 的对称高可用性

此图显示了一个简单的 Calendar Server 对称 HA 系统。两个节点都包括活动的 Calendar Server 实例。

简单对称高可用性系统拥有两个活动的物理节点,每个节点都拥有各自的磁盘阵列。磁盘阵列包含两个存储卷,一个卷用作本地日历存储库,另一个卷则为另一节点的日历存储库的镜像映像。每个节点都可作为另一节点的备份节点。当某个节点故障转移至其备份节点时,两个 Calendar Server 实例会在备份节点上并发运行,且每个实例都会从其自身的安装目录运行并访问其自身的日历存储库。它们唯一共享的是备份节点的计算能力。

此类型的高可用性系统的优点是两个节点同时处于活动状态,因此充分利用了计算机资源。但是,发生故障时,备用节点会出现多个资源争用情况,因为它运行了两个节点的 Calendar Server 服务。

对称高可用性也提供备份存储阵列。如果磁盘阵列失败,可通过其备份节点上的服务来获取其冗余映像。


注 –

要配置对称高可用性系统,需在共享磁盘上安装 Calendar Server 二进制文件。这样做可能无法执行滚动升级,它是一种面向未来 Calendar Server 版本的功能,通过该功能可使用 Calendar Server 修补程序在最少停机时间或无停机时间的情况下更新系统。


6.1.3 了解 N+1(N 大于 1):Calendar Server 版本 6.3 的多个非对称高可用性

此配置是一系列非对称 HA Calendar Server,它们都会故障转移到同一待机节点。

除本章中描述的两类高可用性系统外,还存在第三种类型,它由前两类混合而成。它是一种多节点非对称高可用性系统。在此类系统中,“N”个磁盘阵列和“N”个节点都使用相同的备份节点,而此备份节点处于保留状态且通常不处于活动状态。此备份节点可为任意“N”节点运行 Calendar Server。它共享每个“N”节点的磁盘阵列,如上图中所示。如果多个节点同时失败,则备份节点必须能同时运行“N”个 Calendar Server 实例。每个“N”节点都拥有自身的磁盘阵列。

N+1 模型的优点是可将 Calendar Server 负载分发到多个节点,并且只需一个备份节点即可应对所有可能出现的节点故障。

此类高可用性的缺点与所有非对称系统相同;即备份节点在大部分时间都处于闲置状态。此外,当 N+1 高可用性系统备份节点必须托管多个 Calendar Server 实例时,它必须具有其他功能。这就意味着将闲置一个更加昂贵的计算机。但是,计算机的闲置率将为 1:N 而不是 1:1(它是单个非对称系统的闲置率)。

要配置此类系统,可参考每个“N”节点及备份的非对称高可用性系统的说明。每次使用相同的备份节点,但使用不同的主节点。

6.1.4 为 Calendar Server 版本 6.3 部署选择高可用性模型

下表汇总了每种高可用性模型的优缺点。此信息有助于确定最适合自身部署的模型。

表 6–1 高可用性模型的优缺点

模型 

优点 

缺点 

建议用户 

非对称 

  • 配置简单

  • 备份节点为 100% 保留状态

  • 滚动升级且无停机时间

计算机资源未得到充分利用。 

计划在未来有所扩展的小型服务提供者 

对称 

  • 系统资源利用率更高

  • 更高的可用性

备份节点上存在资源争用。 

HA 需要完全的冗余磁盘。 

可接受由单个服务器故障所带来的性能下降的小型企业部署 

N+1 

  • 负载分发

  • 便于扩展

管理和配置较为复杂。 

需在无资源限制的情况下进行分发的大型服务提供者 

6.1.5 Calendar Server 6.3 部署中高可用性的系统停机时间计算

下表列出了在任意指定的一天由于系统故障而无法使用日历服务的概率。这些计算假定每个服务器平均每三个月会有一天由于系统崩溃或服务器挂起而停机,每个存储设备平均每 12 个月会停机一天。不过,这些计算忽略了两个节点同时停机的状况,因为其可能性很小。

表 6–2 系统停机时间计算

模型 

服务器停机时间概率 

单个服务器(无高可用性) 

Pr(down) =(4 天系统停机 + 1 天存储设备停机)/365 = 1.37% 

非对称 

Pr(down) =(0 天系统停机 + 1 天存储设备停机)/365 = 0.27% 

对称 

Pr(down) =(0 天系统停机 + 0 天存储设备停机)/365 =(接近 0) 

N + 1 非对称 

Pr(down) =(5 小时系统停机 + 1 天存储设备停机)/(365xN) = 0.27%/N 

6.2 Calendar Server 版本 6.3 部署的 HA 环境的先决条件

本节列出了在 HA 环境中安装 Calendar Server 的先决条件。

先决条件如下:

6.2.1 关于 Calendar Server 6.3 HA 部署的 HAStoragePlus

使用 HAStoragePlus 资源类型可使在本地挂载的文件系统在 Sun Cluster 环境中具有高可用性。Sun Cluster 全局设备组上的所有文件系统都可用于 HAStoragePlus。在任意给定时间点上,仅可在一个群集节点上使用 HAStoragePlus 文件系统。只能在故障转移模式下于故障转移资源组中使用这些本地挂载的文件系统。除支持旧的全局文件系统 (Global File System, GFS) 或群集文件系统 (Cluster File System, CFS) 外,HAStoragePlus 还提供故障转移文件系统 (Failover File System, FFS)。

与之前的 HAStorage 相比,HAStoragePlus 具有多种优势:


注 –

将数据服务资源组中的 HAStoragePlus 资源与 Sun Cluster 3.0 2002 年 5 月发行版或更高版本一起使用。

有关 HAStoragePlus 的更多信息,参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》


6.3 Calendar Server 6.3 软件的非对称高可用性部署的高级任务列表

以下是一系列安装和配置 Calendar Server 的非对称高可用性所必需的任务:

  1. 准备节点。

    1. 在群集的所有节点上安装 Solaris 操作系统软件。

    2. 在群集的所有节点上安装 Sun Cluster 软件。

    3. 使用 Java Enterprise System 安装程序在群集的所有节点上安装 Calendar Server HA 代理软件包 (SUNWscics)。

    4. 在共享磁盘上创建文件系统。

    5. 使用 Communications Suite 5 安装程序在群集的主节点和辅助节点上安装 Calendar Server。

  2. 在 Directory Server LDAP 目录所在的计算机上运行目录准备脚本 comm_dssetup.pl

  3. 安装和配置第一个(主)节点。

    1. 使用 Sun Cluster 命令行界面在主节点上设置 HA。

    2. 在主节点上运行 Calendar Server 配置程序 csconfigurator.sh

    3. 使用 Sun Cluster 命令行界面切换到辅助节点。

  4. 创建从主节点上的 Calendar Server config 目录到共享磁盘 config 目录的符号链接。

  5. 安装和配置第二个(辅助)节点。

    1. 通过重新使用在配置主节点时创建的状态文件来在辅助节点上运行 Calendar Server 配置程序。

    2. 编辑配置文件 ics.conf

    3. 使用 Sun Cluster 命令行界面配置和启用 Calendar Server 资源组。

    4. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对主节点执行故障转移。

有关详细说明,参见6.6 在非对称高可用性环境中安装和配置 Calendar Server 6.3 软件

6.4 Calendar Server 6.3 软件的对称高可用性部署的高级任务列表

以下是一系列安装和配置 Calendar Server 的对称高可用性所必需的任务:

  1. 准备节点。

    1. 在群集的所有节点上安装 Solaris 操作系统软件。

    2. 在群集的所有节点上安装 Sun Cluster 软件。

    3. 创建六个文件系统(群集文件系统(全局文件系统)或故障转移文件系统(本地文件系统))。

    4. 创建必要的目录。

    5. 使用 Java Enterprise System 安装程序在群集的所有节点上安装 Calendar Server HA 代理软件包 (SUNWscics)。

  2. 安装和配置第一个节点。

    1. 使用 Communications Suite 5 安装程序在群集的第一个节点上安装 Calendar Server。

    2. 在 Directory Server LDAP 数据库所在的计算机上运行目录准备脚本 comm_dssetup.pl


      注 –

      如果两个节点上的 Calendar Server 实例共用同一 LDAP 服务器,则无需在第二个节点上安装 Calendar Server 软件后再重复此步骤。


    3. 使用 Sun Cluster 命令行界面在第一个节点上配置 HA。

    4. 在第一个节点上运行 Calendar Server 配置程序 csconfigurator.sh

    5. 使用 Sun Cluster 命令行界面故障转移到第二个节点。

    6. 在第一个节点上编辑配置文件 ics.conf

    7. 使用 Sun Cluster 命令行界面在第一个节点上配置和启用 Calendar Server 资源组。

    8. 使用 Sun Cluster 命令行界面为第一个节点创建和启用资源组。

    9. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对第一个节点执行故障转移。

  3. 安装和配置第二个节点。

    1. 使用 Communications Suite 5 安装程序在群集的第二个节点上安装 Calendar Server。

    2. 使用 Sun Cluster 命令行界面在第二个节点上配置 HA。

    3. 通过重新使用在配置第一个节点时创建的状态文件来在第二个节点上运行 Calendar Server 配置程序 csconfigurator.sh

    4. 使用 Sun Cluster 命令行界面故障转移到第一个节点。

    5. 在第二个节点上编辑配置文件 ics.conf

    6. 使用 Sun Cluster 命令行界面在第二个节点上为 Calendar Server 创建和启用资源组。

    7. 使用 Sun Cluster 命令行界面测试是否成功创建了资源组,并对第二个节点执行故障转移。

有关详细说明,参见6.7 配置对称的高可用性 Calendar Server 系统

6.5 Calendar Server 版本 6.3 中配置高可用性的部署示例中所有示例的命名约定


提示 –

打印本节内容并在执行 HA 安装和配置过程时记录所使用的值。


本节包括四张表,它们显示了所有示例中使用的变量名:

表 6–3 非对称示例中使用的目录名称变量

示例名称 

目录 

说明 

install-root

/opt

Calendar Server 的安装目录。 

cal-svr-base

/opt/SUNWics5/cal

所有 Calendar Server 文件所在的目录。 

var-cal-dir

/var/opt/SUNWics5

/var 目录。

share-disk-dir

/cal

一个全局目录;即非对称高可用性系统中各节点间共享的目录。 

表 6–4 对称示例中使用的目录名称变量

示例名称 

目录 

说明 

install-rootCS1

install-rootCS2

/opt/Node1

/opt/Node2

Calendar Server 实例的安装目录。 

cal-svr-baseCS1

cal-svr-baseCS2

/opt/Node1/SUNWics5/cal

/opt/Node2/SUNWics5/cal

节点的所有 Calendar Server 文件所在的目录。 

var-cal-dirCS1

var-cal-dirCS2

/var/opt/Node1/SUNWics5

/var/opt/Node2/SUNWics5

每个节点的 /var 目录。

share-disk-dirCS1

share-disk-dirCS2

/cal/Node1

/cal/Node2

每个 Calendar Server 实例与其故障转移节点所共享的全局(共享)目录。它用于对称高可用性系统。 

表 6–5 非对称示例的资源名称变量

变量名称 

说明 

CAL-RG

日历资源组。 

LOG-HOST-RS

逻辑主机名资源。 

LOG-HOST-RS-Domain.com

全限定逻辑主机名资源。 

CAL-HASP-RS

HAStoragePlus 资源。 

CAL-SVR-RS

Calendar Server 资源组。 

表 6–6 对称示例的资源名称变量

变量名称 

说明 

CAL-CS1-RG

第一个 Calendar Server 实例的日历资源组。 

CAL-CS2-RG

第二个 Calendar Server 实例的日历资源组。 

LOG-HOST-CS1-RS

第一个 Calendar Server 实例的逻辑主机名资源。 

LOG-HOST-CS1-RS-Domain.com

第一个 Calendar Server 实例的全限定逻辑主机名资源。 

LOG-HOST-CS2-RS

第二个 Calendar Server 实例的逻辑主机名资源。 

LOG-HOST-CS2-RS-Domain.com

第二个 Calendar Server 实例的全限定逻辑主机名资源。 

CAL-HASP-CS1-RS

第一个 Calendar Server 实例的 HAStoragePlus 资源。 

CAL-HASP-CS2-RS

第二个 Calendar Server 实例的 HAStoragePlus 资源。 

CAL-SVR-CS1-RS

第一个 Calendar Server 实例的 Calendar Server 资源组。 

CAL-SVR-CS2-RS

第二个 Calendar Server 实例的 Calendar Server 资源组。 

表 6–7 非对称示例中用于 IP 地址的变量名称

逻辑 IP 地址 

说明 

IPAddress

chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

表 6–8 对称示例中用于 IP 地址的变量名称

逻辑 IP 地址 

说明 

IPAddressCS1

第一个 Calendar Server 实例的 chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

IPAddressCS2

第二个 Calendar Server 实例的 chsttpd 守护进程将在其上进行侦听的端口的 IP 地址。它应表示为标准的 IP 格式,例如:"123.45.67.890"

6.6 在非对称高可用性环境中安装和配置 Calendar Server 6.3 软件

本节介绍配置非对称高可用性 Calendar Server 群集的说明。

本节包含以下主题:

6.6.1 为 Calendar Server 6.3 HA 部署创建文件系统

在共享磁盘上创建文件系统。在群集的所有节点上,/etc/vfstab 应相同。

对于 CFS,其形式应类似于以下示例。

## 群集文件系统/全局文件系统 ##
/dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /cal ufs 2 yes global,logging

对于 FFS,则应类似于以下示例:

## 故障转移文件系统/本地文件系统 ##
/dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /cal ufs 2 no logging

注 –

这些命令中的字段应由制表符(而不仅仅是空格)分隔。


6.6.2 在 Calendar Server 6.3 HA 部署中的群集的所有共享磁盘上创建日历目录

在配置和数据所在的共享磁盘上为群集的所有节点创建一个目录 /Cal。例如,对每个共享磁盘执行以下命令:

mkdir -P /Cal

6.6.3 为 Calendar Server 6.3 软件安装和配置高可用性

本节介绍为 Calendar Server 安装和配置高可用性时所涉及任务的说明。

依次执行以下每个任务以完成配置:

Procedure完成群集的每个节点的准备工作

  1. 使用 Communications Suite 5 安装程序在群集的主节点和辅助节点上安装 Calendar Server。


    注 –

    确保为所有节点指定相同的安装根目录。


    1. 在“指定安装目录”面板中填入这两个节点的安装根目录。

      它将在以下目录中安装 Calendar Server 二进制文件:/install-root/SUNWics5/cal。此目录称为 Calendar Server 基目录 (cal-svr-base)。

    2. 选择“以后再配置”选项。

    3. 安装完成后,验证是否已安装文件。

      # pwd
      /cal-svr-base
      
      # ls -rlt
      
      total 16
      drwxr-xr-x   4 root     bin          512 Dec 14 12:52 share
      drwxr-xr-x   3 root     bin          512 Dec 14 12:52 tools
      drwxr-xr-x   4 root     bin         2048 Dec 14 12:52 lib
      drwxr-xr-x   2 root     bin         1024 Dec 14 12:52 sbin
      drwxr-xr-x   8 root     bin          512 Dec 14 12:52 csapi
      drwxr-xr-x  11 root     bin         2048 Dec 14 12:52 html
  2. 针对现有的 Directory Server LDAP 运行目录准备脚本 (comm_dssetup.pl)。

    此操作将通过设置新的 LDAP 模式、索引和配置数据来使 Directory Server 准备就绪。

    有关运行 comm_dssetup.pl 的说明和更多信息,参见《Sun Java Communications Suite 5 Installation Guide》中的第 8  章 “Directory Preparation Tool (comm_dssetup.pl)”

Procedure设置主节点

根据提示使用 Sun Cluster 命令行界面在第一个节点上设置 HA。


注 –

有关示例中的目录名称和 Sun Cluster 资源名称的关键信息,参阅 6.5 Calendar Server 版本 6.3 中配置高可用性的部署示例中所有示例的命名约定


  1. 注册 Calendar Server 和 HAStoragePlus 资源

    ./scrgadm -a -t SUNW.HAStoragePlus
    ./scrgadm -a -t SUNW.scics
  2. 创建故障转移 Calendar Server 资源组。

    例如,以下指令将创建日历资源组 CAL-RG,其中主节点为 Node1,辅助(或故障转移)节点为 Node2

    ./scrgadm -a -g CAL-RG -h node1,node2
  3. 在 Calendar Server 资源组中创建逻辑主机名资源,并使资源组处于联机状态。

    例如,以下指令将创建逻辑主机名资源 LOG-HOST-RS,且使资源组 CAL-RG 处于联机状态。

    ./scrgadm -a -L -g CAL-RG -l LOG-HOST-RS
    ./scrgadm -c -j LOG-HOST-RS -y    \
          R_description="LogicalHostname resource for LOG-HOST-RS"
    ./scswitch -Z -g CAL-RG
  4. 创建和启用 HAStoragePlus 资源。

    例如,以下指令将创建和启用 HAStoragePlus 资源 CAL-HASP-RS

    scrgadm -a -j CAL-HASP-RS -g CAL-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/cal
    scrgadm -c -j CAL-HASP-RS -y 
         R_description="Failover data service resource for SUNW.HAStoragePlus:4"
    scswitch -e -j CAL-HASP-RS

Procedure在主节点上运行配置实用程序 (csconfigurator.sh)

  1. 运行配置程序。

    例如,从 /cal-svr-base/sbin 目录:

    # pwd
         /cal-svr-base/sbin
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见本指南中的第 2 章,Calendar Server 6.3 软件的初始运行时配置程序 (csconfigurator.sh)

  2. 在“运行时配置”面板中,取消选中两个“Calendar Server 启动”选项。

  3. 在“目录”面板中,配置共享磁盘上的所有目录。使用以下位置:

    配置目录

    /share-disk-dir/config

    数据库目录

    /share-disk-dir/csdb

    附件存储目录

    /share-disk-dir/store

    日志目录

    /share-disk-dir/logs

    临时文件目录

    /share-disk-dir/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板中,指定以下选项:

    归档目录

    /share-disk-dir/csdb/archive

    紧急备份目录

    /share-disk-dir/csdb/hotbackup

    完成目录指定后,选择“创建目录”选项。

  5. 验证配置是否成功。

    查看配置输出的末尾,确保显示有:“所有任务均已通过。”以下示例显示配置输出的最后部分。

    ...
    All Tasks Passed. Please check install log 
    /var/sadm/install/logs/Sun_Java_System_Calendar_Server_install.B12141351
     for further details.

    有关更大型的输出样例,参见6.11 日历配置程序的示例输出(精简版)

  6. 单击“下一步”完成配置。

Procedure配置辅助节点

  1. 切换到辅助节点。

    使用 Sun Cluster 命令行界面切换到辅助节点。例如,以下命令将把资源组切换到辅助(故障转移)节点 Node2

    scswitch -z -g CAL-RG -h Node2
  2. 创建从 Calendar Server config 目录到“共享文件系统”的 config 目录的符号链接。

    例如,执行以下命令:

    # pwd
    /cal-svr-base
    
    # ln -s /share-disk-dir/config .  

    注 –

    切勿忘记ln 命令结尾处有一个点号 (.)。


  3. 使用来自主节点配置的状态文件在辅助节点上配置 Calendar Server。

    通过运行在运行配置程序时创建的状态文件来共享主节点的配置。

    例如,运行以下命令:

    # /cal-svr-base/sbin/csconfigurator.sh -nodisplay -noconsole -novalidate

    检查在首次运行配置程序时,所有任务是否均已通过。

  4. 编辑配置文件 (ics.conf)

    通过将以下参数添加到文件末尾来编辑 ics.conf 文件。日历资源的逻辑主机名为 LOG-HOST-RS


    注 –

    在执行此步骤前备份 ics.conf 文件。


    ! The following are the changes for making Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddress"
    local.hostname="LOG-HOST-RS"
    local.servername="LOG-HOST-RS"
    service.ens.host="LOG-HOST-RS"
    service.http.calendarhostname="LOG-HOST-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr="IPAddress"
  5. 创建并启用 Calendar Server 资源组。

    对于此示例,资源组名称为 CAL-SVR-RS。还需提供逻辑主机资源名称和 HAStoragePlus 资源名称。

    ./scrgadm -a -j CAL-SVR-RS -g CAL-RG 
         -t SUNW.scics -x ICS_serverroot=/cal-svr-base 
         -y Resource_dependencies=CAL-HASP-RS,LOG-HOST-RS
    
    ./scrgadm -e -j CAL-SVR-RS
  6. 通过执行故障转移来测试是否已成功创建日历资源组。

    ./ scswitch -z -g CAL-RG -h Node1

    完成此步骤后,也就完成了为 Calendar Server 创建和配置非对称高可用性系统的所有步骤。下一节将说明如何设置登录 Sun Cluster 以用于调试。

    现在,已完成非对称 Calendar Server HA 系统的安装和配置。

6.7 配置对称的高可用性 Calendar Server 系统

本节介绍配置对称的高可用性 Calendar Server 系统的说明。

要配置对称的高可用性 Calendar Server 系统,需遵循以下小节中的说明:

6.7.1 初始任务

在节点上安装 Calendar Server 前,必须先完成两个预备任务。

这两个预备任务是:


注 –

在示例的各个位置中,需提供每个节点的安装目录 (cal-svr-base)。对称 HA 系统与非对称 HA 系统的 cal-svr-base 有所不同。对于对称 HA 系统,cal-svr-base 具有以下格式:/opt/node/SUNWics5/cal,其中 /opt/node 为安装 Calendar Server 的根目录的名称 (install-root)。

为在示例中使用,并可区分两个 Calendar Server 实例的安装目录,特将其分别命名为 cal-svr-baseCS1cal-svr-baseCS2

为区分本示例中的两个 Calendar Server 实例的安装根目录,特将其分别命名为 install-rootCS1install-rootCS2


Procedure创建文件系统

  1. 使用群集文件系统(全局文件系统)或故障转移文件系统(本地文件系统)创建六个文件系统。

    本示例是针对全局文件系统。/etc/vfstab 文件的内容应类似如下:(注意,字段均以制表符分隔。)

    # Cluster File System/Global File System ##
    /dev/md/penguin/dsk/d500  /dev/md/penguin/rdsk/d500  
        /cal-svr-baseCS1  ufs  2  yes  logging,global
    /dev/md/penguin/dsk/d400  /dev/md/penguin/rdsk/d400  
        /share-disk-dirCS1  ufs  2  yes  logging,global
    /dev/md/polarbear/dsk/d200  /dev/md/polarbear/rdsk/d200  
        /cal-svr-baseCS2  ufs  2  yes  logging,global
    /dev/md/polarbear/dsk/d300  /dev/md/polarbear/rdsk/d300
        /share-disk-dirCS2  ufs  2  yes logging,global
    /dev/md/polarbear/dsk/d600  /dev/md/polarbear/rdsk/d300 
        /var-cal-dirCS1  ufs  2   yes  logging,global
    /dev/md/polarbear/dsk/d700  /dev/md/polarbear/rdsk/d300  
        /var-cal-dirCS2  ufs   2   yes  logging,global

    本示例是针对故障转移文件系统。/etc/vfstab 文件的内容应类似如下:(注意,字段均以制表符分隔。)

    # Failover File System/Local File System ##
    /dev/md/penguin/dsk/d500  /dev/md/penguin/rdsk/d500  
        /cal-svr-baseCS1  ufs  2  yes  logging
    /dev/md/penguin/dsk/d400  /dev/md/penguin/rdsk/d400  
        /share-disk-dirCS1  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d200  /dev/md/polarbear/rdsk/d200 
       /cal-svr-baseCS2  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d300  /dev/md/polarbear/rdsk/d300 
        /share-disk-dirCS2  ufs  2  yes  logging
    /dev/md/polarbear/dsk/d600  /dev/md/polarbear/rdsk/d300 
        /var-cal-dirCS1  ufs  2   yes  logging
    /dev/md/polarbear/dsk/d700  /dev/md/polarbear/rdsk/d300
       /var-cal-dirCS2  ufs  2   yes  logging
  2. 在群集的所有节点上创建以下必需目录。

    # mkdir -p /install-rootCS1 share-disk-dirCS1 
         install-rootCS2 share-disk-dirCS2 var-cal-dirCS1 
         var-cal-dirCS2

6.7.1.1 安装 Calendar Server HA 软件包

在群集的所有节点上安装 Calendar Server HA 软件包 SUNWscics

必须通过 Java Enterprise System 安装程序来完成此操作。

关于 Java Enterprise System 安装程序的更多信息,参阅 Sun Java Enterprise System 5 Installation and Configuration Guide

6.7.2 安装和配置第一个 Calendar Server 实例

按照本节中的说明安装和配置第一个 Calendar Server 实例。本节包含以下主题:

Procedure安装 Calendar Server

  1. 验证文件是否已挂载。

    在主节点 (Node1) 上输入以下命令:

    df -k

    以下为您可能看到的输出的示例:

    /dev/md/penguin/dsk/d500     35020572   
         34738 34635629   1%   /install-rootCS1
    /dev/md/penguin/dsk/d400     35020572   
         34738 34635629   1%   /share-disk-dirCS1
    /dev/md/polarbear/dsk/d300   35020572   
         34738 34635629   1%   /share-disk-dirCS2
    /dev/md/polarbear/dsk/d200   35020572   
         34738 34635629   1%   /install-rootCS2
    /dev/md/polarbear/dsk/d600   35020572   
         34738 34635629   1%   /var-cal-dirCS1
    /dev/md/polarbear/dsk/d700   35020572   
         34738 34635629   1%   /var-cal-dirCS2
  2. 使用 Sun Java Systems Communications Suite 安装程序在主节点上安装 Calendar Server。

    1. 在“指定安装目录”面板中指定安装根目录 (install-rootCS1):

      例如,如果主节点名为 red,且根目录为 dawn,则安装根目录应该为 /dawn/red。它是在第一个节点上安装 Calendar Server 的目录。

    2. 选择“以后再配置”。

  3. 在安装有 Directory Server 的计算机上运行目录准备工具脚本。

Procedure在第一个节点上配置 Sun Cluster

在 Sun Cluster 命令行界面上通过执行以下步骤来在第一个节点上配置 Sun Cluster:

  1. 注册以下资源类型:

    ./scrgadm -a -t SUNW.HAStoragePlus
    ./scrgadm -a -t SUNW.scics
  2. 创建故障转移资源组。

    在以下示例中,资源组为 CAL-CS1-RG,并且将两个节点中名为 Node1 的节点作为主节点,名为 Node2 的节点作为故障转移节点。

    ./scrgadm -a -g CAL-CS1-RG -h Node1,Node2
  3. 为此节点创建逻辑主机名资源。

    日历客户端将在此逻辑主机名上进行侦听。以下示例使用 LOG-HOST-CS1-RS,以后会使用实际的主机名来替换此字符串。

    ./scrgadm -a -L -g CAL-RG -l LOG-HOST-CS1-RS
    ./scrgadm -c -j LOG-HOST-CS1-RS -y R_description=
         "LogicalHostname resource for LOG-HOST-CS1-RS"
  4. 使资源组处于联机状态。

    scswitch -Z -g CAL-CS1-RG
  5. 创建 HAStoragePlus 资源并将其添加到故障转移资源组。

    在此示例中,资源为 CAL-HASP-CS1-RS。可将其替换为自己的资源名称。注意:为了能显示在本文档中,示例中的每行都被截断并显示为两行。

    ./scrgadm -a -j CAL-HASP-CS1-RS -g CAL-CS1-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/install-rootCS1,
         /share-disk-dirCS1,/cal-svr-baseCS1
    ./scrgadm -c -j CAL-HASP-CS1-RS -y R_description="Failover data 
         service resource for SUNW.HAStoragePlus:4"
  6. 启用 HAStoragePlus 资源。

    ./scswitch -e -j CAL-HASP-CS1-RS

Procedure配置第一个 Calendar Server 实例

  1. 在主节点上运行配置程序。

    # cd /cal-svr-baseCS1/sbin/
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见《Sun Java System Calendar Server 6.3 管理指南》。

  2. 在“运行时配置”面板上,取消选中两个“Calendar Server 启动”选项。

  3. 在“存储配置和数据文件的目录”面板上,提供如以下列表中所示的共享磁盘目录:

    配置目录

    /share-disk-dirCS1/config

    数据库目录

    /share-disk-dirCS1/csdb

    附件存储目录

    /share-disk-dirCS1/store

    日志目录

    /share-disk-dirCS1/logs

    临时文件目录

    /share-disk-dirCS1/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板上,提供如以下列表中所示的共享磁盘目录名称:

    归档目录

    /share-disk-dirCS1/csdb/archive

    紧急备份目录

    /share-disk-dirCS1/csdb/hotbackup

    指定这些目录后,选择“创建目录”。

  5. 验证配置是否成功。

    配置程序将显示一系列消息。如果这些消息均以 PASSED 开头,则表示配置成功。有关可能出现的输出示例的信息,请查看以下部分中的示例:6.11 日历配置程序的示例输出(精简版)

Procedure执行第一个实例的最终配置步骤

  1. 使用 Sun Cluster 命令行界面对第二个节点执行故障转移。

    例如:

    # /usr/cluster/bin/scswitch -z -g CAL-CS1-RG -h Node2
  2. 通过添加以下示例中所示的参数来编辑配置文件 ics.conf


    注 –

    在开始此步骤前备份 ics.conf 文件。


    ! The following changes were made to configure Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddressCS1"
    local.hostname="LOG-HOST-CS1-RS"
    local.servername="LOG-HOST-CS1-RS"
    service.ens.host="LOG-HOST-CS1-RS"
    service.http.calendarhostname="LOG-HOST-CS1-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr = "IPAddressCS1"

    注 –

    service.http.calendarhostname 的预期值为全限定主机名。


  3. 使用 Sun Cluster 命令行界面创建 Calendar Server 资源组。

    创建并启用日历资源组。

    例如:

    ./scrgadm -a -j CAL-SVR-CS1-RS -g CAL-CS1-RG
          -t SUNW.scics  -x ICS_serverroot=/cal-svr-baseCS1
          -y Resource_dependencies=CAL-HASP-CS1-RS,LOG-HOST-CS1-RS
    
    ./scrgadm -e -j CAL-SVR-CS1-RS
  4. 使用 Sun Cluster 命令行界面测试是否已成功创建 Calendar Server 资源组,对第一个节点(主节点)执行故障转移。

    例如:

    ./scswitch -z -g CAL-CS1-RG -h Node1

6.7.3 安装和配置第二个 Calendar Server 实例

第二个 Calendar Server 实例的主节点是第二个节点 (Node2)。

Procedure在第二个节点上安装 Calendar Server

  1. 验证文件是否已挂载。

    在主节点 (Node2) 上输入以下命令:

    df -k

    以下为您可能看到的输出的示例:

    /dev/md/penguin/dsk/d500     35020572   
         34738 34635629   1%   /install-rootCS1
    /dev/md/penguin/dsk/d400     35020572   
         34738 34635629   1%   /share-disk-dirCS1
    /dev/md/polarbear/dsk/d300   35020572   
         34738 34635629   1%   /share-disk-dirCS2
    /dev/md/polarbear/dsk/d200   35020572   
         34738 34635629   1%   /install-rootCS2
    /dev/md/polarbear/dsk/d600   35020572   
         34738 34635629   1%   /var-cal-dirCS1
    /dev/md/polarbear/dsk/d700   35020572   
         34738 34635629   1%   /var-cal-dirCS2
  2. 使用 Sun Java Systems Communications Suite 安装程序在新的主节点(第二个节点)上安装 Calendar Server。

    1. 在“指定安装目录”面板中指定第二个节点的安装根目录 (/install-rootNode2):

      例如,如果 Node 2 计算机名为 blue 且根目录为 ocean,则安装目录为 /ocean/blue

    2. 选择“以后再配置”选项。

Procedure为第二个实例配置 Sun Cluster

使用 Sun Cluster 命令行界面来配置 Calendar Server 的第二个实例,如以下步骤中所述:

  1. 创建故障转移资源组。

    在以下示例中,资源组为 CAL-CS2-RG,并且将两个节点中名为 Node2 的节点作为主节点,名为 Node1 的节点作为故障转移节点。

    ./scrgadm -a -g CAL-CS2-RG -h Node2,Node1
  2. 创建逻辑主机名资源。

    日历客户端将在此逻辑主机名上进行侦听。以下示例使用 LOG-HOST-CS2-RS,以后会使用实际的主机名来替换此字符串。

    ./scrgadm -a -L -g CAL-CS2-RG -l LOG-HOST-CS2-RS
    ./scrgadm -c -j LOG-HOST-CS2-RS -y R_description="LogicalHostname 
         resource for LOG-HOST-CS2-RS"
  3. 使资源组处于联机状态。

    scswitch -Z -g CAL-CS2-RG
  4. 创建 HAStoragePlus 资源并将其添加到故障转移资源组。

    在本示例中,资源为 CAL-SVR-CS2-RS。可将其替换为自己的资源名称。

    ./scrgadm -a -j CAL-SVR-CS2-RS -g CAL-CS2-RG -t 
         SUNW.HAStoragePlus:4 -x FilesystemMountPoints=/install-rootCS2,
         /share-disk-dirCS2,/var-cal-dirCS2
    ./scrgadm -c -j CAL-HASP-CS2-RS -y R_description="Failover data 
         service resource for SUNW.HAStoragePlus:4"
  5. 启用 HAStoragePlus 资源。

    ./scswitch -e -j CAL-HASP-CS2-RS

Procedure配置第二个 Calendar Server 实例

  1. 在辅助节点上再次运行配置程序。

    # cd /cal-svr-baseCS2/sbin/
    
    # ./csconfigurator.sh

    有关运行配置脚本的更多信息,参见《Sun Java System Calendar Server 6.3 管理指南》。

  2. 在“运行时配置”面板上,取消选中两个“Calendar Server 启动”选项。

  3. 在“存储配置和数据文件的目录”面板上,提供如以下列表中所示的合适目录:

    配置目录

    share-disk-dirCS2/config

    数据库目录

    /share-disk-dirCS2/csdb

    附件存储目录

    /share-disk-dirCS2/store

    日志目录

    /share-disk-dirCS2/logs

    临时文件目录

    /share-disk-dirCS2/tmp

    完成目录指定后,选择“创建目录”。

  4. 在“归档和紧急备份”面板上,提供如以下列表中所示的适当目录名称:

    归档目录

    /share-disk-dirCS2/csdb/archive

    紧急备份目录

    /share-disk-dirCS2/csdb/hotbackup

    指定这些目录后,选择“创建目录”。

  5. 验证配置是否成功。

    配置程序将显示一系列消息。如果这些消息均以 PASSED 开头,则表示配置成功。有关可能出现的输出示例的信息,请查看以下部分中的示例:6.11 日历配置程序的示例输出(精简版)

Procedure执行第二个实例的最终配置步骤

  1. 使用 Sun Cluster 命令行界面对第一个节点执行故障转移。

    例如:

    # /usr/cluster/bin/scswitch -z -g CAL-CS2-RG -h Node1
  2. 通过添加以下示例中所示的参数来编辑配置文件 ics.conf


    注 –

    显示的值仅为示例。必须用自己的信息替换示例中的值。

    在开始此步骤前备份 ics.conf 文件。


    ! The following changes were made to configure Calendar Server
    ! Highly Available
    !
    local.server.ha.enabled="yes"
    local.server.ha.agent="SUNWscics"
    service.http.listenaddr="IPAddressCS2"
    local.hostname="LOG-HOST-CS2-RS"
    local.servername="LOG-HOST-CS2-RS"
    service.ens.host="LOG-HOST-CS2-RS"
    service.http.calendarhostname="LOG-HOST-CS2-RS-Domain.com"
    local.autorestart="yes"
    service.listenaddr = "IPAddressCS2"

    注 –

    service.http.calendarhostname 的值必须为全限定主机名。


  3. 使用 Sun Cluster 命令行界面创建 Calendar Server 资源组。

    创建并启用 Calendar Server 资源组。

    例如:

    ./scrgadm -a -j CAL-SVR-CS2-RS -g CAL-CS2-RG
          -t SUNW.scics -x ICS_serverroot=/cal-svr-baseCS2
          -y Resource_dependencies=CAL-HASP-CS2-RS,LOG-HOST-CS2-RS
    
    ./scrgadm -e -j CAL-SVR-CS2-RS
  4. 使用 Sun Cluster 命令行界面测试是否已成功创建日历资源组,并对第二个节点(此 Calendar Server 实例的主节点)执行故障转移。

    例如:

    ./scswitch -z -g CAL-CS2-RG -h Node2

    现在,已完成对称 HA Calendar Server 的安装和配置。

6.8 启动和停止 Calendar Server HA 服务

使用以下命令启动、故障转移、禁用、删除和重新启动 Calendar Server HA 服务:

启用和启动 Calendar Server HA 服务:
# scswitch -e -j CAL-SVR-RS
故障转移 Calendar Server HA 服务:
# scswitch -z -g CAL-RG -h Node2
禁用 Calendar Server HA 服务:
# scswitch -n -j CAL-SVR-RS
删除 Calendar Server 资源:
# scrgadm -r -j CAL-SVR-RS
重新启动 Calendar Server HA 服务:
# scrgadm -R -j CAL-SVR-RS

6.9 从 Calendar Server 配置中删除 HA

本节介绍如何撤消 Sun Cluster 的 HA 配置。并且使用本章中描述的简单非对称示例配置。必须调整此方案以适合自身的安装。

Procedure删除 HA 组件

  1. 成为超级用户。


    注 –

    只有成为超级用户后才可以执行所有以下的 Sun Cluster 命令。


  2. 使资源组处于脱机状态。使用以下命令来关闭资源组中的所有资源(例如,Calendar Server 和 HA 逻辑主机名)。


    # scswitch -F -g CAL-RG
  3. 禁用单个资源。

  4. 使用以下命令从资源组中一个一个地删除资源:


    # scswitch -n -j CAL-SVR-RS
    # scswitch -n -j CAL-HASP-RS
    # scswitch -n -j LOG-HOST-RS
  5. 使用以下命令删除资源组自身:


    # scrgadm -r -g CAL-RG
  6. 删除资源类型(可选)。如果要从群集删除资源类型,使用以下命令:


    # scrgadm -r -t SUNW.scics
    # scrgadm -r -t SUNW.HAStorage

6.10 调试 Sun Cluster

Calendar Server Sun Cluster 代理使用两种不同的 API 来记录消息:

Procedure启用日志记录

由于无法共享 /var/adm 文件,必须在每个 HA 节点上执行以下任务。此文件位于单个节点的根分区上。

  1. 创建 Calendar Server 代理的日志记录目录。

    mkdir -p /var/cluster/rgm/rt/SUNW.scics
  2. 将调试级别设为 9。

    echo 9 >/var/cluster/rgm/rt/SUNW.scics/loglevel

    以下示例显示可能在目录中看到的日志消息。注意,在最后一行中,ICS-serverroot 需为 cal-svr-base 或安装目录。

    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,cal-rs,ics_svc_start]: 
         [ID 831728 daemon.debug] Groupname icsgroup exists.
    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]: 
         [ID 383726 daemon.debug] Username icsuser icsgroup
    Dec 11 18:24:46 mars SC[SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]: 
         [ID 244341 daemon.debug] ICS_serverroot = /cal-svr-base
  3. 启用 Sun Cluster 数据服务日志记录。

    通过添加以下行来编辑 syslog.conf 文件。

    daemon.debug /var/adm/clusterlog

    从而将所有调试消息记录到 daemon.debug /var/adm/clusterlog 文件中。

  4. 重新启动 syslogd 守护进程。

    pkill -HUP syslogd

    所有 syslog 调试消息的前缀都为:

    SC[resourceTypeName, resourceGroupName, resourceName, methodName]

    为便于显示,以下示例消息被分隔并以多行显示。

    Dec 11 15:55:52 Node1 SC
          [SUNW.scics,CAL-RG,CalendarResource,ics_svc_validate]:
          [ID 855581 daemon.error] Failed to get the configuration info
    Dec 11 18:24:46 Node1 SC
          [SUNW.scics,CAL-RG,LOG-HOST-RS,ics_svc_start]:
          [ID 833212 daemon.info] Attempting to start the data service under 
          process monitor facility.

6.11 日历配置程序的示例输出(精简版)

本节包含配置程序的部分输出内容。实际的输出可能会长得多。在输出的末尾处,会显示:“所有任务均已通过。”检查日志文件。在打印输出的末尾处给出了文件的位置。

/usr/jdk/entsys-j2se/bin/java -cp /opt/Node2/SUNWics5/cal/share/lib:
     /opt/Node2/SUNWics5/cal/share -Djava.library.path=
     /opt/Node2/SUNWics5/cal/lib configure -nodisplay -noconsole -novalidate
# ./csconfigurator.sh -nodisplay -noconsole -novalidate
/usr/jdk/entsys-j2se/bin/java -cp /opt/Node2/SUNWics5/cal/share/lib:
     /opt/Node2/SUNWics5/cal/share -Djava.library.path=
     /opt/Node2/SUNWics5/cal/lib configure -nodisplay -noconsole -novalidate
Java Accessibility Bridge for GNOME loaded.

Loading Default Properties...

Checking disk space...

Starting Task Sequence
===== Mon Dec 18 15:33:29 PST 2006 =====
Running /bin/rm -f /opt/Node2/SUNWics5/cal/config
/opt/Node2/SUNWics5/cal/data

===== Mon Dec 18 15:33:29 PST 2006 =====
Running /usr/sbin/groupadd icsgroup

===== Mon Dec 18 15:33:29 PST 2006 =====
Running /usr/sbin/useradd -g icsgroup -d / icsuser

===== Mon Dec 18 15:33:30 PST 2006 =====
Running /usr/sbin/usermod -G icsgroup icsuser

===== Mon Dec 18 15:33:30 PST 2006 =====
Running /bin/sh -c /usr/bin/crle


===== Mon Dec 18 15:33:32 PST 2006 =====
Running /bin/chown icsuser:icsgroup /etc/opt/Node2/SUNWics5/config/watcher.
cnf


...

Sequence Completed

PASSED: /bin/rm -f /opt/Node2/SUNWics5/cal/config
/opt/Node2/SUNWics5/cal/data : status = 0

PASSED: /usr/sbin/groupadd icsgroup : status = 9

PASSED: /usr/sbin/useradd -g icsgroup -d / icsuser : status = 9


...

All Tasks Passed. Please check install log
/var/sadm/install/logs/Sun_Java_System_Calendar_Server_install.B12181533 for
further details.

6.12 相关文档

有关 Sun Cluster 的更多说明,参见 docs. sun.com 中提供的大量文档。

以下为部分的文档标题列表:

第 7 章 配置 SSL

安全套接口层 (Secure Socket Layer, SSL) 是一种协议,用于加密和解密在客户机和具有 SSL 功能的服务器之间传输的数据,以保证安全连接。服务器负责向客户机发送用于实现加密的数字证书和公钥。如果客户机信任服务器的证书,则可建立 SSL 连接。所有从一方传输到另一方的数据都会被加密。只有客户机和服务器可解密数据。

Sun Java System 服务器支持通过检查用户的数字证书来验证用户。当客户机与服务器建立 SSL 会话时,它会显示用户的证书而非密码。如果证书通过了验证,表示用户也通过了验证。Calendar Server 支持使用 SSL 协议加密在日历客户机最终用户和 Calendar Server 之间传输的数据。为支持 SSL,Calendar Server 使用 Netscape 安全服务 (Netscape Security Services, NSS) certutil 工具的 SSL 库,Sun Java System Messaging Server 也使用这些库。NSS certutil 工具捆绑在 Calendar Server 产品的 sbin 目录中。

可以在 ics.conf 文件中配置 Calendar Server,以实现只对 Caleder Server 登录和密码进行加密或加密整个日历会话。

本章涵盖了配置 SSL 所必需的三个任务和故障排除:


注 –

Calendar Server 并不支持基于客户机的 SSL 验证。


7.1 配置 Calendar Server 的 SSL

本节说明如何配置 Calendar Server 的 SSL。

本节包含以下主题:

Procedure创建 SSL 证书数据库

网关需要证书才能将其公钥发送给客户机。证书包括网关的公钥、与网关证书相关的标识名、证书的序列号或颁发日期以及证书的到期时间。证书由认证机构 (Certification Authority, CA) 颁发,该机构会验证网关的身份。CA 为一个或多个用户所信任的机构,它负责颁发和管理 X.509 公钥证书以及 CARL 或证书撤销列表 (Certification Revocation List, CRL)。CA 是公钥基础结构 (Public Key Infrastructure, PKI) 的基本构建块。另一方面,PKI 是一组用于管理证书和公/私钥对(包括颁发、维护和撤销公钥证书的功能)的策略、进程、服务器平台、软件和工作站。

CA 会在所生成的每个证书和 CRL 中插入其名称,并使用私钥来对证书进行数字签名。直接或通过认证路径与 CA 建立信任关系后,就可信任由该 CA 颁发的证书。可通过比较其名称来轻松地识别该 CA 所颁发的证书。不过,可使用其公钥来确保证书的有效性。

CA 执行以下四个基本的 PKI 功能:

服务器的证书和密钥对代表服务器的身份。它们存储在证书数据库中,此数据库可存放在服务器内部,也可存放在外部的可移除硬件卡(智能卡)上。实现 Calendar Server 的 SSL 需要证书数据库。证书数据库必须定义 Calendar Server 的认证机构 (CA) 和证书。本部分包含概念性信息和任务信息:

开始之前

创建证书数据库之前,请先熟悉以下内容:

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

  2. /etc/opt/SUNWics5/config/sslpassword.conf 中指定证书数据库密码。

    例如:


    # echo "password file entry" 
          /etc/opt/SUNWics5/config/sslpassword.conf

    password file entry 的格式如下:

    Internal (Software) Token: password

  3. 创建证书数据库目录。例如:


    # cd /var/opt/SUNWics5
     # mkdir alias
  4. 转到 bin 目录,生成证书数据库 (cert8.db) 和密钥数据库 (key3.db)。例如:


    # cd /opt/SUNWics5/cal/bin
     # ./certutil -N -d /etc/opt/SUNWics5/config
                     -f /etc/opt/SUNWics5/config/sslpassword.conf

    注 –

    在这一次以及其他必须运行 certutil 实用程序的时候,请完全遵照本示例,或参考 certutil 帮助页来理解语法。

    例如,在本例中,如果没有同时指定 -d /文件信息时,则不要运行带 -N 选项的实用程序。


  5. 生成默认的自签名根证书授权机构。例如:


    # ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu"
     -s "CN=My Sample Root CA, O=sesta.com" -m 25000
     -o /etc/opt/SUNWics5/config/SampleRootCA.crt
     -d /etc/opt/SUNWics5/config
     -f /etc/opt/SUNWics5/config/sslpassword.conf -z
     /etc/passwd
  6. 生成主机的证书。例如:


    # ./certutil -S -n SampleSSLServerCert -c SampleRootCA 
     -t "u,u,u"
     -s "CN=hostname.sesta.com, O=sesta.com" -m 25001
     -o /etc/opt/SUNWics5/config/SampleSSLServer.crt
     -d /etc/opt/SUNWics5/config 
     -f /etc/opt/SUNWics5/config/sslpassword.conf
     -z /etc/passwd

    其中,hostname.sesta.com 是服务器主机名。

  7. 验证证书。例如:


    # ./certutil -V -u V -n SampleRootCA  
        -d /etc/opt/SUNWics5/config
     # ./certutil -V -u V -n SampleSSLServerCert 
       -d /etc/opt/SUNWics5/config
  8. 列出证书。例如:


    # ./certutil -L -d /etc/opt/SUNWics5/config
     # ./certutil -L -n SampleSSLServerCert 
       -d /etc/opt/SUNWics5/config
  9. 使用 modutil 列出可用的安全模块 (secmod.db)。例如:


    # ./modutil -list -dbdir /etc/opt/SUNWics5/config
  10. 将 alias 文件的所有者更改为 icsusericsgroup(或将要运行 Calendar Server 的用户和组标识)。例如:


    # find /etc/opt/SUNWics5/config -exec chown icsuser {};
     # find /etc/opt/SUNWics5/config -exec chgrp icsgroup {};

7.1.1 自签名证书

自签名证书通过网关自身的私钥来进行签名。自签名证书并不安全,但是可使用它们在签名证书可用前测试需要证书的应用程序。自签名证书将其自身的证书请求而非 CA 的签名用作签名。

在通过 PKI 创建自签名证书时,共有十个通用字段,其中六个字段为必填字段,其余四个为可选字段。序列号、证书签名算法标识符、证书颁发者名称、证书有效期、公钥和主题名称为必填字段。可选字段有版本号、两个唯一标识符和扩展名。这些可选字段仅出现在版本 2 和版本 3 证书中。

必填字段“有效期”表示证书的生效时间和到期时间。NSS certutil 中提供的默认到期时间为三个月。然而,在到期时间前,证书中的有效数据会变得不可靠。X.509 CRL 机制提供其已颁发证书的状态更新以密切关注证书的到期时间。此外,CA 也将证书的到期时间强制限制为一到两年。

证书到期或其有效期结束后,需要进行续展。续展是一种行为或过程,即通过颁发新证书来延长由公钥证书所声明的数据绑定的有效期。可使用以下命令验证证书:

-V -n certname -b validity-time -u certusage [-e] [-l] [-d certdir]

以下示例说明如何使用命令来验证证书:

certutil -V -n jsmith@netscape.com -b 9803201212Z -u SR -e -l -d certdir.

“证书数据库工具”显示与以下内容类似的结果:

Certificate:'jsmith@netscape.com' is valid.

UID=jsmith, E=jsmith@netscape.com, CN=John Smith, O=Netscape Communications Corp., C=US : Expired certificate

UID=jsmith, E=jsmith@netscape.com, CN=John Smith, O=Netscape Communications Corp., C=US : Certificate not approved for this operation

Procedure从根证书授权机构请求并导入证书

以下步骤将介绍如何生成认证请求,将请求提交给公钥基础设施 (Public Key Infrastructure, PKI) Web 站点,然后导入证书。这些说明假设您要将证书数据库放置在 config 目录下。

开始之前

证书数据库和密码文件必须处于同一目录中。此处显示的默认目录为 config 目录,但是,也可选择另一目录,这时必须如以下过程所示配置另一路径参数。

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

  2. 转到 bin 目录:

    # cd /opt/SUNWics5/cal/bin

  3. 基于认证机构或公钥基础设施 (PKI) Web 站点,使用 certutil 生成认证请求。例如:


    # ./certutil -R -s "CN=hostname.sesta.com, 
    OU=hostname/ SSL Web Server, O=Sesta, 
    C=US" -p "408-555-1234" -o hostnameCert.req 
    -g 1024  -d /etc/opt/SUNWics5/config 
    -f /etc/opt/SUNWics5/config/sslpassword.conf  -z /etc/passwd -a

    其中,"hostname.sesta.com" 为主机名。

  4. 从认证机构或公钥基础设施 (PKI) Web 站点为 SSL Web 服务器请求一个测试证书。将 hostnameCert.req 文件的内容复制并粘贴到认证请求中。

    系统将通知您证书何时签名并可用。

  5. 将认证机构证书链和 SSL 服务器证书复制到文本文件中。

  6. 将认证机构证书链导入证书数据库以建立机构链。例如:


    # ./certutil -A -n "GTE CyberTrust Root"
        -t "TCu,TCu,TCuw" 
        -d /etc/opt/SUNWics5/config 
        -a 
        -i /export/wspace/Certificates/CA_Certificate_1.txt
        -f /etc/opt/SUNWics5/config/sslpassword.conf
    # ./certutil -A -n "Sesta TEST Root CA" 
        -t "TCu,TCu,TCuw" 
        -d /etc/opt/SUNWics5/config 
        -a 
        -i /export/wspace/Certificates/CA_Certificate_2.txt
        -f /etc/opt/SUNWics5/config/sslpassword.conf
  7. 导入已签名的 SSL 服务器证书:


    # ./certutil -A -n "hostname SSL Server Test Cert"
        -t "u,u,u" -d /etc/opt/SUNWics5/config 
        -a 
        -i /export/wspace/Certificates/SSL_Server_Certificate.txt
        -f /etc/opt/SUNWics5/config/sslpassword.conf
  8. 列出证书数据库中的证书:

    # ./certutil -L -d /etc/opt/SUNWics5/config

  9. ics.conf 文件中的 SSL 服务器昵称配置为已签名的 SSL 服务器证书,例如:"hostname SSL Server Test Cert"。

    注意:ics.conf 文件中的 service.http.calendarhostnameservice.http.ssl.sourceurl 参数的主机名应与 SSL 证书中的主机名相匹配(如果您的系统具有多个别名)。例如:calendar.sesta.com

Procedure配置 ics.conf 文件中的 SSL 参数

要在 Calendar Server 上实现 SSL,必须设置 ics.conf 文件中的特定参数。如果下表中列出的任何参数不在 ics.conf 文件中,请使用指定的值将它们添加到该文件中。由于当系统启动时(发出 start-cal 时),ics.conf 是只读的,因此只有重新启动 Calendar Server 后,这些新值才会生效。有关这些 SSL 参数的说明,参见 E.2.10 Calendar Server SSL 配置参数

  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 编辑下表中所示的一个或多个参数:

    参数 

    值 

    encryption.rsa.nssslactivation

    "on"

    encryption.rsa.nssslpersonalityssl

    "SampleSSLServerCert"

    encryption.rsa.nsssltoken

    "internal"

    service.http.tmpdir

    "/var/opt/SUNWics5/tmp"

    service.http.uidir.path

    "html"

    service.http.ssl.cachedir

    "."

    service.http.ssl.cachesize

    "10000"

    local.ssldbpath

    "/etc/opt/SUNWics5/config"

    service.http.ssl.port.enable

    "yes"

    service.http.ssl.port

    "443"(默认 SSL 端口)


    注 –

    不在 HTTP 默认端口 "80" 上。


    service.http.securesession

    "yes"(加密整个会话)

    service.http.ssl.sourceurl

    "https://localhost:port"(提供本地主机名和 service.http.ssl.port 的值。) 开始

    service.http.ssl.ssl3.ciphers

    "rsa_red_40_md5,

    rsa_rc2_40_md5,

    rsa_des_sha,

    rsa_rc4_128_md5,

    rsa_3des_sha"

    service.http.ssl.ssl3.sessiontimeout

    "0"

    service.http.sslusessl

    "yes"

  5. 将此文件另存为 ics.conf

  6. 重新启动 Calendar Server 使上述更改生效。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

7.2 Calendar Server 6.3 软件的 SSL 故障排除

首先,应定期备份证书数据库,以免发生了不可恢复的错误。本节包括备份数据库后的注意事项。

7.2.1 检查 cshttpd 进程

SSL 要求 Calendar Server cshttpd 进程正在运行。要确定 cshttpd 是否正在运行,使用以下命令:

# ps -ef | grep cshttpd

7.2.2 验证证书

要列出证书数据库中的证书并检查其有效期,请使用以下命令:

# ./certutil -L -d /etc/opt/SUNWics5/config

7.2.3 查看 Calendar Server 日志文件

查看 Calendar Server 日志文件中记录的 SSL 错误。

7.2.4 连接 SSL 端口

使用浏览器及以下 URL 连接 SSL 端口:

https://server-name:ssl-port-number

其中:

server-name 是运行 Calendar Server 的服务器的名称。

ssl-port-number 是由 ics.conf 文件中的 service.http.ssl.port 参数指定的 SSL 端口号。默认端口为 443。

7.2.5 使 cshttpd 停止侦听常规 HTTP 端口

HTTP 和 HTTPS 在不同的端口上侦听(SSL 使用 443,HTTP 使用 80),所以二者永远不可能侦听同一端口。目前,尚无法通知 cshttpd 停止侦听常规 HTTP 端口。但是,管理员可以将 service.http.port 更改为未公开的端口号。


注意 – 注意 –

请勿为了阻止 cshttpd 侦听 HTTP 而设置 service.http.enable ="no"。这样做也会导致 HTTP 故障。必须将 service.http.enableservice.http.ssl.port.enable 都设置为 "yes",SSL 才能正确配置。


第 8 章 为 Calendar Server 6.3 系统配置单点登录

本章介绍如何配置单点登录 (SSO)。

单点登录 (SSO) 使用户只需验证一次就可以使用多个信任的应用程序,而不必多次验证。

Sun Java System 通信服务器(包括 Calendar Server 和 Messaging Server)可按以下说明实现 SSO 功能:

8.1 通过 Access Manager 配置 SSO

Sun Java Enterprise System 服务器(包括 Calendar Server 和 Messaging Server)可以使用 Sun Java System Access Manager (6 2003Q4 版或更高版本)实现 SSO 功能

Access Manager 可以作为 Sun Java Enterprise System 服务器的 SSO 网关。即用户登录 Access Manager 后即可访问其他 Sun Java Enterprise System 服务器,只要这些服务器已经过适当配置,支持 SSO。

Procedure在 Calendar Server 中使用 SSO

  1. 请确保已安装和配置 Access Manager 和 Directory Server。有关安装和配置这些产品的信息,参阅《Sun Java Enterprise System 5 Installation Guide for UNIX》

  2. 停止 Calendar Server 服务后,通过设置8.1 通过 Access Manager 配置 SSO中显示的参数来为 Calendar Server 配置 SSO。要使这些值生效,必须重新启动 Calendar Server 服务。


    注 –

    设置 local.calendar.sso.amnamingurl 参数时,必须使用安装了 Access Manager 软件的主机的全限定主机名。


  3. 要为 Messaging Server 配置 SSO,参阅《Sun Java System Messaging Server 6.3 Administration Guide》

  4. 用户使用他们的 Directory Server LDAP 用户名和密码登录 Access Manager。(通过其他服务器例如 Calendar Server 或 Messaging Server 登录的用户将无法使用 SSO 访问其他 Sun Java Enterprise System 服务器。)

  5. 登录后,用户就可以使用适当的 URL,通过 Communications Express 访问 Calendar Server。用户还可以访问其他 Communications Suite 服务器(例如 Messaging Server),只要这些服务器已经过适当配置,支持 SSO。

    参数 

    说明 

    local.calendar.sso.amnamingurl

    指定 Access Manager SSO 命名服务的 URL。 

    默认值为 。 

    http://AccessManager:port/amserver/namingservice

    其中,AccessManager 是 Access Manager 的全限定名port 是 Access Manager 端口号。

    local.calendar.sso.amcookiename

    指定 Access Manager SSO Cookie 的名称。 

    默认值为 "iPlanetDirectoryPro"

    local.calendar.sso.amloglevel

    指定 Access Manager SSO 的日志级别。取值范围从 1(静默)到 5(详细)。默认值为 "3"。 

    local.calendar.sso.logname

    指定 Access Manager SSO API 日志文件名。 

    默认值为:am_sso.log

    local.calendar.sso.singlesignoff

    启用 ("yes") 或禁用 ("no") 从 Calendar Server 到 Access Manager 的单点注销。 

    如果启用,用户从 Calendar Server 注销的同时也将从 Access Manager 注销,而且用户通过 Access Manager 启动的任何其他会话(例如 Messaging Server Web 邮件会话)也将终止。 

    由于 Access Manager 是验证网关,因此总是启用从 Access Manager 到 Calendar Server 单点注销。 

    默认值为 "yes"。 


    提示 –

    更改 ics.conf 文件的最佳方法是将参数和其新值添加到文件末尾。系统会读取整个文件,然后使用最后找到的参数值。


8.1.1 在 Access Manager 中使用单点登录的注意事项

本节列出了一些在 Access Manager 中使用单点登录 (Single Sign-on, SSO) 的注意事项。

以下便是这些注意事项:

8.1.2 通过通信服务器信任环技术配置 SSO

在通过通信服务器信任环技术(也就是不通过 Access Manager)配置 SSO 时,请注意以下几点:

下表介绍了通过通信服务器信任环技术启用 SSO 所需的 Calendar Server 配置参数。

表 8–1 通过通信服务器信任环技术启用 SSO 所需的 Calendar Server 参数

参数 

说明 

sso.enable

必须将此参数设置为 "1"(默认值)才能启用 SSO。设置为 0 将禁用 SSO。 

sso.appid

此参数指定特定 Calendar Server 安装的唯一应用程序 ID。每个信任的应用程序也必须有一个唯一的应用程序 ID。默认值为:"ics50"

sso.appprefix

此参数指定了用于格式化 SSO Cookie 的前缀值。所有信任的应用程序必须使用相同的值,因为 Calendar Server 只能识别带有此前缀的 SSO Cookie。默认值为:"ssogrp1"

sso.cookiedomain

此参数指定浏览器只将 Cookie 发送到指定域中的服务器。该值必须以句点 (.) 开始 

sso.singlesignoff

如果将该值设置为 "true"(默认值),那么在客户机注销时,将清除客户机上前缀值与 sso.appprefix 中配置的值相匹配的所有 SSO cookie。

sso.userdomain

此参数设置用作用户的 SSO 验证一部分的域。 

sso.appid.url = "verifyurl"

此参数设置 Calendar Server 配置的对等 SSO 主机的验证 URL 值。每个信任的对等 SSO 主机都需要一个参数。 

此参数包括以下部分:

  • 应用程序 ID (appid),标识包含可信 SSO Cookie 的每个对等 SSO 主机。

  • 验证 URL (verifyurl),包括主机 URL、主机端口号以及 VerifySSO?(包括末尾处的问号 ?)。

    在本例中,Calendar Server 应用程序 ID 是 ics50,主机 URL 是 sesta.com,端口号是 8883

    Messenger Express 应用程序 ID 是 msg50,主机 URL 是 sesta.com,端口号是 8882

例如: 

sso.ics50.url=
  "http://sesta.com:8883
  /VerifySSO?"
sso.msg50.url=
  "http://sesta.com:8882
  /VerifySSO?" 

下表介绍了通过通信服务器信任环技术启用 SSO 所需的 Messaging Server 配置参数。

表 8–2 通过通信服务器信任环技术启用 SSO 所需的 Messaging Server 参数

参数 

说明 

local.webmail.sso.enable

必须将此参数设置为非零值才能启用 SSO。 

local.webmail.sso.prefix

此参数指定在格式化 HTTP 服务器设置的 SSO Cookie 时所使用的前缀。例如:ssogrp

local.webmail.sso.id

此参数指定 Messaging Server 的唯一应用程序 ID(例如:msg50)。

每个信任的应用程序也必须有一个唯一的应用程序 ID。 

local.webmail.sso.cookiedomain

此参数指定 HTTP 服务器设置的所有 SSO Cookie 的 Cookie 域值。 

local.webmail.sso.singlesignoff

如果将此值设置为非零值,那么当客户机注销时,将清除客户机上前缀值与 local.webmail.sso.prefix 中配置的值相匹配的所有 SSO Cookie。

local.sso.appid.url=verifyurl

此参数设置 Messaging Server 配置的对等 SSO 主机的验证 URL 值。每个信任的对等 SSO 主机都需要一个参数。 

参数包括以下部分:

  • 应用程序 ID (appid),标识包含可信 SSO Cookie 的每个对等 SSO 主机。

  • 验证 URL (verifyurl),包括主机 URL、主机端口号以及 VerifySSO?(包括末尾处的 ?)。

    例如:

    local.sso.ics50.verifyurl=

    http://sesta.com:8883/VerifySSO?

    在本例中,Calendar Server 应用程序 ID 是 ics50,主机 URL 是 sesta.com,端口号是 8883

    local.sso.msg50.verifyurl=

    http://sesta.com:8882/VerifySSO?

    在本例中,Messaging Server 应用程序 ID 是 msg50,主机 URL 是 sesta.com,端口号是 8882

有关配置 Messaging Server 以启用 SSO 的更多信息,参见《Sun Java System Messaging Server 6.3 Administration Guide》

第 9 章 配置自动备份

运行配置程序 csconfigurator.sh 时,可以选择配置两种自动备份、紧急备份和归档备份。但是,即使当时没有选择配置自动备份,也可以在以后随时选择配置两种自动备份类型中的一种或两种。好的备份系统对于保护数据和最小化运行的停机时间是至关重要的。

本章介绍如何配置自动备份并包含以下主题:


注 –

如果您选择不使用此处所述的自动备份进程,则必须执行自己的备份策略以保护数据。有关如何使用其他 Calendar Server 工具来保护数据的信息,请参见 第 17 章,备份和恢复 Calendar Server 数据


有关 csstored 的概述,请参见《Sun Java Communications Suite 5 Deployment Planning Guide》

9.1 启用 Calendar Server 存储服务 (csstored)

正确配置后,系统将创建日历数据库的自动备份。可以在 csconfigurator.sh 配置程序运行时将 Calendar Server 配置为自动备份,也可以以后再配置,如本章所述。

配置为自动备份后,系统将执行以下操作:

9.2 Calendar Server 6.3 系统中的自动备份概述

本节概述如何在 Calendar Server 系统中实现自动备份。

本节包含以下主题:

9.2.1 自动备份如何在 Calendar Server 6.3 系统中工作

Calendar Server 系统将日历数据库的每个事务(对日历及其属性的添加、修改或删除)均记录在事务日志文件中。在某一预定的时间间隔,将关闭此日志文件以进行写入,并创建另一个日志文件。系统随后会在时间允许的情况下将最早关闭的事务日志中的事务应用到即时日历数据库中。在将该日志中的所有事务应用到数据库时,该日志将被标记为“已应用”。

配置紧急备份后,将每隔 24 小时拍下即时数据库的快照。已应用的日志随后将被应用到数据库的紧急备份副本中。紧急备份数据库数与仍等待被应用的事务数目保持当前一致。


注 –

如果禁用了自动备份,则应将循环日志记录 ics.conf 参数 caldb.berkeley.circularlogging 设置为 "yes"。这将启用对旧数据库事务日志进行的清除,以节省磁盘空间。


9.2.2 循环备份如何在 Calendar Server 6.3 系统中工作

启用了自动备份后,系统会使用循环备份系统来自动管理保留在备份数据库文件中的备份副本的数目。

系统将备份存储在备份数据库目录下,直到已积累到备份副本的最大数目或已达到所允许的最大磁盘空间。此时,系统会清除备份副本(首先是最旧的),直到剩余的副本数与要保留的最小副本数匹配,并且占据的磁盘空间大小必须低于磁盘空间阈值。如果即使保留最小备份数也会超过磁盘空间阈值,则系统会清除其他副本,直到满足阈值。

有一组用于控制循环备份的 ics.conf 参数。这些参数具有默认值,无需对其进行更进一步的自定义。如果您要调整系统中备份的工作方式,请参见21.7 调优自动备份

9.2.3 用于启用自动备份的高级别步骤

如果在运行配置文件时没有配置自动备份,则可以稍后设置它们。本节介绍高级步骤列表,这些步骤是在已运行配置程序后用于启用 Calendar Server 6.3 系统的自动备份所必需的步骤。

以下是高级任务列表:

9.3 为 Calendar Server 6.3 备份设置事务日志文件

本节介绍有关设置事务日志文件的概述和说明。

本节包含以下主题:

9.3.1 了解 Calendar Server 6.3 备份的事务日志文件

Calendar Server 使用事务日志文件来捕获自从最近一次快照以来对日历数据库所做的所有添加、修改和删除。在关闭日志文件以进行写入之前,事务将不会实际应用到动态数据库中。时间间隔参数用于指定关闭旧日志文件和创建新日志文件的频率。

日志文件名称由可配置的名称及附加在末尾的唯一数字组成。

关闭日志文件后,就可以将它们应用到动态数据库中。这将异步发生,意味着创建日志文件和将事务写入日志文件是“实时”进行,而将事务应用到数据库中的程序则独立地运行,与将事务写入日志文件中的操作无关。如果系统非常繁忙,则等待应用到数据库的日志文件的数目将会增加。当系统周期缓慢时,用于应用事务的程序就有时间来“追赶”并且实际上可能会处于闲置状态,等待下一个事务日志的到来。

事务已被应用于即时数据库之后,将被应用于紧急备份快照(如果已启用)。日志文件也将被写入快照所在的同一归档目录下。

Procedure设置事务日志文件

  1. 在命令行处,转至 ics.conf 所在的目录:

    cd /etc/opt/SUNWics5/config

  2. 指定事务日志名:

    logfile.store.logname=storename.log

  3. 指定事务日志目录的目录路径:

    默认值为:logfile.logdir="logs"

  4. 编辑完 ics.conf 文件后,重新启动 Calendar Server:

    cal-svr-base/SUNWics5/cal/sbin/start-cal

9.4 指定 Calendar Server 管理员的电子邮件地址

本节介绍有关设置 Calendar Server 管理员的电子邮件地址的概述和说明。

本节包含以下主题:

9.4.1 发送至管理员的电子邮件消息

当某些事件或错误发生时,将通过电子邮件通知管理员。

导致生成电子邮件消息的事件包括:

Procedure设置 Calendar Server 6.3 系统管理员的电子邮件地址

  1. 以有权更改此配置的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑以下 ics.conf 参数以指定管理员的电子邮件地址:

    alarm.msgalarmnoticercpt="admin@email_address "

  6. 将文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

9.5 启用 Calendar Server 6.3 数据库的紧急备份

本节介绍有关启用 Calendar Server 6.3 数据库的紧急备份的概述和说明(如果在运行配置程序时没有配置它们)。

本节包含以下主题:

9.5.1 Calendar Server 版本 6.3 中的紧急备份是什么?

理论上紧急备份由最新快照及应用于此快照的所有事务日志除了当前正被写入的事务日志组成。系统在应用事务日志方面可能会落后,这取决于系统的繁忙程度。可能存在若干尚未被应用到数据库或紧急备份中的日志文件。

这种“几乎复制”即时数据库的做法旨在发生某些故障或检测到数据库已损坏的情况下可以最小化停机时间和数据丢失。

拍摄新快照后,每隔 24 小时启动一次新的紧急备份。验证并保留旧的紧急备份,直到将其清除。有关详细信息,参见9.2.2 循环备份如何在 Calendar Server 6.3 系统中工作

Procedure启用 Calendar Server 6.3 系统的紧急备份

  1. 以有权更改此配置的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

  3. 在命令行处,转至 ics.conf 所在的目录:

    cd /etc/opt/SUNWics5/config

  4. 通过将以下 ics.conf 参数设置为 "yes" 来启用紧急备份:

    caldb.berkeleydb.hotbackup.enable="yes"

  5. 指定紧急备份目录的目录路径:

    caldb.berkeleydb.hotbackup.path=
       /var/opt/SUNWics5/hotbackup_directory
    

    Calendar Server 的默认紧急备份目录为 /var/opt/SUNWics5/csdb(对于 Solaris)以及 /var/opt/sun/calendar/csdb(对于 Linux)。Communications Suite 安装程序默认将归档和紧急备份目录放置到 csdb 目录下,因为它是安装程序所了解的合适子目录。


    注 –

    由于大小问题,强烈建议 Calendar Server 管理员将归档和紧急备份放置到与 csdb 目录不同的磁盘或卷或分区中。


    归档和紧急备份目录的数量均可配置。因此,如果选择每个归档和紧急备份目录的数量为 6,就意味着它们在 csdb 目录中可能具有 6 + 6 + 1 个动态数据库副本。csstored 实用程序在计算所需归档和紧急备份份份大小时除去了 csdb 目录内容的大小以及 csdb 所在的物理磁盘的大小。

    为方便起见,默认将归档和紧急备份目录安装在 csdb 目录内。但是,它应位于 csdb 以外的目录中以便进行实际部署。

    您可以选择将紧急备份置于备用磁盘或磁盘子系统中以防主磁盘驱动器上出现硬件故障。这样做还可以降低主驱动器或子系统上的输入/输出争用。

    如果您具有高可用性 (High Availability, HA) 配置,则将路径指定为共享存储的子目录 (/global/cal/)。另请参见 第 6 章,将 Calendar Server 6.3 软件配置为具有高可用性(故障转移服务)

  6. 编辑完 ics.conf 文件后,重新启动 Calendar Server:

    cal-svr-base/SUNWics5/cal/sbin/start-cal

9.6 启用 Calendar Server 6.3 数据库的归档备份

本节介绍有关启用 Calendar Server 6.3 数据库的归档备份的概述材料和说明(如果在运行配置程序时没有配置它们)。

本节包含以下主题:

9.6.1 Calendar Server 版本 6.3 中的归档备份是什么?

归档备份由快照及为快照所创建的日志文件组成。这些日志文件不被应用到此快照中。归档数据库将保留在磁盘上直至被清除。参见9.2.2 循环备份如何在 Calendar Server 6.3 系统中工作

Procedure启用 Calendar Server 6.3 系统的归档备份

  1. 以有权更改此配置的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

  3. 在命令行处,转至 ics.conf 所在的目录:

    cd /etc/opt/SUNWics5/config

  4. 通过将以下 ics.conf 参数设置为 "yes" 来启用归档备份:

    caldb.berkeleydb.archive.enable="yes"

  5. 指定归档目录的目录路径:

    caldb.berkeleydb.archive.path=
       /var/opt/SUNWics5/archive_backup_directory
    

    您可以选择将归档备份置于备用磁盘或磁盘子系统中,以防主磁盘驱动器上出现硬件故障。这样做还可以降低主驱动器或子系统上的 I/O 争用。

    如果您具有高可用性 (High Availability, HA) 配置,则将路径指定为共享存储的子目录 (/global/cal/)。另请参见 第 6 章,将 Calendar Server 6.3 软件配置为具有高可用性(故障转移服务)

  6. 编辑完 ics.conf 文件后,重新启动 Calendar Server:

    cal-svr-base/SUNWics5/cal/sbin/start-cal

    无需为编辑 ics.conf 文件停止日历服务,但必须重新启动服务以使更改生效。

第 10 章 设置多域 Calendar Server 6.3 环境

本章包含如何首次设置多域环境的概述材料和说明。


提示 –

在过去,将多域环境中的域称为 托管域虚拟域。在本文档中,这些术语可互换。


本章包含以下主题:

10.1 Calendar Server 版本 6.3 中的多域概述

Calendar Server 6.3 的特点是将多域作为默认值,并且将其作为组织用户和组 LDAP 条目的唯一方式。也就是说,根节点下必须至少有一个域,并且所有用户和组条目都必须在一个域节点下。在 Calendar Server 的较早版本中,使用域来包含用户和组条目是可选的。可在完全不使用域的情况下运行 Calendar Server。对于 Calendar Server 6.3 而言,情况将不再如此;必须至少有一个(默认)域。

在多域环境中,所有域共享同一个 Calendar Server 系统实例,从而允许在同一台服务器上存在多个域。每个域都定义一个命名空间,其中的所有用户、组和资源都是唯一的。另外,每个域都有一组专门设置的属性和首选项。域的所有用户和日历 ID 必须是全限定的。

配置程序会要求您提供设置默认域所必需的信息。在配置程序已完成且创建了需要的所有域后,在将用户和组 LDAP 条目复制到希望的域之前,必须通过运行迁移实用程序将非域用户和组 LDAP 条目转换为域就绪用户和组条目来准备用户和组条目。要运行的实用程序为 csmigcsvdmig

要从非域版本的 Calendar Server 升级到 Calendar Server 6.3,需做出以下几个选择:

如果在升级到当前版本之前已设置了托管(多)域,则不必更改用户 ID 和日历 ID。但是,需配置某些新的 ics.conf 参数,如下节中所示:10.4 Calendar Server 版本 6.3 中的多域模式所需的其他参数


注意 – 注意 –

如果您的站点当前配置了单个计算机上的多个 Calendar Server 实例或您已实现受限制的虚拟域模式,请与 Sun Microsystems 销售代表联系,以确定您的迁移要求。


10.2 首次设置 Calendar Server 版本 6.3 的多域环境

要从非域或单个域环境移动到多域环境,可能需要在创建任何 LDAP 条目之前执行以下任务:

  1. 运行数据库迁移实用程序。

    如果要从 Calendar Server 版本 5 迁移,需确保在尝试设置多域前已运行了 csmigcsvdmigcs5migrate csmigrate。有关这些迁移实用程序的更多信息,参见 第 3 章,Calendar Server 6.3 的数据库迁移实用程序

  2. 如果尚未运行这些数据库迁移实用程序,请运行 comm_dsseetup.pl

  3. 以有权更改此配置的管理员身份登录。

  4. 发布 stop-cal 命令停止 Calendar Server 服务。

  5. 编辑 ics.conf 文件以启用多域。

    下表列出并说明了 ics.conf 文件中用于支持多域的配置参数。如果该表中列出的任一参数不在 ics.conf 文件中,请将该参数及其相关值添加到该文件中,然后重新启动 Calendar Server 以使这些值生效。

    参数 

    说明 

    service.virtualdomain.support

    启用 ("yes") 多域支持。默认值为 "yes"


    注 –

    即使打算在单个域中进行操作,也不要将此参数更改为 "no"。当前版本的 Calendar Server 需要将其设置为 "yes"


    local.schemaversion

    指定 LDAP 模式的版本:

    service.dcroot

    对于多域支持,它会替代 local.ugldapbasedn local.authldapbasedn

    如果 local.schemaversion="1"local.schemaversion="1.5",指定 DC 树(在其之下可找到所有域)的根后缀。

    例如:"o=internet"

    service.schema2root

    如果 local.schemaversion="2",指定结构树(在其之下可找到所有域)的根后缀。

    例如:"o=sesta.com"

    service.defaultdomain

    指定此 Calendar Server 实例的默认域。用于在登录过程中没有提供域名的情况。 

    例如:"red.sesta.com"

    service.loginseparator

    指定 Calendar Server 解析 "userid[login-separator ]domain" 时用于 login-separator 的分隔符字符串。Calendar Server 将依次尝试每一个分隔符。

    默认值为 "@+"

    service.siteadmin.userid

    指定域管理员的用户 ID。 

    例如:DomainAdmin@sesta.com

    service.virtualdomain.scope

    控制交叉域搜索:

    • "primary" 仅在用户登录的域中搜索。

    • "select" 在允许搜索的所有域中搜索。

      默认值为 "select"

    local.domain.language

    指定域的语言。默认值为 "en"(英语)。

  6. 创建默认域条目。

    对于 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
  7. 启用默认域条目的日历服务。

    对于 Schema 版本 1:使用 csattributeicsCalendarDomain 对象类添加到 LDAP 中的 o=sesta.com 域条目。

    对于 Schema 版本 2:在配置 Delegated Administrator 之后,请修改默认域(由 Delegated Administrator 配置程序创建)以添加日历(和邮件)服务。在以下示例中,日历和邮件服务将被添加到域中:

    commadmin domain modify -D admin -w passwd -d defaultdomain -S cal,mail

  8. 在系统上创建所需数量的域。

    有关如何在 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
  9. 为新域添加日历(以及邮件,如果需要的话)服务。

  10. 如果 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
  11. 如果从早期的非域环境 (Schema 版本 1) 中 calmaster 站点管理员用户已经存在,则通过执行以下步骤将其移动到默认域中:

    1. 执行现有 calmaster LDAP 条目的 LDAP 转储并将其保存在临时文件(例如 /tmp/calmaster.ldif)中。

    2. 使用 ldapdelete 删除结构树根后缀上的现有 calmaster LDAP 条目,如下所示:

      #ldapdelete -D "cn=Directory Manager" -w password 
         uid=calmaster,ou=People,o=rootsuffix
      
    3. 修改日历管理员的组条目(更新 uniqueMember 属性)以反映更改,如以下 LDIF 示例所示:


      dn:cn=Calendar Administrators,ou=Groups,o=rootsuffix
      changetype:modifyreplace:uniqueMember 
      uniqueMember:uid=calmaster,ou=People,o=sesta.com,o=rootsuffix
      

      不必将管理员的组条目移动到域中。

  12. 更新所有的管理脚本,以使 WCAP 命令中的所有日历 ID (calid) 都成为全限定名称。即,每个 calid 必须包括域名。例如: jsmith@sesta.com

10.3 Calendar Server 版本 6.3 中的多域功能如何影响模式选择

本节介绍可用于更好地理解实现多域的过程以及在选择模式版本时其必须执行的操作的概念性信息。

本节包含以下主题:

10.3.1 Calendar Server 版本 6.3 的多域概述与模式选择的含义

在多域安装中,LDAP 目录被组织成各不相同、互不交叉的多个部分,每一部分都代表域名系统 (Domain Name System, DNS) 中的一个域。用户、组和资源的唯一 ID 在每个域中都是唯一的。例如,每个域中只能有一个 uidjdoe 的用户。标识名 (Distinguished Name, DN) 是全限定域名。

Calendar Server 支持以下 LDAP 目录模式版本:Schema 版本 1 和 Schema 版本 2。在运行 Directory Server 安装脚本 (comm_dssetup.pl) 时,可选择 LDAP Schema 版本 1 或 LDAP Schema 版本 2。通常使用 Schema 版本 2,除非存在需使用 Schema 版本 1 的特定原因。

以下是使用 Schema 版本 1 的两种原因:

10.3.2 Calendar Server 版本 6.3 的 Sun LDAP Schema 版本 2

下图显示了使用 Sun LDAP Schema 版本 2 的多域安装的 LDAP 目录结构。

图 10–1 使用 LDAP Schema 版本 2 的 LDAP 目录结构

该图显示了一个纯 Schema 版本 2 环境的示例,此环境中仅使用一个结构树而没有使用 DC 树。

LDAP Schema 版本 2 使用平面的 LDAP 目录结构,即所有域均在同一级上,没有嵌套。对于多域安装,第一级条目(如图中 varriusDomain sestaDomainsiroeDomain 所示)在目录结构中必须平行。不能嵌套。

如果要使用 Access Manager 功能,如单点登录 (Single Sign-On, SSO),或使用 Delegated Administrator 置备用户,则需要使用 Schema 版本 2。然而存在使用两树模式(同时使用 DC 树和结构树)的混合情况,这与 Schema 版本 1 非常类似,但使用的是 Schema 版本 2 对象类和属性。这是 Schema 版本 2 兼容模式,在配置程序 (csconfigurator.sh) 中称之为 Schema 版本 1.5。

10.3.3 Calendar Server 版本 6.3 的 Sun LDAP Schema 版本 1

下图显示了使用 Sun LDAP Schema 版本 1 的多域安装的 LDAP 目录结构示例。

此结构包含两个域管理树:

图 10–2 使用 LDAP Schema 版本 1 的 LDAP 目录结构

该图显示了两树(Schema 版本 1、LDAP 结构)的示例。

DC 树(节点)与 DNS 类似,它用于确定给定域名的域条目。LDAP 属性 inetdomainbasedn 指向基本 DN,基本 DN 是 结构树(节点)中域用户、资源和组的根。在每个域中,Calendar Server 用户、资源和组的标识符必须唯一。


注 –

如果较早的 LDAP 配置不包含 DC 树,要使用 Schema 版本 1 模式或 Schema 版本 2 兼容性模式,必须如10.2 首次设置 Calendar Server 版本 6.3 的多域环境中所介绍,自行创建 DC 树节点。但是,Schema 版本 2 为首选模式。


在使用 LDAP Schema 版本 1 的多域安装中,目录搜索需要完成以下两个步骤才能找到一个条目:

  1. 在 DC 树中,搜索操作定位包含 DN 值的域条目,该条目指向结构树中域的基本 DN(inetDomainBaseDN 属性)。

  2. 在结构树中,搜索操作定位域条目,然后在该条目的基本 DN 中搜索域中的用户、资源或组。

10.4 Calendar Server 版本 6.3 中的多域模式所需的其他参数

从 Calendar Server 6 开始,每个部署都配置有多域。如果要从较早版本的 Calendar Server 升级并且未配置有托管(多)域,则必须添加所用模式的参数,如下所示:

10.4.1 Calendar Server 版本 6.3 的 Schema 版本 1 的参数添加

如果尚不存在下列参数,则应将其添加到配置文件 (ics.conf) 中。

service.dcroot

service.defaultdomain

service.loginseparator

service.virtualdomain.support 设置为 "yes"

service.virtualdomain.scope

service.siteadmin.userid

service.siteadmin.cred

local.schemaversion 设置为 "1"

10.4.2 Calendar Server 版本 6.3 的 Schema 版本 2 的参数添加

如果尚不存在下列参数,则应将其添加到配置文件 (ics.conf) 中。

service.dcroot

service.defaultdomain

service.loginseparator

service.virtualdomain.support 设置为 "yes"

service.virtualdomain.scope

service.siteadmin.userid

service.siteadmin.cred

local.schemaversion 设置为 "2"

service.schema2root

10.5 Calendar Server 6.3 的登录

对于多域安装,每个用户的用户 ID (uid ) 在该域中必须唯一。需要使用以下格式登录 Calendar Server:

userid[@domain-name]

如果省略 domain-name,Calendar Server 将使用由 ics.conf 文件中的 service.defaultdomain 参数指定的默认域名。因此,如果要登录默认域,只需提供 userid 即可。

如果启用了自动置备,则用户首次登录时,Calendar Server 将为用户创建一个默认日历。有关日历创建的信息,请参见第 15 章,管理日历

登录权限取决于 icsStatusicsAllowedServiceAccess 属性。有关更多信息,请参见D.9.3 LDAP 属性和 property 名

10.6 在 Calendar Server 版本 6.3 中执行从非域环境的迁移

Calendar Server 5.0 和更早的版本中都没有域。因此,用户和日历 ID 无需为全限定名称。即,它们不需要将域名作为 ID 的一部分,如 jdoe@domain.com。如果在安装当前版本的 Calendar Server 前,uidcalid 不是全限定名称,则无需改变数据。系统会将其遇到的所有非限定 uidcalid 假定为属于默认域。但是,如果要实现多域,则必须迁移 LDAP 和组件数据库,以指明每个用户属于哪个域。

另外,可能需要通过其他方法来迁移数据。有多种迁移程序。查看 第 3 章,Calendar Server 6.3 的数据库迁移实用程序 中的迁移信息。

第 11 章 自定义 Calendar Server 6.3 系统的现有域

本章介绍如何自定义现有域的概念性信息和说明。

本章介绍以下主题:

11.1 在 Calendar Server 版本 6.3 中为组配置域首选项

如果已在 LDAP 中设置有用户组,可为重复预订指定域级别首选项,并设置默认 ACL。

11.1.1 在 Calendar Server 版本 6.3 中设置重复预订的域首选项

设置域 LDAP 条目中的 icsAllowRights 属性的第 15 位。如果不允许重复预订,则将此位设置为 "0"。如果允许重复预订,则将此位设置为 "1"

11.1.2 在 Calendar Server 版本 6.3 中指定组的默认 ACL

可将组的默认访问控制权限更改为各种级别。

本节包含以下组 ACL 主题:

11.1.2.1 对于所有组

ics.conf 文件参数 group.default.acl 中指定所有域中的组的默认 ACL。默认 ACL 为:

"@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

可通过编辑操作来更改 ACL。

11.1.2.2 对于特定域中的所有组

要更改特定域中的所有组的默认 ACL,必须编辑域 LDAP 条目。更改 icsExtendedDomainPrefs 属性的 groupdefaultacl 的值。

11.1.2.3 对于域中的特定组

要更改特定组的默认 ACL,编辑组 LDAP 条目。更改 icsDefaultacl 属性的值。

11.2 在 Calendar Server 6.3 系统中执行交叉域搜索

本节介绍设置交叉域搜索的概念性信息和高级任务。

默认情况下,用户只能在自己所属的域中搜索用户、组和资源,以邀请他们加入事件。但是,只要满足特定的需求,某个域中的用户就可通过交叉域搜索来搜索其他域中的用户、组和资源。

以下便是成功执行交叉域搜索所必须满足的一系列需求:

有关如何启用交叉域搜索的说明,参见13.3 启用交叉域搜索

11.3 在 Calendar Server 版本 6.3 中使用 Messaging Server 创建的域

如果 Messaging Server 已创建域,可在 Schema 版本 1 或 Schema 版本 2 模式下添加日历服务。

本节包含以下主题:

11.3.1 在 Calendar Server 版本 6.3 的 Schema 版本 1 模式下将日历服务添加到 Messaging 域

要将日历服务添加到域,将以下对象类和两个属性添加到域的 LDAP 条目中:

有两种方法可以执行此操作:使用 csattribute add 命令或使用以下示例中所示的 ldapmodify


dn:dc=sesta,dc=com,o=internet
 changetype:modify
 add:objectclass
 objectClass:icsCalendarDomain
 add:icsStatus
 icsStatus:active
 add:icsExtendedDomainPrefs
 icsExtendedDomainPrefs:domainAccess=@@d^a^slfrwd^g;anonymous^a^r^g;@^a^s^g
               

11.3.2 在 Calendar Server 版本 6.3 的 Schema 2 模式下将日历服务添加到 Messaging 域

如果 Messaging Server 处于 Schema 版本 2 模式下,执行以下两个步骤来将日历服务添加到现有域中:

  1. 使用带 -S 选项的 Delegated Administrator 实用程序命令 commadmin domain modify 将日历服务添加到每个域中。

    或者,也可以使用 Delegated Administrator 控制台将包含日历服务的服务软件包分配到相应域中。要这样做时,使用“结构列表”页上的“分配服务软件包”按钮。

  2. 使用带 -S 选项的 Delegated Administrator 实用程序命令 commadmin user modify 将日历服务添加到为日历启用的每个域中的每个用户。

    或者,也可以使用 Delegated Administrator 控制台将包含日历服务的服务软件包指定到相应域中的每个用户。要这样做时,使用每个相应结构中“用户列表”页上的“指定服务软件包”按钮。

有关 commadmin 命令,参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》

有关 Delegated Administrator 控制台的更多信息,请参见其联机帮助。

有关 commdirmig 的信息,参见《Sun Java Communications Suite 5 Schema Migration Guide》