Sun Java System Instant Messaging 7.2 管理指南

第 3 部分 参考信息

附录 A iim.conf 中的 Instant Messaging 配置参数

本章中的以下各节说明 iim.conf 文件中的 Instant Messaging 配置参数:

iim.conf 文件位置

Instant Messaging 在配置目录 (im-cfg-base) 内的 iim.conf 文件中存储配置设置。

如果您创建了多个 Instant Messaging 实例,则 /default 目录的名称会因实例不同而各异。有关更多信息,参见在单个 Instant Messaging 安装中创建多个实例

iim.conf 文件语法

此文件为 ASCII 纯文本文件,每行定义一个服务器参数及其值:


注 –

iim.conf 文件由安装过程初始化,并且必须依照本指南所述进行修改。


一般配置参数

表 A–1 列出并说明一般配置参数。

表 A–1 一般配置参数

参数 

默认值 

说明 

iim.comm.modules

iim_server,iim_mux

使用的通信模块。可能的值为 iim_serveriim_mux。默认值为 iim_server, iim_mux,表示同时使用服务器和多路复用器。iim_mux 值对于多路复用器非常有用。

iim.smtpserver

localhost

用于将邮件发送给最终用户的 SMTP 服务器,这些最终用户已设置选项将其消息以电子邮件形式转发或转发到寻呼机。

iim.instancedir

/opt

安装根目录。 

iim.instancevardir

Solaris:/var/opt/SUNWiim/default

Linux:/var/opt/sun/im/default

将目录设置为包含运行时文件,包括最终用户配置文件数据库、日志以及服务器和多路复用器在运行时创建的其他文件。如果您创建了多个 Instant Messaging 实例,则 /default 目录的名称可能会不同。

iim.user

用于 LDAP 部署的 inetuser

用于门户部署的 root

服务器进程运行所用的最终用户名。 

iim.group

用于 LDAP 部署的 inetgroup

用于门户部署的 root

服务器进程运行所用的组。 

iim.jvm.maxmemorysize

256

运行服务器的 JVM 允许使用的最大堆大小 (MB)。用于构造 Java 命令的 -mx 参数。

iim.mail.charset

无 

此参数指定邮件的标题是否为 ASCII 格式且未编码。 

它包含用来对脱机警报邮件消息标题进行编码的字符集的名称。 

例如:iim.mail.charset=iso-2022-jp

iim.jvm.command

/usr/j2se/bin/java

Java 运行时可执行程序 (Java Runtime Executable, JRE) 的位置。

iim.identity.basedir

/opt

Sun JavaTM System Access Manager 的默认安装目录,也称为基目录。

iim.identity.jre

/usr/java_1.3.1_04

Access Manager 用来运行其所有进程的 JRE 的位置。

iim.portal.deployuri

/portal

在 Access Manager 中部署 Portal Server war 文件时所使用的 URI。

iim.portal.host

imhostname

运行 Portal Server 的服务器的主机名。使用非默认端口号时指定端口号。 

iim.portal.protocol

http

用于访问 Portal Server 的协议。 

iim.policy.cache.validity

10 

定义单一用户信息的缓存有效期间隔(分钟)。 

Instant Messaging 服务器会保存单一最终用户信息的上一次缓存日期。如果在此参数指定的间隔后访问最终用户的信息,则服务器将重新缓存最终用户的信息并重设 LocalUser 对象的缓存日期。

iim.policy.modules

iim_ldap

默认情况下,使用 LDAP 进行策略存储。如果将该值更改为 identity ,则表示应该使用 Sun Java System Access Manager 进行策略存储。

iim.policy.resynctime

720

定义所有最终用户信息的缓存有效期间隔(分钟)。 

Instant Messaging 服务器定期清除所有缓存的最终用户信息,以消除旧的最终用户信息。此参数指定清除缓存的最终用户信息的频率。 

iim.userprops.store

file

默认情况下,如果您在运行 configure 实用程序时选择不使用 Access Manager 进行策略存储,用户属性会存储在用户属性文件中。如果选择使用 Access Manager 进行策略存储,则默认值为 ldap。可以通过更改该值来更改用户属性的存储位置。如果您将它从 file 更改为 ldap,则需要运行 imadmin assign_services 以向目录中的用户条目添加所需的对象类。

仅当安装了 Presence 和 Instant Messaging 服务的服务定义时,此参数才有意义。 

LDAP 和用户注册配置参数

表 A–2 列出并说明 Instant Messaging 用于 LDAP、用户注册和用户源配置的参数。

表 A–2 LDAP、用户注册和源配置参数

参数 

默认值 

说明 

iim_ldap.host

localhost:389

Instant Messaging 服务器用于验证最终用户的 LDAP 服务器名称和端口。

iim_ldap.searchbase

o=internet

用作 LDAP 服务器上最终用户和组的搜索基的字符串。 

iim_ldap.usergroupbinddn

无(服务器执行匿名搜索) 

指定用来绑定到 LDAP 服务器进行搜索的 DN。

iim_ldap.usergroupbindcred

无(服务器执行匿名搜索) 

指定与 iim_ldap.usergroupbinddn DN 一起使用以进行 LDAP 搜索的密码。

iim_ldap.loginfilter

(&(|(objectclass=inetorgperson) (objectclass=webtopuser))(uid={0}))

搜索在最终用户登录期间使用的过滤器。整个过滤器输入为一行。 

iim_ldap.usergroupbyidsearchfilter

(|(&(objectclass=groupofuniquenames) (uid={0}))(&(|(objectclass= inetorgperson)(objectclass= webtopuser))(uid={0})))

