我有一个正在构建测试环境的站点,我需要将整个设置“复制”到另一台服务器。
在此过程中,我需要复制一些模板,问题是:我该怎么做(例如,我可以在生产服务器上找到站点模板文件夹,但复制文件是不够的)?
答案1
我很惊讶没有人提到这一点,但为什么不创建自定义站点定义呢。站点定义可以包装在 SharePoint 解决方案文件中,从而使部署模板的过程变得可重复、简单。站点定义可以包含您想要部署的任何内容,从列表到站点模板,再到 .aspx 文件到 .doc 等等。所有这些都是用声明性 CAML 编写的。(以及您可以在 onet.xml 中自动激活的功能,或者通过使用 Feature Stapling,如果需要,可以在过程中执行 featurereceivers)。
使用站点定义时,您将创建一个基础,然后在此基础上构建您的网站。在我当前的项目中,初始部署所需的所有文件都在解决方案中,当服务器(是的,它是 SharePoint + SQL 框唯一部署)崩溃时,我只需将解决方案部署到新服务器并重新连接内容数据库,我们就可以 10 分钟内再次启动并运行。
答案2
假设您所说的“模板”是站点定义,复制 12\TEMPLATE 中的文件应该可以解决问题。
文件复制完成后,您需要在复制的服务器上重置 IIS。
通常,网站定义是“网站集模板”,因此在添加新网站集时您会看到它们。如果它们是“网站模板”,则在添加新网站时您会看到它们。
没有与站点定义相关的 .STP 文件。
最佳做法是将站点定义打包并部署为解决方案,因为这样可以简化流程。
答案3
据我所知,所有模板(用于网站和列表)都保存在 SharePoint 数据库中,没有可以从中复制这些模板的文件夹。(我不知道有没有 STSADM 命令可以导出所有模板)
在这种情况下,我们通常会备份整个集合并将其恢复到生产状态(以防您的测试站点看起来和感觉像生产站点一样)。另一个选项也可能是仅备份测试站点的 SQL 数据库并将其附加到您的生产站点。
答案4
我曾多次创建生产 Sharepoint 环境的复制测试环境,但都是在单 SP 服务器的情况下。我发现我也需要备份/恢复一些文件级的内容。
这是我所做的:
备份原始站点 - stsadm.exe -o backup -urlhttp://网站名称-文件名 E:\SP_Original_Backup.bak -覆盖
备份 12 配置单元 - %CommonProgramFiles%\Microsoft Shared\web server extensions\12
备份 wss 文件夹 - %SystemDrive%\Inetpub\wwwroot\wss
在另一台服务器上恢复站点 - stsadm.exe -o restore -urlhttp://新站名-文件名 E:\SP_Original_Backup.bak
恢复12个蜂巢
恢复 wss 文件夹