http://www.chinaunix.net/jh/6/903673.html

使用iplanet Messaging server 5.2三年有余了,把使用的一些心得以FAQ的形式列出来,也算是对自己过去工作的一些总结,也可以希望能够帮助到那些仍旧在用这个产品的兄弟

问:如何将LDAP中的信息导出
答:使用db2ldif命令,可将数据导成ldif文件。文件存放在db2ldif文件所在目录的ldif目录下,以日期为文件名

问:如何将导出的ldif文件导回LDAP答:使用ldapmodify –a –c –h ldap-server-ip –h ldap-server-port –D “cn=Directory Manager” –w “11111111” –f xxx.ldif
其中:ldap-server-ip为Directory Server的IP地址,ldap-server-port为服务端口,-w 参数跟的是密码,-D参数跟的是目录管理员,-a参数意为添加,-c参数意为遇到错误继续,
-f参数为指定ldif文件位置
ldapmodify文件位置一般为ims安装目录下的shared/bin/下
具体使用方法见ldapmodify的帮助。

问:如何修改LDAP中的一个属性值
答:编写ldif文件,文件格式为:
dn:uid=test,ou=people,o=test.com,o=isp(dn为唯一确定值)
changetype:modify(意为修改,还可以是delete,add)
replace:cn(属性名称)
cn:测试帐户(属性新值)
然后使用ldapmodify 导入这个ldif文件
ldapmodify –h ldap-server-ip –h ldap-server-port –D “cn=directory manager” –w “111111111” –f xxx.ldif
参数说明同上

问:如何限制一些人发信
答:可以使用mappings映射表中的ORIG_MAIL_ACCESS映射值,按照src-channel|from-address|dst-channel|to-address $N添加需要限制的邮件地址
src-channel为来源通道
from-address为来源信件
dst-channel为目标通道
to-address为目标地址
注意目标地址应为重写过的地址
支持通配符*
比如tcp_local|*|tcp_local|* $N
限制所有来源于tcp_local通道的邮件地址发信到tcp_local通道中的所有地址,意思即为限制转发。
比如tcp_intarnet|[email]test@test.com.cn[/email]|tcp_local|* $N
限制[email]test@test.com.cn[/email]这个帐号往intenet上发信
而如果不允许本地域发信给本地域时
应该:
tcp_intarnet|*@test.com.cn|tcp_intarnet|*@ims-domans.test.com.cn
目标地址是经重写规则后的地址

问:为什么安装好HA环境下的邮件系统后,webmail就不能发信了?
答:因为安装的时候是通过logic ip安装的,而webmail默认使用的ip地址仍然为提供邮件服务的物理地址。需要使用以下命令,指定发信ip。
./configutil –o service.http.smtphost –v logic_ip

问:为什么安装好HA环境下的邮件系统后,不能往外域发信
答:因为对以用logic ip安装的邮件系统来说,其他ip都为不受信任用户(外域往外域发信是被禁止的)。需要在
/usr/iplanet/server5/msg-mail/imta/config/mappings文件中的INTERNAL_IP映射项中添加物理ip为受信任ip.

问:为什么新开的用户能发信而不能收信
答:Message Server默认安装使用的是同步运行模式。在同步模式下,MTA缓存目录信息并通过访问缓存获得数据,而不是每处理一封邮件就查询目录服务
需要运行imsimta dirsync –F (带参数F表示为全同步,不带参数为增量同步)将LDAP中的数据同步到本地缓存当中。

问:当我用ldifmodify添加objectclass时,为什么会出现object class violation的错误
答:添加objectclass时,需要把objectclass下的attr也添加进去,例如以下ldif例子:
dn: dc=wondertek,dc=com,o=internet
changetype:modify
add:objectclass
objectclass:alias
aliasedobjectname:dc=élan,dc=com,o=internet
出错的时候可以在ldap的error 日志文件中找到一些提示

问:为什么登录的时候会一直处于加载状态没有任何反应
答:这是因为收件箱中有信件是乱码造成javascript错误,找出这封信件删除后,重建索引。
重建索引可以先删除用户信箱文件夹中的store.idx文件,然后用reconstruct –r user/lijiong/INBOX命令。