用来在 ID 所指定的基下的目录中搜索最终用户和组的搜索过滤器。整个过滤器输入为一行。 

iim_ldap.usergroupbynamesearchfilter

(|(&(objectclass=groupofuniquenames) (cn={0}))

(&(|(objectclass= inetorgperson)(objectclass= webtopuser))(cn={0})))

用来搜索在名称所指定的基下、目录中最终用户和组的搜索过滤器。 

iim_ldap.allowwildcardinuid

False

确定在执行搜索时是否应为 UID 启用通配符。由于大多数目录安装时都指明 UID 只进行精确搜索,故默认值为 False。将此值设为 True 可能会影响性能,除非将 UID 指定为进行子串搜索。

iim_ldap.userclass

inetOrgPerson,webtopuser

指示条目属于最终用户的 LDAP 类。

iim_ldap.groupclass

groupOfUniqueNames

指示条目属于组的 LDAP 类。

iim_ldap.groupbrowsefilter

(objectclass=groupofuniquenames)

用来浏览指定搜索基下、目录中所有组的搜索过滤器。 

iim_ldap.searchlimit

40

一次搜索返回的最大条目数。值 -1 表示在此服务器中禁用搜索,值 0 表示无限搜索。

iim_ldap.userdisplay

cn

用于最终用户的显示名称的 LDAP 属性。

iim_ldap.groupdisplay

cn

用于组的显示名称的 LDAP 属性。

im_ldap.useruidattr

uid

用作最终用户 UID 的 LDAP 属性。

im_ldap.groupmemberattr

uniquemember

给出组成员列表的 LDAP 属性。

iim_ldap.usermailattr

mail

应包含最终用户置备的电子邮件地址的 LDAP 属性。在发送电子邮件消息给脱机最终用户时使用。

iim_ldap.userattributes

无 

包含来自 LDAP 用户条目的自定义属性列表的 LDAP 属性。

iim_ldap.groupattributes

无 

包含来自 LDAP 组条目的自定义属性列表的 LDAP 属性。

iim_ldap.groupmemberurlattr

无 

动态组的成员属性,包含 LDAP 过滤器或 LDAP URL。

iim_ldap.useidentityadmin

如果运行 configure 实用程序时您选择针对策略采用 Access Manager 部署,则默认值为 true。否则,默认值为 false

如果值为 true,则会使用 Access Manager 管理员凭证来绑定到 Directory Server。

iim.register.enable

无 

如果为 TRUE,则服务器允许新的 Instant Messaging 最终用户使用 Instant Messenger 自行注册(添加其自身到目录中)。

iim_ldap.register.basedn

无 

如果启用了自我注册,则此参数的值为人员条目在 LDAP 目录中的存储位置的 DN。例如:

"ou=people,dc=siroe,dc=com"

iim_ldap.register.domain

无 

将添加新用户的域。例如,directory.siroe.com

日志记录配置参数

表 A–3 列出并说明基于 log4j 的日志记录和基于 iim.conf 参数的日志记录的日志记录配置参数。

表 A–3 日志记录配置参数

参数 

默认值 

说明 

iim.log.iim_server.severity

INFO

服务器模块所需的日志记录级别。最高级别到最低级别的可能值为:FATALERRORWARNINGINFODEBUG。如果选择较低的日志记录级别,则表示您也会获得更高的级别。例如,如果您选择 WARNING,您会获得 FATALERRORWARNING

iim.log.iim_server.url

im-runtime-base/log/xmppd.log

服务器日志文件的位置。此文件需要定期清理,以防磁盘空间溢满。 

iim.log.iim_mux.severity

INFO

多路复用器模块所需的日志记录级别。最高级别到最低级别的可能值为:FATALERRORWARNINGINFODEBUG。如果选择较低的日志记录级别,则表示您也会获得更高的级别。例如,如果您选择 WARNING,您会获得 FATALERRORWARNING

iim.log.iim_mux.url

im-runtime-base/log/mux.log

多路复用器日志文件的位置。此文件需要定期清理,以防磁盘空间溢满。 

iim.log.iim_mux.maxlogfiles

10 

存储的多路复用器日志文件的最大文件个数。一旦超过此数字,则会删除最早的多路复用器日志文件。 

iim.log.iim_mux.maxlogfilesize

10 MB 

此参数包含多路复用器日志文件大小的上限。如果日志文件超过此参数中指定的大小,则会创建一个新的日志文件。 

iim.log.iim_server.maxlogsize

 

此参数包含服务器日志文件大小的上限。如果日志文件超过此参数中指定的大小,则会创建一个新的日志文件。 

iim.log.iim_wd.severity

INFO

监视程序所需的日志记录级别。最高级别到最低级别的可能值为:FATALERRORWARNINGINFODEBUG。如果选择较低的日志记录级别,则表示您也会获得更高的级别。例如,如果您选择 WARNING,您会获得 FATALERRORWARNING

iim.log.agent-calendar.severity

INFO

“日历”代理所需的日志记录级别。最高级别到最低级别的可能值为:FATALERRORWARNINGINFODEBUG。如果选择较低的日志记录级别,则表示您也会获得更高的级别。例如,如果您选择 WARNING,您会获得 FATALERRORWARNING

iim.log4j.config

im-cfg-base

指定 log4j 配置文件的位置和名称。如果此参数没有值,则记录程序会在 im-cfg-base 中查找 log4j.conf。如果记录程序在 im-cfg-base 中未找到 log4j.conf,则会使用基于参数的日志记录方法来代替 log4j。

Instant Messaging 服务器配置参数

