最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013。本记录旨在记录升级过程中的一般性准备工作及在升级中可能存在的各种坑的解决方案。本记录会大量引用外部文章来作为解释说明,并不是一个step by step的指引,本文章并不适合小白用户而适合具有一定IT管理经验的人阅读。另外本文也并不保证完全正确。
第二篇:升级到SharePoint Server 2013
本篇将介绍SharePoint Server 2013、Office Web App Server 2013及将一个普通的SharePoint 2010站点迁移到SharePoint 2013站点。
1. SharePoint Server 2013的安装
首先具体的安装过程我不想多叙述,参考几个:
1) Deployment guide for SharePoint 2013
http://www.microsoft.com/en-us/download/details.aspx?id=30384
2) Install and configure SharePoint 2013
http://technet.microsoft.com/en-us/library/cc262957.aspx
SharePoint本身的安装比较简单,安装完运行配置向导,按照配置向导一步一步走,基本都是完事大吉,和SharePoint 2010一样一样的。我这里是想给大家说几个关注点。
1) 注意SharePoint 2013所支持的操作系统,支持:Windows Server 2008 R2 SP1和Windows Server 2012。这里要严重注意SharePoint 2013是不支持Windows Server 2012 R2的,如果你尝试安装,会报错。按照官方的说法,需要等SP1出来才支持Windows Server 2012 R2。
2) 注意所支持的数据库,支持:SQL Server 2012、SQL Server 2008 R2 SP!。
具体的详细需求可以看这篇文章:Hardware and software requirements for SharePoint 2013(http://technet.microsoft.com/en-us/library/cc262485.aspx)
3) 要注意SharePoint 2013不要和AD装在一起,可以和数据库服务器安装在一起。当然在实际的生产环境中,SharePoint前端肯定要独立开。
4) 有一些人在Windows Server 2008 R2上安装后,在运行过程中会有一些莫名其妙的错误,所以我建议大家使用Windows Server 2012 + SQL Server 2012的环境。
2. Office Web App Server 2013的安装
Office Web App Server 2013现在已经作为一个独立的产品了,必须安装在一个独立的服务器上,不能安装在SharePoint服务器上。Office Web App Server 2013很简单,安装完毕后,以管理员身份打开Windows PowerShell,然后运行下列命令:
Import-Module OfficeWebApps
New-OfficeWebAppsFarm –InternalURL http://servername –AllowHttp -EditingEnabled
关于安装部署Office Web App Server 2013,可以参考:http://technet.microsoft.com/zh-cn/library/jj219455.aspx ,这篇文章还介绍了如果你要做负载均衡之类的应该如何处理。
3. 将SharePoint连接到Office App Server
当安装完毕后,还需要将SharePoint连接到Office App Server中。以管理员运行SharePoint 2013命令行管理程序,执行下列命令:
New-SPWOPIBinding –ServerName http://servername –AllowHTTP
Set-SPWOPIZone –zone “internal-http”
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()
其中后三句尤其重要,这是将AllowOAuthOverHttp设置为true,如果不设置这个,那么因为SharePoint 2013的认证方式是claims based,将无法连接Office Web App。具体的文章可以参考:http://technet.microsoft.com/zh-cn/library/ff431687.aspx
另外注意一点如果你要测试的话,SharePoint系统账户(就是SharePoint网站右上角显示”系统账户”)是无法在Office Web App上打开文档的,会报错。
4. 将一个SharePoint 2010站点集升级到SharePoint 2013
1) 先将你的SharePoint 2010原先的一些解决方案(wsp)安装到SharePoint 2013上。当然有些wsp你需要升级,这个我会在后期介绍升级自定义的SharePoint项目问题。
2) 备份原先的SharePoint 2010站点集数据库(有几个备份几个)
3) 在SQL Server 2012上还原这些数据库。
4) 运行PowerShell命令创建WebApplication
New-SPWebApplication –Name “SharePoint – test” –HostHeader test –Port 80 –ApplicationPool “Sharepoint – test80” –ApplicationPoolAccount (Get-SPManagedAccount “domain\user”),其中”domain\user”是指你的应用程序池的账号。
5) 运行PowerShell命令附加数据库
Mount-SPContentDatabase –Name WSS_Content_TEST –WebApplication http://test ,此命令用于将内容数据库附加到Web Application上。
6) 运行PowerShell命令将Windows-Classic认证模式转换成Claims-based认证模式
Convert-SPWebApplication –Identity http://test –To Claims –RetainPermissions –Force
7) 已经可以访问站点了,在首页上有一个升级的链接,你可以通过此链接将站点的14模式升级到15模式。
8) 记得删除第一步New-SPWebApplication时,建立的一个随机内容数据库。
我介绍一下我为什么这么升级,首先我的SharePoint 2010站点是一个Windows-Classic认证模式,这应该是大家最常用的认证模式。如果你不这么升级的话,由于SharePoint 2013站点都是Claims-based认证模式,升级过后你原先所有的权限设置都会不可用,具体表现在你在权限设置里面能看到这些用户具有权限,但是在检查权限时这些用户全部没有权限,同时这些用户也无法访问这些站点。
从SharePoint管理中心中的UI界面中新建Web Application时,只能创建Claims-based认证模式,不能创建Windows-Classic,但是使用New-SPWebApplication命令时,默认会是一个Windows-Classic模式的站点。
在Mount-SPContentDatabase前,你可以通过Test-SPContentDatabase命令来检查你的数据库是否有问题。
如果你原先的站点就是Claims-based认证(SharePoint2010就支持Claims-based),那你就不用这么麻烦了。
那个Convert-SPWebApplication保证所有的Windows权限被迁移成Claims-based权限。
关于如何将SharePoint 2010 Windows-Classic站点迁移到claims-based的SharePoint 2013站点,这里有篇文章写的非常好。
Migrate from classic-mode to claims-based authentication in SharePoint 2013
http://technet.microsoft.com/en-us/library/gg251985(v=office.15).aspx
祝大家好运,下篇我将介绍迁移站点时,Infopath所遇到的问题。