问:如何将nms3.x的信件升级到ims5.2
答:数据迁移涉及到两个方面:一个是用户信息,一个是用户信件。由于用户信息和用户信件和ims5.2都不相符,必须经过格式转换才能使用。Nms3.5的用户信息可以保存在ldap中,也可以保存在本地数据文件中。将用户信息导成ldif文件后,根据ims5.2格式修改。用户信件不能3.x直接升级到5.2版本中去,4.x版本提供了一个信件升级工具:upgrade。使用这个工具就可以将信件转换成5.x认识的格式。安装nms4.x时会提示你是否需要从3.x升级,选择否。安装完成以后,将3.x中的用户导入到4.x的ldap中去,这里仍然需要将3.x的用户信息文件转换成4.x的格式。导入进去以后,运行upgrade –s给所有4.x用户建信箱
然后upgrade –m增量转换开始。可以使用upgrade –m –F 全部转换。

问:如何在DS5.x中导出LDAP中的信息。
答:使用./db2ldif   -s o=isp 或者 ./db2ldif –s o=NetscapeRoot。参数-s后跟的是条目的suffix

问:已经建好的系统上修改IP该如何处理。
答:Directory Server和Message Server是只认机器名,不认IP的,所以说直接修改IP是不会妨碍系统的。但是Administrator Server是要绑定IP的。而且Directory Server的Administrator Server是要被写入到LDAP中去的,这个时候只有修改LDAP中的值才行。
修改方法如下:
使用./db2ldif –s o=NetscaptRoot导成ldif文件
查找nsserveraddress一行entry的dn
撰写ldif如下:
dn:xxxxxxxxxx(上面找到的)
changetype:modify
replace:nsserveraddress
nsserveraddress:新的IP

Message Server的Administrator Server的IP地址在admin-serv/config/local.conf文件中修改

问:Ida中的timeoutsession在哪里可以设置?
答:默认为15分钟To change the user session timeout, edit the servlet.properties file in
the root_of_web_server/config directory. After the line:
servlets.sessionmgr=com.netscape.server.http.session.SimpleSessionM
anager
add the following line:
servlets.sessionmgr=com.netscape.server.http.session.SimpleSessionM
anager, add servlets.sessionmgr.initArgs=timeOut=xx, where xx is the user
session timeout in seconds after a session is accessed by the client before the
session manager destroys it

问:如何找回已被删除的邮件
答:将用户文件夹中的store.exp文件删除后,reconstruct –r user/xxxxx/INBOX

问:当邮件主机找不到MX记录发不出去信件的时候怎么处理?
答:这样的情况往往发生在多层结构,邮件主机只有内网地址的时候。一些特殊信件要交到邮件主机由主机发信,比如自动回复信件。这个时候只要在imta.cnf的tcp_intranet,tcp_local通道定义加lastresort后面跟可以发信的机器的ip地址(比如前面的outbound)

问:如何实现域别名?
答:域别名要在同步模式下才可完成。
比如要给test.com添加abc.com域别名
只要撰写ldif文件内容如下:
dn:dc=abc.com,dc=com,o=internet
object:alias
objectclass:inetDomainAlias
aliasedObjectName:dc=test,dc=com,o=internet
dc:abc
注意,你的同名域的dc一定存在,比如dc=com,如果不存在,则不可添加。如为test.com创建同名域test.net,可先创建dc=net,然后再实现同名域。

问:不同的域可以使用不同的页面吗?
答:可以。只要在html文件夹下创建一个域名文件夹,然后把所有的html文件拷贝至这个文件夹下即可。使用域名来进行访问不同的页面。注意:子域的登录主页的改写可能稍有不同。例如:在test.com域下创建abc.com域。则只需在html下创建abc.com文件夹,虚拟域的登录主页在html/abc.com/zh-CN/下,为default.html。而当访问虚拟域登录首页时,邮件会把这张default.html定位在html/下,所以改写页面时,图片的定位应该为abc.com/imx/xxx.jgp。

问:使用ldapsearch搜索用户的时候为什么会出现Sizelimit exceeded的信息?
答:在slapd.conf文件中,修改sizelimit项
在slapd.ldbm.conf文件中,修改lookthroughlimit项,修改后重起ldap就可放宽限制。

问:如何使用webmail时也可显示外发邮件名?
答:添加service.http.fullfromheader属性,属性值为yes

问:为何有的邮件系统会拒收我们的邮件,报错为need fully hostname?
答:这个问题一般是由主机名的短文件名造成的,可以在tcp_local_option文件中添加
BANNER_HOST=hostname.domain