表 A–4 列出并说明 Instant Messaging 服务器配置参数。

表 A–4 一般 Instant Messaging 服务器配置参数

参数 

默认值 

说明 

iim_server.autosubscribe

FALSE

指示订阅是否由服务器自动授权。可能的值为 TRUEFALSE。如果为 TRUE,订阅请求后面自动跟随服务器所生成的订阅响应。然后,服务器将修改过的登记表发送给订户和订户添加为联系人的用户。要使用此功能,用户和联系人必须在同一域中。

iim_server.domainname

主机的域名

您希望此服务器支持的逻辑 Instant Messaging 服务器域名。网络中其他服务器用此名称来识别该服务器。服务器也用它来区别自己与其他服务器的最终用户。不一定是运行 Instant Messaging 服务器的系统的“全限定域名”。 

例如,如果系统 iim.xyz.com 是公司 xyz.com 的唯一 Instant Messaging 服务器,则域名可能是 xyz.com

iim_server.port

5269

服务器绑定到的并用来侦听其他服务器连接的 IP 地址和端口。对于多宿主计算机而言,如果想要只使用一个特定 IP 地址,IP 地址设置会非常有用。如果没有列出 IP 地址,表示使用 localhost 上的 INADDR_ANY

iim_server.useport

TRUE

指示服务器是否应在服务器对服务器通信端口侦听。可能的值为 TRUEFALSE。如果值为 TRUE,服务器在由 iim_server.port 定义的端口侦听,或在没有明确定义时使用端口 5269。

iim_server.clienttimeout

15

指定服务器在丢弃不再有效的客户机连线之前等待的时间(分钟)。例如,当机器关闭时。可接受的最小值为 5。 

iim_server.usesso

如果运行 configure 实用程序时您针对 SSO 选择采用 Access Manager 部署,则默认值为 1。否则,默认值为 0

此参数告知服务器在验证过程中是否依赖 SSO 提供者。SSO 提供者是服务器用于通过 SSO 服务验证会话 ID 的模块。

Access Manager 会话 API 为 Instant Messaging 服务器提供验证客户机发送的会话 ID 的功能。

此参数的值可为 01-1

0 - 不使用 SSO 提供者。

1 - 先使用 SSO 提供者,如果 SSO 验证失败,则默认为 LDAP。

-1- 只使用 SSO 提供者,即使 SSO 验证失败时也不尝试 LDAP 验证。

iim_server.usesso 参数与 iim_server.ssoprovider 参数结合使用。

iim_server.ssoprovider

无 

指定实施 com.sun.im.provider.SSOProvider 接口的类。如果 iim_server.usesso 不等于 0 并且未设置此选项,则服务器会使用默认的、基于 Access Manager 的 SSO 提供者。

iim.policy.modules

如果运行 configure 实用程序时您针对策略选择采用 Access Manager 部署,则默认值为 identity。否则,默认值为 iim_ldap

如果该值为 identity,表示使用 Sun Java System Access Manager 进行策略存储。如果该值为 iim_ldap,则使用目录。

iim.userprops.store

file

如果该值为 file,则表示用户属性存储于用户属性文件中。如果该值为 ldap,则使用目录。

iim_server.msg_archive

false

此参数指定是启用还是禁用归档提供者。将该值设置为 false 可禁用所有归档。将该值设置为 true 可启用所有归档,包括 Portal、电子邮件以及您想要使用的任何自定义归档。

iim_server.msg_archive.provider

无 

此参数包含归档提供者的列表。此参数允许多个值,各个值用逗号 (,) 分隔。

如果您使用的是基于“Portal Server 搜索”的归档,则该值应为 com.iplanet.im.server.IMPSArchive。如果您使用的是电子邮件归档,则该值应为 com.iplanet.im.server.EmailIMArchive

iim_server.conversion

false

此参数指定是否启用消息转换。它指定配置的“消息转换提供者”列表是否用于消息转换。 

iim_server.conversion.provider

无 

此参数包含用于消息转换的“消息转换提供者”列表。 

此参数允许多个值,各个值用逗号 (,) 分隔。

iim_server.servertimeout

-1 

可以将服务器配置为:在远程服务器不活动时自动关闭其打开的连接。通过定期测定远程服务器最后一次给本服务器发送请求的时间来完成此任务。如果远程服务器最后一次发送请求的时间超过 iim_server.servertimeout 参数的值,则会终止到远程服务器的连接。

参数值以分钟为单位。 

iim_server.enable

true

此值定义是否启用 Instant Messaging 服务器。此参数设置为 false 时将启用 Instant Messaging 多路复用器。 

iim_server.conversion.external.command

无 

此参数包含用于消息转换的外部命令。 

iim_server.stat_frequency

1

此参数包含服务器将活动摘要记录到日志文件中的频率。仅当服务器最低日志严重级别设置为 INFO 或更低时,服务器才将活动摘要记录到日志文件。值以分钟为单位。

iim_server.certnickname

Server-Cert

此值包含在安装证书时输入的证书名称。 

证书名称区分大小写。 

iim_server.sslkeystore

无 

包含服务器 Java 密钥库 (JKS) 的相对路径和文件名。例如:


/im-cfg-base/server-keystore.jks

iim_server.keystorepasswordfile

sslpassword.conf

此值包含具有键数据库密码的文件的相对路径和名称。此文件包含下列行: 

Internal (Software) Token:password

其中,password 是保护键数据库的密码。

iim_server.requiressl

false

如果为 true,则服务器将终止任何在设置了初始流会话后未请求 TLS 连接的连接。这包括来自客户机、其他服务器和服务器组件(例如,XMPP/HTTP 网关 和代理,多路复用器除外)的连接。

