3

我有一个托管多个不同门户的 DotNetNuke 系统 (v 5.6),我想将其中一个移至另一个托管提供商。最简单的方法是什么?

我发现每个声称解释如何移动 DotNetNuke 站点的网站基本上都说“将整个数据库复制到新系统中”。如果您在数据库中只有一个门户,那就太好了,但我有十几个。我只想移动一个门户,而不是全部。

将网站导出为 .template 是另一个流行的建议。这会导出站点的结构(例如所有选项卡定义),但它不包含任何实际的 HTML 内容。因此,这基本上毫无价值。

必须有一种合理的方法来做到这一点,而不是尝试从每个 DNN 表中剥离一个单独的门户数据。正确的?

4

2 回答 2

2

当您导出站点模板时,您也可以包含站点的内容(对于支持可移植性的模块,包括标准 HTML 模块)。这就是默认站点模板具有其所有内容的方式。执行此操作时.template.resources,您将需要一个文件以及该.template文件。

另一种选择是进行完整备份和还原,然后在还原后删除其他站点。如果您在不支持可移植性的模块中有重要内容,我认为这将是您最好的选择。

于 2012-11-29T14:05:32.703 回答
2

仅供参考,我确实在DotNetNuke 论坛上从某人那里找到了解决方案。

创建该安装的第二个版本,然后删除所有其他门户。使用一个门户移动安装。我们已经用大量门户安装了几次,它工作得很好。是的,数据库中仍然存在一些噪音,但这是一种快速有效的做事方式。

编辑请注意,这将为您提供 1 个门户的安装。您不能从一个安装中分离门户并将其重新附加到现有安装(嗯,您可以,但基本上您必须将门户导出为模板,这不是 100%)

这是我采用的方法,果然,它有效。

简而言之:

  1. 将网站的文件镜像到另一台服务器。
  2. 将 DNN 数据库镜像到另一台服务器。
  3. 在新设置上登录主机并删除所有门户,但要迁移的门户除外。
  4. 删除其余门户未使用的任何模块定义。
  5. 打开您最喜欢的 SQL 工具并删除UsersUserProfile表中不再有匹配行的任何条目UserPortals。默认情况下,DNN 不会删除这些,这令人沮丧。
  6. 进入 Windows 资源管理器并删除您不再需要的所有 Portal 文件夹(即:/Portal/1、/Portal/2 等)
  7. 使用 Enterprise Manager 备份数据库以创建 .bak 文件
  8. 制作整个 DNN 安装文件夹的 .zip。

您现在有一个包含数据库的 .bak 和一个包含文件的 .zip。将这些发送到新的托管公司,你应该一切准备就绪。只需确保更新您web.config以正确设置连接字符串以指向新托管公司的新数据库服务器。

就是这么简单。;)

于 2012-11-30T14:15:25.473 回答