最近开始使用moss2007开发一学校门户和协同办公系统,之前没有接触过SharePoint,所以真是问题多多,边学边做吧,很多东西都是按想得到的方法一个一个去试,呵呵。就如配置搜索服务,第一次是在本机,第二次是在开发服务器上,第三次是在实施服务器上,真奇怪,居然每次都遇到问题,不过好在每次都解决了,我想和我这样遇到同样问题的人肯定不少,特别是对于像我这样刚接触moss的人,所以简单的分享下心得,不足的地方就多谢指正,共同提高。
话说回来,其实简单搜索服务的配置本身还是比较简单,步骤如下:
1、启动搜索所需各项服务。包括Windows服务里的Windows SharePoint Services Search、管理中心里的Office SharePoint Server搜索,还有个Windows SharePoint Services 搜索我也启动了。启动Office SharePoint Server搜索时要做些设置,很简单,原则就是一定要保证所设置的帐号有访问所需要访问资源的权限,比如访问内容数据库等。如果在管理中心服务器服务里没有Office SharePoint Services搜索一项或该服务无法启动,那么,搜索肯定是不能用的。
2、创建共享服务。和启动Office SharePoint Server搜索服务一样,只要保证所设置的帐号有访问所需要访问资源的权限就没问题了,由于moss中对各配置项说明都很详细,所以没什么可说的了。在本机配置搜索服务的时候,我在这一步创建共享服务的时候遇到了错误——没有索引器。如下图所示:
后来发现原来在管理中心服务器服务列表里并没有Office SharePoint Server搜索这一项,虽然Windows SharePoint Services 搜索已经启动,这就是没有索引器的原因了。找了些资料才知道,因为我安装moss的时候用的是高级->独立安装,并且本机所在服务器场只有本机一台服务器来承载服务,这也就是说我必须在本机启动所有服务,包括搜索服务,而这种安装是不会在本机安装所需要的索引器的(如果我理解得没错的话),所以自然会没有索引器。当然,如果是几台服务器组成服务器场,那情况就不一样了,只要在运行搜索服务的服务器上有索引器就好。于是,我重新安装moss,这次用的高级->完整安装,如下图所示:
果然安装完成后发现服务列表里有了Office SharePoint Server搜索一项,启动也很正常。
3、配置搜索,包括爬网计划等。在开发服务器上配置的时候,我启动完Office SharePoint Server搜索服务、创建好共享服务就没去管其他了的了,所以导致搜索不到任何内容。问题就出在我没有配置爬网计划,并还没有开始编制索引。在管理中心->共享服务->搜索配置->爬网计划里设置好爬网计划,包括完整爬网计划和增量爬网计划,如果还没有编制过索引,可以手动启动马上开始编制索引。这样设置好后,在开发服务器上就可以搜索到内容了。
到了系统实施的时候,在这一步又遇到问题了,点击搜索配置的时候报错Retrieving the COM class factory for component with CLSID {629DA12E-9AD5-4FEC-B886-42C5982C5109} failed due to the following error: 8007042d,看上去好像是权限问题。询问和我一起去的实施人员,moss2007单独安装在这台服务器,安装方式为完整安装,AD和数据库分别安装在另外2台机器,没有问题。于是我查看Windows服务中的Windows SharePoint Services Search服务,原来这个服务还没启动呢!启动竟然报错!错误信息好像是句柄无效(不太记得了),一看运行该服务的帐号,原来是域名\appsrv,询问实施人员,该帐号属于域管理员组并且是网站集管理员,但是并不是安装数据库时的那个域名\Administrator帐号(注意,域名\Administrator帐号属于moss服务器Adminstrators组),于是,我把运行该服务的帐号改成域名\Administrator,同时把其他几个与moss相关服务的帐号也改成这个(有的也用了那个域名\appsrv),重新启动这些服务,还是一样报错。没辙了,时间很紧,还是到网上找找资料吧,结果通过如下方法解决了此问题(我用的帐号都是域名\Administrator,你的环境该哪个就是哪个,有权限的帐号就可以了,最好是管理员组的帐号):
1)检查IIS里该共享服务所在站点的应用程序池帐号是否和运行搜索服务的帐号一致,我发现该机器共享服务所在站点的应用程序池帐号并不是域名\Administrator,于是和其他与SharePoint相关服务帐号一样,都改成域名\Administrator。
2)进入管理中心->操作->服务器上的服务,停止服务列表中的Office SharePoint Server服务。
3)管理中心 > 操作 > 服务帐户,在选择要更新的组件下选中单选项Web 应用程序池,Web服务项选择Windows SharePoint Service Web应用程序,应用程序池项选择你的共享服务所在站点的应用程序池,在为该组件选择帐户下选中可配置帐户选项,输入你应用程序池所用的帐号名称和密码,然后确定。如下图所示:
4)在moss服务器上运行iisreset /noforce,重启动IIS。
5)在管理中心重新启动Office SharePoint Server服务。
6)进入管理中心 > 应用程序管理 > 管理此服务器场的共享服务,点击搜索所在的共享服务,点击编辑属性,在SSP 服务凭据和拥有此 SSP 访问权限的进程帐户选项中输入同样的用户名和密码,在索引服务器列表中选择你所要使用的搜索服务器,然后确定。如下图所示:
7)重新点击共享服务中的搜索配置,依然报错,错误消息大概是没有配置索引服务或正在移动索引。我想既然索引服务已经配好了,并且我有改动默认的索引文件地址,这个错误信息应该是说明正在移动索引了。等了大概1分钟,还是报这个错误,看来索引还没移动完。等不急了,于是我重启动了服务器,这次点击搜索配置,一切正常,手动启动完全爬网后,搜索内容也出来了。
希望以上小小体会能对我这样的初学者有所帮助