iim_server.trust_all_cert

false

如果此值为 true,则服务器将信任所有证书并同时将证书信息添加到日志文件中。 

多重服务器配置参数

为实现网络中多台 Instant Messaging 服务器之间的通信,必须对您的服务器做适当配置,使其本身能够与其他服务器协调一致,与要连接到您服务器的每台协同服务器(又称协作服务器)协调一致。协同服务器用其 Instant Messaging 域名、主机和端口号、服务器 ID 和密码标识其本身。

每台协作服务器都有一个符号名,即由字母和数字组成的字符串,例如 coserver1。可以使用符号命名规则指定多台服务器。

当 Instant Messaging 服务器以这种方式配置时,您可以组成一个更大的 Instant Messaging 社区。这样,每台服务器上的最终用户可以执行以下操作:

表 A–5 列出并说明多重服务器配置参数。

表 A–5 多重服务器配置参数

参数 

默认值 

说明 

iim_server.serverid

无 

此服务器用来区别自身与其他所有服务器的字符串。 

iim_server.password

无 

此服务器用来向其他所有服务器证明自己身份的密码。 

iim_server.coservers

无 

以逗号分隔的列表,包含可以连接到此服务器的服务器之符号名称。任何有意义的名称都可以使用,但它们必须与用于 *.serverid*.password*.host 参数的名称相符。示例:

iim_server.coservers=coserver1,coserver2

或 

iim_server.coservers=abc,xyz,ntc

iim_server.coserver1 .serverid

无 

名为 coserver1 的协作服务器用来向本服务器证明自己身份的标识字符串。例如,如果您已在 iim_server.coservers 列表中使用了 abc,则其 serverid 的相应名称应为 iim_server.abc.serverid

iim_server.coserver1 .password

无 

名为 coserver1 的协作服务器用来向本服务器证明自己身份的密码。例如,如果您已在 iim_server.coservers 列表中使用了 abc,则其密码的相应名称应为 iim_server.abc.password

iim_server.coserver1 .host

无 

本服务器上的最终用户在与 coserver1 服务器上的最终用户通信时,需要连接的 IP 地址和端口。例如,如果您已在 iim_server.coservers 列表中使用了 abc,则其主机的相应名称应为 iim_server.abc.host

格式为 name: portIPaddress: port

iim_server.coserver1 .requiressl

False

表示当与 coserver1 标识的服务器进行通信时,此服务器是否需要 TLS。可能的值为 TRUEFALSE

多路复用器配置参数

表 A–6 列出并说明多路复用器配置参数。

表 A–6 多路复用器配置参数

参数 

默认值 

说明 

iim_mux.listenport

多路复用器名或 IP 地址:5222

IP 地址或 FQDN 以及多路复用器侦听从 Instant Messenger 收到的请求时所用的侦听端口。该值的格式为 IPaddress:portmultiplexorname: port。如果没有列出 IP 地址或域名,则使用 localhost 上的 INADDR_ANY

如果更改此值,请同时更改 im.htmlim.jnlp 文件,使它们与端口值匹配。

iim_mux.serverport

45222

多路复用器与之通信的 Instant Messaging 服务器和端口。该值的格式为 servername:portIPaddress: port

iim_mux.numinstances

1

多路复用器的实例数。此参数仅对 Solaris 平台有效。 

iim_mux.maxthreads

5

每个多路复用器实例的最大线程数。 

iim_mux.maxsessions

2000

每个多路复用器过程的最大并行连接数。 

iim_mux.usessl

off

如果该值设置为 on,则对于所接受的每一个连接,多路复用器在交换任何应用数据前都要求进行 SSL 握手。

iim_mux.secconfigdir

/etc/opt/SUNWiim/ default/config

此目录包含键和证书数据库。此外,它通常还包含安全模块数据库。如果您创建多个 Instant Messaging 实例,则 /default 目录的名称可能会不同。

iim_mux.keydbprefix

无 

此值包含键数据库文件名的前缀。键数据库文件名必须始终以 key3.db 结尾。

例如,如果键数据库包含前缀 This-Database-key3.db,则此参数的值为 This-Database

iim_mux.certdbprefix

无 

此值包含证书数据库文件名的前缀。证书数据库文件名必须始终以 cert7.db 结尾。

例如,如果证书数据库包含前缀 Secret-stuff-cert7.db,则此参数的值为 Secret-stuff

iim_mux.secmodfile

secmod.db

此值包含安全模块文件的名称。 

iim_mux.certnickname

Multiplexor-Cert

此值包含在安装证书时输入的证书名称。 

证书名称区分大小写。 

iim_mux.keystorepasswordfile

/etc/opt/SUNWiim/default /config/sslpassword.conf

此值包含具有键数据库密码的文件的相对路径和名称。此文件包含下列行: 


Internal (Software) Token:password

其中,password 是保护键数据库的密码。

如果您创建多个 Instant Messaging 实例,则 /default 目录的名称可能会不同。

iim_mux.stat_frequency

600

此值应包含多路复用器将活动摘要记录到日志文件中所用的频率。最小值为 10 秒。 

iim_mux.enable

true

如果该值为 true,则多路复用器将针对此实例运行。如果该值为 false,则多路复用器将不针对此实例运行。

重定向服务器参数

表 A–7 列出您用于管理 Instant Messaging 重定向服务器的参数。

表 A–7 重定向服务器参数

参数 

默认值 

说明 

iim_server.redirect.provider

无 