问:如何解决SMTP没有响应的问题?
答:发信时长时间没有反应,通过telnet 连接到25端口后,对helo命令也没有反应,这个时候可以使用./imsimta recover-crash命令对db进行修复(只可使用在同步模式下),也可直接将访问模式改为ldap直接访问模式。

问:如何防止一封信发给很多人
答:
在/server_root/msg-instance/imta/config下创建tcp_local_option文件
添加以下行
ALLOW_RECIPIENTS_PER_TRANSACTION=N
N为具体限制数字
问:两台邮件服务器该如何安装邮件系统
答:一台服务器做mail store 和inbound,一台服务器做outbound。首先按正常方式安装mail store,然后安装outbound,有以下几点要注意
1:安装时机器名,主机名都应该为本机的主机名,
2:安装选项应该多选一个MMP选项
3:安装完成后配置MMP的PopproxyAService.cfg文件,配置说明可参看管理员指南。
4:如果webmail也部署在outbound上(推荐),应该在outbound上启用webmail代理
configutil –o local.service.http.proxy –v 1

问:如何使log记录IP
答:在option.dat文件中添加LOG_CONNECTION=1

问:如何阻止一个外部IP的连接
答:在mappings文件的PORT_ACCESS映射项中添加
*|*|*|192.168.0.176|*         $N$ not$ to$connection

问:如何为服务器添加SmatrHost
答:在通道定义中添加关键字daemon ,后跟ip


lijiong 回复于:2007-03-01 13:26:34

问:ds5.1下的主从配置
答:
一、首先配置从服务器(consumer)
6. 在directory server console端Configuration标签页右键单击Data项,点击New Root Suffix菜单,新建需同步的节点。比如o=internet,database名为internet
7. 新建好后,展开Replication项,下面会自动生成一个同步的节点,选中。
8. 在Replica Settings中,选中Enable Replica,Replica Role项选Dedicated Consumer
9. update Settings中,Enter a new Supplier DN:写入cn=directory manager ,然后 add
10. Enter a new URL:写入主ldap服务器名字、端口(或者用Construct….),然后add
11. 保存
二、配置主服务器
2. 在directory serer console端Configuration标签页下选择Replication,选中Enable Changelog
3. Legacy Consumer Settings标签页下填入Supplier DN: cn=directory manager,
4. 选中Replication下需同步的节点
5. 在Replica Settings中选中Enable Replica
6. Replica Role选中Single Master
7. Common Settings中,Replica ID,填入1~65535任意数字,但是必须唯一于其他同步项
8. save后邮件单击同步节点,New Replication Agreement…
9. 填入Name,Description
10. Consumer 中点击other ,填入从服务器的名字、端口
11. Connection下,Simple authentication 填入Supplier Dn:   Bind as: cn=directory manager,
12. 余下步骤Next
13. 完成后会出现一个同步的job,邮件先Initialize Consumer后,Send Updates Now
14. 如果同步成功,可以在Status标签页中看到同步的状态

问:如何改变网页中可发送邮件附件大小
答:修改maxmessagesize,maxpostsize属性值

问:如何限制使用outlook等客户端发信的大小?
答:可以参考使用maxblocks这个关键字。

问:如何删除多值属性中的某一个值
答:已mailSieveRuleSource举例
dn:uid=user29,ou=people,o=test.com,o=eem
changetype:modify
delete:mailSieveRuleSource
mailSieveRuleSource:/usr/iplanet/server5/shared/bin/sieve.txt
只要把属性值也加上,就会删除对应的值了。

问:在Solaris10上安装Messaging Server 6.x版本时,为什么会出现主机名问题
答:在 Solaris 10 平台上,您不仅必须将全限定域名 (FQDN) 添加至 /etc/hosts 文件,
而且还必须将其添加至 /etc/inet/ipnodes 文件。否则,您将接收到错误,指示您的
主机名不是全限定域名。

问:如何手工添加转发地址
答:1、添加mailDeliveryOption=forward
2、添加mailForwardingAddress=mail地址

问:LDAP被设置为read-only后不可修改怎么办?
答:在5.2之前的版本中,用console都可以去修改每个suffix的database的readonly属性,在5.2中不会有。如果在为suffix做索引的时候突然中断,suffix的database就会被设置成readonly,这个时候就可以在dse.ldif文件中修改将该suffix的nsslapd-readonly的属性值由on改为off即可。

问:多条件搜索如何写filter?答:例:(&(!(createtimestamp=200507*))(mail=*))
         (&(mail=*)(createtimestamp=200507*))