Sharepoint学习笔记-- 如何把网站集从Testing服务器移动到Production服务器(相同的Farm)

  如果你想要把你的Sharepoint网站集从测试服务器移动到生产服务器上,根据网上的资料,有多种方式可以实现,这里我测试了使用STSADM的方式进行移动(此方式微软好像不太推荐,尤其是在跨Farm进行移动时会存在问题,不过此处我们只是在同一Farm的不同服务器上操作,所以问题不大,实际上,我们提到“移动Moving”,应该是在同一Farm的环境下操作,如果是跨不同的Farm操作,准确的用语应该是 Migration/Updating)。下面直接描述操作步骤。 

步骤一、使用STSADM Command备份Testing服务器上的Website Collection

    用此命令前,可以参考我的另一篇笔记(harepoint学习笔记-- 如何在系统Path中添加STSADM的快速引用(Add STSADM in path)))

    备份时使用的STSADM Command如下:  

    Stsadm –o backup –url http://<server name>:<port> -filename <path\name to be used for the backup file>

    Example: 

    tsadm –o backup –url http://sharepoint2010:6666 –filename "e:\backup6666.bak"

  述命名中: http://sharepoint2010:6666 就是你想要备份的Website Collection,如果备份操作顺利完成,就会显示 “Operation Completed Successfully”

  有直接使 用此命令,而是在Testing 服务器的C:\下创建了一个批处理文件(BackupMySP2010.BAT),代码内容如下:

@echo off
@echo 
---------------
@echo This script will backup your site: [http:
// sharepoint2010:6666] 
@echo ---------------
cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\
14\BIN
@echo locking site collection before the backup process starts 
@echo off
stsadm 
-o getsitelock –url  http:// sharepoint2010:6666

stsadm 
-o setsitelock –url  http:// sharepoint2010:6666 -lock readonly 
@echo site collection is now locked
@Echo Logic to create a 
new file name daily  
@echo off
stsadm.exe 
-o backup –url    http:// sharepoint2010:6666   -filename  D:\ SPBackup\MySP2010Backup.dat  -overwrite

@echo backup completed 
@echo please 
get backup file in folder    filename  D:\ SPBackup\MySP2010Backup\ MySP2010Backup.dat
@echo off 
stsadm 
-o setsitelock -url     http:// sharepoint2010:6666    -lock none 
@echo Site lock removed
cd C:\

   接运行此文件即完成Website Collection的备份操作

步骤二、在生产服务器上创建Web Application用于运行将要恢复的网站集 

  入生产服务器 SharepointCentral Administration -> Application Management -> under SharePoint Web Application Management -> click Create or Extend Web Application. 填写需要的信息,然后点 Ok 等待Web Application创建命令执行完毕

步骤 三、当Web Application创建成功后,运行  STSADM 恢复我们先前备份的Website Collection 

 1.把先前备份Testing服务器上的Website Collection 文件D:\ SPBackup\MySP2010Backup\ MySP2010Backup.dat 复制到生产机上的指定目录下(当然,如果两机共享,你也可通过网络直接访问而省掉此步),本例我们复制到生产机的目录D:\ SPBackup\MySP2010Restore\  

      2.使用如下STSADM Command命令恢复备份的网站集

   Stsadm –o restore –url http://<server>:<port> -filename <path\name of the backup file>

    Example:

   Stsadm –o restore –url   http:// sharepoint2010:6666     –filename " D:\ SPBackup\MySP2010Restore\ MySP2010Backup.dat"

  针对此步,我依然使用了批处理命令文件(RestoreMySP2010.Bat),代码内容如下:

@echo off
@echo 
---------------
@echo This script will Restore your site: [http:
// sharepoint2010:6666 ] 
@echo ---------------
cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\
14\BIN
@echo locking site collection before the backup process starts 
@echo off
stsadm 
-o getsitelock -url  http:// sharepoint2010:6666     
stsadm -o setsitelock -url   http:// sharepoint2010:6666      -lock readonly 
@echo site collection is now locked
@echo off
stsadm.exe 
-o restore –url   http:// sharepoint2010:6666       -filename  D:\ SPBackup\MySP2010Restore\ MySP2010Backup.dat
@echo Restore completed 
@echo The backup file 
is from folder  D:\ SPBackup\MySP2010Restore\ MySP2010Backup.dat

@echo off 
stsadm 
-o setsitelock –url   http:// sharepoint2010:6666       -lock none 
@echo Site lock removed
cd C:\

直接执行此文件,自动 完成恢复Website Collection的工作。

步骤 四. 如果恢复工作没成功,或者你在恢复完成后访问网站时遇到了一些奇怪的错误提示信息,这种情况,多半都是因为你原先的网站集有用户个性化的内容或设置,此类情况只有具体问题具体处理,针对不同的个性化内容进行相应的部署和操作,以达到和测试服务器上一致的个性化效果

下面我们列出最常见的处理情况。

 1.部署用户的Solution(如果有的话)到生产机上.

   1.1 使用STSADM命令先把用户Solution部署到服务器场上

   stsadm –o addsolution –filename <path to mysolution.wsp>

  Example:

   stsadm -o addsolution -filename "D:\SP1DEVshare\Solution\bin\Debug\mysolution.wsp"

    如果此Solution已经部署过了,则要先删除再部署,删除命令是

   stsadm -o deletesolution -name "mysolution.wsp" -override

  1.2    再使用STSADM命令把Solution部署到用户前面恢复的Web Collection

   stsadm -o deploysolution -name mysolution.internet.test.wsp -url <site> -immediate -allowgacdeployment –allowcaspolicies

  Example:

   stsadm -o deploysolution -name StarMaidSpSolutions.wsp  -url http:// sharepoint2010:6666     -allowgacdeployment -immediate

   此步骤也可以使用Sharepoint 管理中心的System SettingsàFarm ManagementàManage Farm Solution来完成,操作程序是: 选择要部署的 solution ,点击 顶上的‘Deploy’ 按钮,选择需要部署到的Web Application并确定。然后管理中心开始执行你的部署操作,这可能要花上几分钟。此过程完成后,要记得重新启动 IIS以使得刚才的部署快速生效。

 2. 确保你移动的Web Collection所要用到的所有的Asssemblies (DLL)也存在于生产机的GAC(Global Assembly Cache)

    GAC通常位于c:\windows\assembly目录。

 

 3.激活用户Solution所涉及到的features.

    在用户新部署的Web Collection中,Site Actionsà Site Settingsà Site Collection Featuresà

点击Activate按钮以激活相应的Site Collection Features

4.更新 Web.Config 文件

   当用户的Solution添加DLLS时,我们需要修改Web.config,使它们注册为安全的Contol(Safe Controls)。可能还有其它某些设置需要在Web.config中修改(AssemblyBindings, PageParserPaths and Keys)。此文件的错漏会导致我们新移植的Website Collection跳出许多奇怪的报错。我们通常的作法是同时打开生产机和测试机上的此Website CollectionWeb.config文件,比较两者,然后用参照测试机上的Web.config文件,使用Copy /Paste在生产机的Web.config文件中完善遗漏掉的设置。

     Web.config 通常可以在如下的路径下找到: <drive letter>:\Inetpub\wwwroot\wss\VirtualDirectories\<port number>\web.config

    Example:  C:\Inetpub\wwwroot\wss\VirtualDirectories\6666\web.config

 通常此步骤做完,新移植的Website Collection就可以在生产服务器上运行了。

 

 

 

 

 

 

 

 

 

posted @ 2011-05-02 12:52  wsdj  阅读(998)  评论(1编辑  收藏  举报