实施 com.sun.im.provider.Redirector 接口的重定向提供者名称或类的列表,以逗号分隔。此参数的任何值均将服务器实例定义为重定向服务器。支持的值包括 dbroundrobinregex 以及实施 com.sun.im.provider.Redirector 接口的类名称。

iim_server.redirect.to

无 

逗号分隔的节点列表,此重定向服务器可能会将客户机连接重定向至这些节点。节点名称可以为任何字母数字字符串。此列表可能为 iim_server.redirect.to.nodename.host 中定义的主机的超集。

iim_server.redirect.to.nodename.host

无 

其中,nodenameiim_server.redirect.to 中所列的节点名称。nodename 需要此属性用于重定向服务器。

iim_server.redirect.to.nodename. usessl

False 

如果为 true,则 nodename 配置为使用传统 SSL。有关更多信息,参见在 Instant Messaging 中使用 TLS 和传统 SSL 的概述

iim_server.redirect.db.users

im-db-base/redirect.db

重定向数据库的名称和位置。 

iim_server.redirect.db.partitions

im-cfg-base/redirect.partitions

重定向分区文件的名称和位置。 

iim_server.redirect.db.partitionsize

5000 

一个分区中的最大用户数。 

iim_server.redirect.roundrobin. partitions

im-cfg-base/redirect.partitions

重定向分区文件的名称和位置。 

iim_server.redirect.pollfrequency

 

重定向服务器与 redirect.hosts 文件中所定义主机进行连接所使用的时间间隔。重定向服务器轮询这些主机以确定它们是否在线以及能够接受客户机连接。

归档参数

表 A–8 列出用于管理 Instant Messaging 归档的参数。

表 A–8 归档参数

参数 

默认值 

说明 

iim_arch.title.attr

Title

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 Title 字段。

iim_arch.keyword.attr

Keyword

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 Keyword 字段。

iim_arch.readacl.attr

ReadACL

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 ReadACL 字段。

iim_arch.description.attr

Description

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 Description 字段。

iim_arch.fulltext.attr

Full-Text

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 Full-Text 字段。

iim_arch.category.attr

Category

此参数包含字段的名称,该字段等同于“Portal Server 搜索”的默认模式中的 Category 字段。

iim_arch.readacl.admin

无 

此参数包含管理员的 DN。多个值应以“;”分隔。

iim_arch.readacl.adminonly

false

此参数将包含 truefalse

true - 只有参数 iim_arch.readacl.admin 指定的管理员的 DN 将会添加到 ReadACL 字段,覆盖 ReadACL 字段的默认行为。

false - 除了默认行为之外,参数 iim_arch.readacl.admin 指定的管理员的 DN 也将添加到 ReadACL 字段。

iim_arch.categories

all

此参数包含可以归档的消息类型列表。 

可能的值如下: 

poll

警报

chat

conference

news

可以指定多个值,以逗号 (,) 分隔。

iim_arch.categoryname

无 

如果没有为任何类别指定类别名称,则此参数的值用作类别名称。 

iim_arch.alert.categoryname

无 

此参数包含含有归档警报消息的类别名称。 

不要求将警报消息归为专用的类别。 

iim_arch.poll.categoryname

无 

此参数包含含有归档轮询消息的类别名称。 

不要求将轮询消息归为专用的类别。 

iim_arch.conference.categoryname

无 

此参数包含含有归档会议消息的类别名称。 

不要求将会议消息归为专用的类别。 

iim_arch.chat.categoryname

名称 

此参数包含含有归档聊天消息的类别名称。 

不要求将聊天消息归为专用的类别。 

iim_arch.news.categoryname

无 

此参数包含含有归档新闻消息的类别名称。 

不要求将新闻消息归为专用的类别。 

iim_arch.conference.quiettime

5

此参数包含房间(公共和专用)中两个连续消息之间的最大沉默持续时间,超过此时间后 RD 将过期,并会创建一个新的 RD 用于存档消息。值以分钟为单位。 

iim_arch.poll.maxwaittime

15

此参数包含轮询数据在服务器中缓冲的最长时间。值以分钟为单位。 

iim_arch.ignoreexplicitdeny

true

此参数将包含 truefalse

true - 对于轮询和会议类别,明确拒绝访问的数据将不会归档。每当这些消息未归档时,就会将此信息记录到 xmppd.log 文件中。

false - 对于轮询和会议类别,明确拒绝访问的数据将不会归档,并且该消息会添加到“Portal Server 搜索”数据库中。

备注:如果您没有明确拒绝访问房间或新闻频道,则默认访问权限为 READWRITEMANAGE。还可以授予某些最终用户 NONE 访问权限。

iim_arch.portal.search

无 

此参数的值应为“Portal Server 搜索”servlet 的 URL。例如:http://www.example.com/portal/search

如果此参数不存在,则归档提供者会根据系统中的 AMConfig.properties 文件确定“Portal Server 搜索”URL 的值。

iim_arch.portal.admindn

无 

此参数的值应为管理员用户的 DN。例如:uid=amadmin,ou=People,o=internet

如果在“Portal Server 搜索服务器”中启用“文档级安全性”,则需要此参数。 

iim_arch.portal.adminpassword

无 

此参数的值应为 iim_arch.portal.admindn 参数所指定的管理用户的密码。

仅在“Portal 搜索服务器”中启用“文档级安全性”时才需要此参数。 

iim_arch.portal.search.database

无 

此参数的值应为 Instant Messaging 服务器用来存储归档消息的数据库的名称。如果没有定义此参数,则所有消息都会存储在“Portal Server 搜索”的默认数据库中。 

