我的OSS2007安装过程
安装环境:
英文Windows Server 2003 标准版+AD+IIS+ASP.NET+SP1
英文SQL Server 2005 标准版
Windows Workflow Foundition Beta 2.2
安装关键环节一:选取下图中的"Advanced"。
关键环节二:选取下图中的“Complete”。
第三个环节:选择下面的“No,I want to create a new server farm”。
虽然我的OSS2007已经装好了,但是在创建OSS的共享服务的时候还有问题。现在仍在摸索中。
第二次安装Sharepoint2007失败!
这次做了一个新的虚拟机,和上次的基本一样。不过这次Sharepoint2007用的是基本安装,这次安装到没有什么问题了。但是初始化的时候到Step8的时候还是出了错误:创建Sample Data失败。看看了日志没有什么有用到的东西,把错误截屏放上面吧。
第一次安装Sharepoint 2007失败!
这是我前几天为了研究WWF准备的虚拟机,环境为Win2003+IIS6+SP1,还安装了VS2005、SQLServer2005、WWF部件、WWF的VS2005扩展。
安装的时候提示SQL Server 2005 Tools安装未完成,提示我是否停止未完成的安装,我选择是,但是安装完成仍然提示安装未正常完成。然后使用Sharepoint2007的配置工具进行配置,10个步骤的进度条正常结束以后,还是提示设置未正常完成。
准备过两天在试一次….
SPS的安全机制与ASP.NET的安全机制还是有区别的
这几天一直写一个在SPS当中修改AD用户密码的Webpart。我向鞠海洋大哥要来了他写的代码,仔细研究了,自己也动手写了一个。但是包括鞠大哥写的和我写的都不用正确运行,总是捕捉到异常信息。不同的是,鞠大哥的代码可以显示用户的displayName属性,而我的显示不了。
昨天就想起来在ASP.NET中测试一下吧,毕竟ASP.NET当中条是要容易些。我有在写Webpart之前,先用ASP.NET预演的习惯。但是却发现ASP.NET当中不仅可以显示displayName属性,连密码也可以修改了。于是又仔细看了鞠大哥的代码,发现他并不是从AD用户的displayName属性显示的用户名称,而是通过SPS的CurrentUser对象来获取的用户名称。这样在仔细测试后可以发现,在SPS的Webpart当中是没有办法读取AD内数据的,即使将SPS网站的安全信任级别提高到了“Full”也是不行的。
详细的错误信息:
System.Runtime.InteropServices.COMException (0x80070035): 找不到网络路径。 at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_NativeObject() at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) at nChi.WebParts.Utility.UserCtrl.chgPwd()
以此猜测这可能是SPS把有关的COM调用给屏蔽到了…
SSO的假脱机问题解决
前两天SPS的数据库服务器坏了,数据被迁移到了备用数据库。这两天把原来在SPS上做的应用都检查了一遍,发现一个使用SSO的Webpart不能正常工作了,表现就是SSO不能正常取出数据,成脱机状。
找不到原因,有怀疑是迁移数据库或者安装了SPS2003的SP2造成的,于是重新安装了SPS2003而且没有安装其SP2。但是问题依旧,于是开始分析我的代码。最终发现是我的Webpart的问题:界面上显示从SSO当中获取的帐号,是在调用一个WebService并得到正常返回以后才显示,而当数据库迁移以后,WebService的数据连结没有更改过来,WebService没有返回一般性的错误代码;而我的代码只对WebService正常返回和一般性错误信息进行捕获。这样造成了我的Webpart的假脱机状态。
最终可以确定SPS2003的SP2不会对SSO造成这样的影响,但是不能确定数据库的迁移会不会对SSO造成影响。
变更SPS2003的数据库服务器
在以前的Blog上面曾经对这个方法曾经进行过描述,但是当时没有验证。这次服务器坏了,终于有机会进行验证了。只不过这次不是服务器升级,而是服务器坏了,要换成新的服务器。
下面是引用的原来Blog内容。
场景:
用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:
第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。
此外需要说明的是,除了SPS的以外,WSS的配置数据库和内容数据库也需要调整。在调整完成以后,需要把旧的服务器从服务器列表中删除。
[整理]SharePoint Portal Administration异常事件的处理
场景:单服务器,独立的SQL Server。服务器在安装SPS前安装了Win2003的SP1。每次启动的时候会提示一个服务启动不正常,察看系统事件中有两个错误,发现来源于SharePoint Portal Administration服务。实践内容如下:
1.等待 SharePoint Portal Administration 服务的连接超时(30000 毫秒)。
2.由于下列错误,SharePoint Portal Administration 服务启动失败:
服务没有及时响应启动或控制请求。
原因分析:由于系统安装了Win2003的SP1,怀疑原因是因为安装了这个SP1。故观察了SPS相关的几个服务的可执行文件路径,这几个服务的可执行文件路径都在引号内,和引起SSO服务异常的情景一样,故决定修改注册表,试验一下。
具体步骤:打开注册表编辑器,定位到\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\。下面是SPS服务对应的文件夹的名称:
SharePoint Timer Service SPTimer
SharePoint Portal Administration SPSAdmin
Microsoft SharePointPS Search SharePointPSSearch
SharePoint Portal Alert spsalert
Microsoft Single Sign-on Service ssosrv
在对应的文件夹下面有一个ImagePath节点,双击打开节点,去掉节点值两端的引号。
重新启动服务器,一切正常。
说明:
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
[整理]更换SPS的数据库的方法
场景:用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
SPS门户首页的Web控件(1)
最近在忙着研究SPS,在定制首页的时候发现页面里用了大量的SPSWC的控件,提笔总结一下。这些好象都是MSDN里面没有的。
<SPSWC:CollaborationServerMetaTag>
这个标签将服务器上定制的<meta>标签写到页面。不需要页面中有HtmlForm的存在。
<SPSWC:ShowMessageToNonScriptableClients>
这个标签会在不支持脚本的浏览器上显示警示信息。不需要页面中有HtmlForm的存在。
<SPSWC:WebProperty>
这个标签会显示网站的属性例如:
<SPSWC:WebProperty Property=“SiteTitle“>
不需要页面中有HtmlForm的存在。
<SPSWC:CategoryProperty>
这个标签会显示子区域的属性例如:
<SPSWC:CategoryProperty Property=“Name“>
不需要页面中有HtmlForm的存在。
<SPSWC:CustomCSSResourceElement>
这个可以把定制的样式表写到标签的位置。不需要页面中有HtmlForm的存在。
<SPSWC:PageHeader>
这个标签可以输出设置里面设置的Logo。不需要页面中有HtmlForm的存在。
<SPSWC:CategoryNavigationWebPart>
这个标签可以输出子区域导航菜单。不需要页面中有HtmlForm的存在。
近期评论