iim_arch.admin.email

空字符串 

逗号分隔的管理员电子邮件地址列表。 

iim_arch.alert.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档警报消息都将发送至此。此参数覆盖警报消息的 iim_arch.admin.email

iim_arch.chat.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档聊天消息都将发送至此。此参数覆盖聊天消息的 iim_arch.admin.email

iim_arch.conference.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档会议消息都将发送至此。此参数覆盖会议消息的 iim_arch.admin.email

iim_arch.poll.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档轮询消息都将发送至此。此参数覆盖轮询消息的 iim_arch.admin.email

iim_arch.news.admin.email

无 

逗号分隔的管理员电子邮件地址列表,所有归档新闻消息都将发送至此。此参数覆盖新闻消息的 iim_arch.admin.email

iim_arch.email.archiveheader.name

无 

扩展的 RFC 822 标题的名称。 

iim_arch.email.archiveheader.value

all

对应于 iim_arch.email.archiveheader.name 的标题名称的值。

监视程序参数

监视程序监视服务器进程,如果它确定服务器未运行,则尝试重启服务器。参见管理监视程序进程

表 A–9 列出并说明监视程序配置参数。

表 A–9 监视程序配置参数

参数 

默认值 

说明 

iim_wd.enable

true

启用监视程序功能。要重置此参数或禁用监视程序,可将其设置为 false

为避免冲突,如果使用操作系统管理控制台来监视 Instant Messaging 服务器,则应禁用监视程序。 

iim_wd.period

300(秒)

监视程序定期轮询服务器,检查其是否在运行。此参数设置两次状态轮询之间的时间间隔。 

iim_wd.maxRetries

3

设置在关闭并重新启动服务器前,监视程序尝试与 Instant Messaging 服务器联络的次数。最大值为十次重试。 

监视参数

表 A–10 中的参数配置服务器如何与 Sun Java Enterprise System Monitoring Framework 交互操作。

表 A–10 监视参数

参数 

默认值 

说明 

iim_server.monitor.enable

false

供 Sun Java Enterprise System Monitoring Framework 使用。如果为 true,则配置服务器使其活动可用于 mfwk。否则,服务器不会使其活动可用。

iim_server.monitor.htmlport

无。 

如果指定,则打开指定端口上的 JMX HTML 适配器端口。默认情况下不启用此端口,因为开放此端口可能会带来安全风险。 

代理参数

代理(如“日历”代理)使 Instant Messaging 服务器内部的功能得以实现,并能增强其与其他 Sun Java System 服务器的互操作性。

表 A–11 列出并说明代理配置参数。

表 A–11 代理配置参数

参数 

默认值 

说明 

jms.consumers

无 

与“日历”代理一起使用。包含报警名称。此参数值必须设置为: 

cal_reminder

jms.consumer.cal_reminder.destination

无 

用于“日历”代理。报警的目的地。它必须与 ics.conf 文件中 caldb.serveralarms.url 配置参数的值相同。例如,

enp:///ics/customalarm

jms.consumer.cal_reminder.provider

无 

用于“日历”代理。提供者名称。通常,此项设置为 ens。此参数的值必须与 jms.providers 参数中的名称相同。

jms.consumer.cal_reminder.type

无 

用于“日历”代理。要设置的报警类型。此参数值必须设置为: 

topic

jms.consumer.cal_reminder.param

无 

用于“日历”代理。报警参数。此参数值必须按以下形式(包括引号)设置: 

"eventtype=calendar.alarm"

jms.consumer.cal_reminder.factory

无 

用于“日历”代理。针对新的日历提示消息而自行注册的侦听器。此参数值必须设置为: 

com.iplanet.im.server.JMSCalendarMessageListener

jms.providers

无 

用于“日历”代理。提供者名称。通常,将此参数值设置为 ens。此项必须与 jms.consumer.cal_reminder.provider 参数的值相同。

jms.provider.ens.broker

无 

用于“日历”代理。ENS 的主机名和 ENS 侦听收到的请求的端口号。设置为文件 ics.conf 的参数 service.ens.port 所指定的端口。默认值为 57997。例如:

jms.provider.ens.broker=cal.example.com:57997

jms.provider.ens.factory

无 

用于“日历”代理。用于创建主题连接对象的工厂类。此参数的值必须设置如下。在一行中输入该值: 

com.iplanet.ens.jms.EnsTopicConnFactory

iim_agent.enable

False

若为 TRUE,则启用 Instant Messaging 代理。将该值设置为 FALSE,或从 iim.conf 中删除该参数可禁用所有代理。

iim_agent.agent-calendar.enable

无 

用于“日历”代理。如果为 TRUE 或不在 iim.conf 中,则加载专门启用“日历”代理的组件。

agent-calendar.jid

无 

“日历”代理的 JID。

agent-calendar.password

无 

定义“日历”代理连接 Instant Messaging 服务器所用的密码。 

iim_server.components

无 

将“日历”代理说明为 Instant Messaging 服务器的组件。此参数的值必须设置为: 

agent-calendar

附录 B httpbind.conf 中的 Instant Messaging XMPP/HTTP 网关配置参数

Instant Messaging 在 httpbind.conf 文件中存储 XMPP/HTTP 网关的配置设置。本附录中的以下各节说明配置参数和文件:

任何时候修改 httpbind.conf 文件,您都需要使用 Web 容器或应用服务器提供的工具来重新启动 XMPP/HTTP 网关。

httpbind.conf 文件位置

默认情况下,configure 实用程序在默认服务器实例的“配置目录”(im-cfg-base) 内创建 httpbind.conf 文件,例如:

如果创建多个 Instant Messaging 实例,/default 目录的名称会因实例不同而各异。有关更多信息,参见在单个 Instant Messaging 安装中创建多个实例。此文件由 configure 实用程序创建,仅位于默认实例的 im-cfg-base 目录中。

httpbind.conf 文件语法

httpbind.conf 文件是一个 ASCII 纯文本文件,每行定义一个网关参数及其值:


注 –

httpbind.conf 文件通过 configure 实用程序进行初始化,并且只能如本指南中所述进行修改。


Instant Messaging XMPP/HTTP 网关配置参数

表 B–1 说明 httpbind.conf 中的配置参数。

表 B–1 httpbind.conf 中的 XMPP/HTTP 网关配置参数

参数 

默认值 

说明 

httpbind.pool.nodeId

无 

如果 httpbind.pool.support 设置为 true,则此参数指定服务器池中服务器节点的完整 URL。此 URL 不应指向负载平衡器,而应指向 Instant Messaging 服务器实例。

httpbind.pool.support

false

此参数定义网关是否位于服务器池部署中。如果没有指定 httpbind.pool.nodeId,则此参数的值设置为 false

此参数的值可能为: 

  • true – 网关是服务器池部署的一部分。此外,enableon yes1 也是有效的值。如果您将此参数设置为 true,则必须提供 httpbind.pool.nodeId 的值。

  • false – (默认值)网关不是服务器池部署的一部分。将该值留为空白(空字符串)也是一个有效的值。

httpbind.config

无 

包含一个逗号分隔的 ID 键(或 gwdomain-id)列表,网关用它作为配置密钥来确定网关应使用哪些域、主机、主机密码和组件 JID。有关 ID 键的更多信息,参见表 B–2

httpbind.content_type

text/xml; charset=utf-8

网关发送响应回应客户机时使用的 content-type HTTP 头的默认值。

httpbind.hold

无 

根据 JEP 124 中的定义,指定客户机请求中的 hold 属性的最大允许值。如果客户机指定的值比请求中的网关高,则将使用网关的值。否则,将使用客户机请求中的值。

httpbind.inactivity

180

客户机不活动的最长时间(秒),之后网关将终止与客户机的连接。 

httpbind.log4j.config

无 

网关将用于日志记录的 log4j 配置文件的位置。如果您将此参数留为空白,则会关闭网关的日志记录。记录程序名称为“httpbind”(log4j.logger.httpbind)。

httpbind.polling

1(秒)

客户机发送另一个请求之前必须等待的最短时间(秒)。 

httpbind.requests

2

客户机可向网关同时发送的请求数。如果此参数的值小于客户机请求中 JEP 124 hold 属性的值,则此参数的值将被设置为 hold+1。不要将此参数设置为 1,因为这样会严重降低性能。有关更多信息,参见 httpbind.hold

httpbind.round_trip_delay

1(秒)

考虑到网络延迟,除往返时间超时以外允许的时间量(秒)。该值设置过高可能会降低性能。 

httpbind.wait_time

120(秒)

网关发送响应到客户机的默认时间间隔(秒)。如果客户机等待时间设置为高于网关等待时间,则使用网关的等待时间。 

httpbind.config 的网关域 ID 键参数

表 B–2 说明用于定义 httpbind.config 参数中每个 ID 的键。在表中所述的每个键中,gwdomain-id 是在 httpbind.config 中指定的域标识符。

表 B–2 httpbind.config ID 键

键 

说明 

gwdomain-id.domains

逗号分隔的此 ID 的域列表。 

gwdomain-id.hosts

空格分隔的此 ID 的主机列表。这些主机必须均能够为 gwdomain-id .domains 中列出的域服务。此列表有助于提供跨域的故障转移。如果请求中没有明确提到路由主机,则此键中列出的主机之一将用于服务该请求。

gwdomain-id.componentjid

用于连接到主机的 JID。 

gwdomain-id.password

用于连接到主机的密码。 

附录 C Instant Messaging imadmin 工具参考

本章在以下各节中说明用于管理 Instant Messaging 的 imadmin 命令:

imadmin 概述

您可以使用 imadmin 实用程序来启动、停止和刷新 Instant Messaging 服务器和多路复用器。以 root 身份或以配置过程中指定的最终用户身份运行 imadmin

imadmin 要求

您必须从安装了 Instant Messaging 服务器的主机调用 imadmin 实用程序。

imadmin 位置

默认情况下,imadmin 安装在以下位置:

im-svr-base/sbin

imadmin 命令

表 C–1 列出并说明与 imadmin 命令相关的命令。

表 C–1 imadmin 命令与说明

命令 

说明 

imadmin assign_services

如果 iim.policy.modules 设置为 identity,则此命令为您指定的基本 DN 下的现有用户指定 Instant Messaging 和在线服务。该 DN 应为存储用户条目的组织的基本 DN。

如果 iim.policy.modules 设置为 iim_ldap,而 iim.userprops.store 设置为 ldap,则此命令会向目录中的用户条目添加对象类(sunIMUsersunPresenceUser )。Instant Messaging 需要这些对象类,以便在 LDAP 中存储属性。

imadmin status

(以前为 imadmin check

查验组件(servermultiplexor agent-calendarwatchdog)是否在正常运行并显示结果。如果您没有指定组件,则 imadmin 实用程序会返回关于所有组件的信息。

imadmin start

启动启用的组件。 

imadmin stop

停止启用的组件。 

imadmin refresh

刷新启用的组件。 

imadmin start server

只启动服务器。 

imadmin stop server

只停止服务器。 

imadmin refresh server

只刷新服务器。 

imadmin start multiplexor

只启动多路复用器。 

imadmin stop multiplexor

只停止多路复用器。 

imadmin refresh multiplexor

只刷新多路复用器。 

imadmin start agent-calendar

只启动“日历”代理。 

imadmin stop agent-calendar

只停止“日历”代理。 

imadmin refresh agent-calendar

只刷新“日历”代理。 

imadmin start watchdog

只启动监视程序。 

imadmin stop watchdog

只停止监视程序。 

imadmin refresh watchdog

只刷新监视程序。 

imadmin version

显示版本。 

imadmin 语法

imadmin [选项] [操作] [组件]

imadmin 选项

表 C–2 列出并说明 imadmin 命令的选项。

表 C–2 imadmin 命令的选项

选项 

说明 

-c alt-config-file

startrefresh 操作一起使用,用于指定 /etc/opt/SUNWiim/config/iim.conf 文件之外的配置文件

-h

显示关于 imadmin 命令的帮助。

imadmin 操作

表 C–3 列出并说明在发出各种 imadmin 命令后执行的操作。

表 C–3 imadmin 命令的操作

选项 

说明 

status

(以前为 imadmin check

返回关于 Instant Messaging 组件(servermultiplexoragent-calendarwatchdog)的信息。此操作无需提供 [component]

start

设置 classpath、Java 堆大小并启动所有指定的组件。

stop

停止指定组件的所有守护进程。 

refresh

停止然后启动指定的组件。此操作在配置更改后适用。 

imadmin 组件

表 C–4 列出并说明 imadmin 命令的组件。

表 C–4 imadmin 命令的组件

选项 

说明 

agent-calendar

表示“日历”代理 (agent-calendar)。

multiplexor

仅表示多路复用器。 

server

表示 Instant Messaging 服务器。 

watchdog

表示监视程序。 

附录 D Instant Messaging API

本章在以下各节中说明 Instant Messaging 使用的 API:

Instant Messaging API 概述

Instant Messaging 提供可以用来开发扩展或集成模块的 Java API。这些 API 的详细文档以 Javadocs 生成的 HTML 文件格式随安装的 Instant Messenger 组件提供。Javadoc 文件安装在 im-svr-base/html/apidocs/ 目录中。要查看 API 文档,可将浏览器指向 codebase/apidocs,其中 codebase 是 Instant Messenger 资源代码库。

以下是 Instant Messaging API:

Instant Messaging 服务 API

Instant Messaging API 供位于同一主机或远程主机中的应用程序使用,以访问 Instant Messaging 服务,如“在线状态”、“会议”、“通知”、“轮询”和“新闻频道”。

Instant Messaging 服务 API 可用于:

Messenger Bean

Messenger Bean 是一个动态加载的模块,用于扩展 Instant Messenger 功能。Messenger Bean 可以在现有的 Instant Messenger 窗口中添加操作侦听器(例如按钮和菜单项)和项目侦听器(例如复选框和切换按钮)。当收到最终用户输入或基于最终用户输入的特定于 bean 的操作时会调用项目侦听器。Bean 可以添加其自己的设置面板,并在服务器上保存特定于 bean 的属性。Instant Messenger 接收的任何事件都可以通知 bean,例如,新闻警报消息。

使用 Messenger Bean 的应用程序包括如下功能:

服务提供者接口

“服务提供者接口 API”可用于扩展 Instant Messaging 服务器功能。“服务提供者接口”由以下独立的 API 组成:

归档提供者 API

“归档提供者”是一个软件模块,通常提供与归档或审计系统的集成。每个服务器进程均分别调用各自配置的“归档提供者”。

以下服务器进程可调用“归档提供者”:

使用“归档提供者 API”的应用程序如下:

消息转换 API

“消息转换器”将被调用以用于通过服务器的每条消息或每个消息部分。“消息转换器”可能将消息部分完整保留,也可能会修改或删除消息部分。文本部分作为“Java 字符串对象”处理。“消息转换器”将其他附件作为字节流处理,并返回可能不同的字节流;如果要删除附件,则不返回任何内容。

使用“消息转换 API”的应用程序包括:

验证提供者 API

“验证提供者 API”提供在不使用基于 Access Manager 密码或令牌的验证服务环境中部署 Instant Messaging 的能力。当最终用户请求验证时会调用此 API,并且它可以与 LDAP 验证结合使用。

通过 Access Manager 进行单点登录 (SSO) 可使用“验证提供者 API”执行。此 API 还可用于与其他验证系统的集成。

附录 E Instant Messaging LDAP 模式

本附录说明对 Instant Messaging 的 LDAP 模式所做的修改。

Instant Messaging 对象类

下表列出了添加到 Instant Messaging 的模式和目录中的条目的 LDAP 对象类。

表 E–1 Instant Messaging 对象类

名称 

说明 

sunIMUser

包含用户属性。 

当您运行 imadmin assign_services 命令时,添加到指定基本 DN 下的用户条目中。

sunPresenceUser

包含用户在线属性。 

当您运行 imadmin assign_services 命令时,添加到指定基本 DN 下的用户条目中。

sunIMNews

包含新闻频道属性。 

如果 userprops.store 设置为 ldap,则当创建新闻频道时,将向该目录添加一个用于新闻频道的条目。新闻频道条目将包含 sunIMNews 对象类。

sunIMConference

包含会议室属性。 

如果 userprops.store 设置为 ldap,则当创建新会议室时,将向该目录添加一个用于会议室的条目。会议室条目将包含 sunIMConference 对象类。