DotNetNuke, DNN技术及应用

DNN5系统需求及安装指南详解

April 2nd, 2009

此安装指南适用于DNN4.x和DNN5.x在本地测试及主机的安装。最近QQ群里不少朋友问我关于DotNetNuke的安装和运行的问题。 为了让大家更清楚地了解DNN的安装方式,我在这里对DotNetNuke的系统需求,和在不同环境下的安装和运行方式做一个全面地介绍。

运行DotNetNuke (DNN)所需的环境:

  • Web服务器:          IIS5, IIS6, IIS7, Visual Studio内置Web服务器
  • 服务器系统:          Windows XP, Windows 2000, Windows 2003, Vista, Windows 2008
  • 数据库:                   Sql Server 2000, 2005, 2008, Sql Server Express
  • 数据库运行权限:  对DNN数据库拥有DBO权限(要确定可以创建,删除表)
  • 文件系统运行权限
    • XP 下需要给网站目录设置”ASPNET”用户”完全控制”权限
    • windows 2003,2008和Vista 需要给网站目录设置”Network Service”用户 ”完全控制” 权限
  • .Net 框架 .Net2.0, .Net3.0, .Net3.5

安装步骤:

DotNetNuke的安装自从DNN4.6引入安装向导之后已经有了极大的简化,现在的安装主要分为以下几步

  • 数据库的配置
  • 文件系统权限的配置
  • WEB服务器的配置(IIS或Visual Studio内置服务器)
  • 上面3点配置好后打开网页运行DNN安装向导配置DNN

第一步: 创建数据库

如果是虚拟主机环境,主机服务商如果提供了数据库访问帐号和数据库信息这步就可以省略了。如果没提供请联系主机服务商,或者通过虚拟主机网站控制面板创建数据库用户和数据库(如果有提供此功能)。

如果对数据库拥有管理权限,我们需要先创建一个空的数据库

  • 首先登录数据库管理器
    • sql server 2000 用企业管理器
    • sql server 2005,2008 用 sql server management studio
    • sql server express 用 sql server management studio express
  • 创建一个空的数据库,名称自定,在这里我叫它DNN5。
  • 建议创建一个数据库用户以方便管理,用户名自定,在这里我创建了一个和数据库同名的用户”dnn5″ 。
    dnn5-installation-sql-server-user
  • 右键点击刚才建好的数据库DNN5,在属性里选择”files”然后在右边的”owner”里填入刚才建好的用户”dnn5″, 这将赋予与”dnn5″用户DBO的权限。
    dnn5-installation-sql-server-dbo
请确定sql server用户可以创建数据表,和存储过程(有些主机服务商会限制用户权限)否则将无法安装DNN。

第二步: 配置文件系统权限

首先下载DNN安装包解压缩到任意目录, 在这里我解压缩到c:webrootdnn5

  • XP 下需要给网站目录”dnn5″下“安全”设置中的”ASPNET” 用户所有文件  ”完全控制” 权限
  • windows 2003,2008和Vista 需要给网站目录”dnn5″下“安全”设置中的”Network Service”用户所有文件”完全控制” 权限
    dnn5-installation-folder-permission
如果是主机托管环境请和主机服务商确定网站目录下“安全”设置中的”Network Service”用户对所有文件和文件夹拥有 “完全控制” 权限。

第三步: 配置WEB服务器创建网站

DNN可以运行于IIS中独立的网站,例如www.dnnmix.com,  localhost:8001 也可以运行在虚拟目录中, 例如www.dnnmix.com/mydnn,  localhost/mydnn。

  • 如果使用xp的IIS5则只支持一个网站,这时候我们通常需要创建一个虚拟目录,例如在默认网站下创建一个叫”dnn5″的虚拟目录,然后把虚拟目录指向外我们的网站c:webrootdnn5。 然后在浏览器输入http://localhost/dnn5运行网站
  • 如果使用vista, 2003, 2008 因为IIs6,7支持多网站, 我们可以创建一个新的网站用端口号区分, 例如,localhost:8005 然后把网站指向c:webrootdnn5。然后在浏览器输入http://localhost:8006运行网站
    dnn5-installation-iis7
  • 如果使用Visual Studio2005,2008内置的web服务器运行网站,在VS中选择打开网站,用文件系统方式打开 c:webrootdnn5, 点击项目根目录在属性窗中配置web服务器。
    • 关闭”使用动态端口”
    • 网站根目录设为”/” (vs2005 sp1 之后才有的功能)
    • 点击F5(调试模式)或Ctrl+F5(运行但是不调试)运行网站,如下图所示设置将会在浏览器打开http://localhost:4186运行DNN。
    • 用VS内置测试Web服务器运行DNN这种大型网站速度会很慢, 建议使用IIS。
      dnn5-installation-vs
  • 如果使用虚拟主机,一般网站控制面板会有创建网站的设置,如没有请联系主机服务商。设置好后请用绑定到网站的域名或者临时链接(有些虚拟主机会提供,这样没有域名也可用临时链接访问)访问网站。

如果使用IIS请注意运行网站前检查IIS的设置,确定以下几点:

  • 设置网站或虚拟目录使用 .net framework 2.0
  • 设置网站默认文件为default.aspx
  • IIs5,6中确定网站或虚拟目录是一个web应用程序 (web app)
  • IIS7中确定所选的应用程序池(application pool)是支持.net framework 2.0

第四步: 使用DNN安装向导配置网站

在操作之前我们可以先下载DNN5安装向导汉化包解压缩后把install文件夹复制到网站根目录c:webrootdnn5覆盖现有文件,这样就可以使用中文安装向导了。前面三步设置好后第一次运行DotNetNuke网站,安装向导会自动运行进行网站配置。

  • 在浏览器输入第三步设置好的网站链接。
  • 运行安装向导,根据需要配置,再这里我就不详细说明了,向导汉化已经给了每一步很明确的指示。

在这里唯一要说明的是,进行配置数据库连接时会有两个选项

  • SQL Server 2005 (Express)文件
    • 这种方式是自动附加网站根目录下的App_DataDatabase.mdf 数据库文件到sql express数据库。
    • 所以要在”数据库”栏填写”Database.mdf”
    • 运行的前提是要安装Sql Express数据库并且需要系统整合的安全权限。
    • 通常虚拟主机环境下是不支持这种权限的,但我们仍然可以选用下面普通数据库连接的方式连接Sql Express
  • SQL Server 2000/2005/2008/Express数据库
    • 用第一步创建的数据帐号dnn5连接数据库DNN5
      dnn5-install-wizard-database
如果在设置网站的时候使用了端口,例如localhost:8000。你会发现除了首页可以访问其它的页面一点击就会出现错误, 我们还需要进行一些设置:

  • 打开数据库中的[PortalAlias]表,你会看到一条记录, 把HttpAlias从localhost改为localhost:8000
  • 在网站根目录的web.config中找到<appSettings>中的<add key=”UsePortNumber” value=”true” />并启用
  • 另外还需要重新启动一下DNN网站清除缓存,当再次访问时端口号即可正常使用。

至此就可以开始我们的DNN之旅了。

33 个评论 - " DNN5系统需求及安装指南详解 "

  1. Sun May 11th, 2009 at 3:53 am 1

    安装成功,感谢!

  2. John May 12th, 2009 at 2:39 am 2

    @Sun
    第一步成功! 可以玩玩看那些免费的模块

  3. steven June 6th, 2009 at 5:32 am 3

    经典至极!超级感谢!

  4. John June 6th, 2009 at 10:56 am 4

    @steven
    谢谢 :)

  5. July 22nd, 2009 at 3:26 am 5

    你好,我想学DNN,今天试着装了一下,在放DNN的文件夹安全设置时,发现没有ASP.NET这个对象,只有NETWORK SERVICE这个,我的XP是深度的SP3版的,还有装SQL Express时遇到如视频的安全设置时,按用户名想连接,总是不成功,看视频挺简单的就成了,我这不知是哪儿有问题,望老师指教,最好能把解答发我邮箱,谢谢!

  6. John July 24th, 2009 at 2:24 am 6

    @张
    我没用过XP3 SP3 如果只有NETWORK SERVICE那就用这个就好了, 设置这个是为了让DNN可以上传修改站内文件, 如果你装好后发现不能上传文件那就是权限设置问题。

    在Sql server management stuio 里 security > login > 新用户属性 > user mapping 里选中你想要管理的数据库

  7. 一切 July 27th, 2009 at 2:02 pm 7

    安装数据库 – 版本 05.00.00…失败 400 – The stored procedure ‘dbo.UpdateDatabaseVersionAndName’ doesn’t exist.

    想问下博主这个是怎么回事?都已经安装数据库了,过不去了

  8. John July 30th, 2009 at 1:31 am 8

    @一切
    最好用安装包安装,DNN5.1如果使用AD provider安装的时候有个bug
    另外下次提问时候请说清楚你使用的版本

  9. 罗锣 August 6th, 2009 at 8:23 pm 9

    5.1直接下载安装包安装就可以了吧?不需要再下载升级包了吧??

  10. John August 8th, 2009 at 12:08 am 10

    @罗锣
    全新安装直接下载安装包就好了

  11. 罗锣 August 10th, 2009 at 3:07 pm 11

    怎么下载的5.1.0的安装包和我之前下载的5.0.1版本的一模一样?字节数都一样的,而且文件名都是DotNetNuke_Community_05.01.00_Install.zip呢?
    是不是真的5.1.0版本呢?

  12. john August 11th, 2009 at 11:27 pm 12

    @罗锣
    看文件名,
    5.01版是05.00.01_Install
    5.10版是05.01.00_Install

    大小应该是不一样的

  13. 于连 October 31st, 2009 at 9:31 pm 13

    老师,我对编程及HTML语言也不懂,只会点DW,CSS正打算学,能直接上手DNN吗?能用ACCESS作数据库吗?我的空间SQL SEVER还要另加钱,小网站学习用的,不想弄多成本,望老师指点用ACCESS的本机和虚拟空间的确安装方法!

  14. john November 1st, 2009 at 9:40 am 14

    @于连
    你可以把DNN当成一个平台,如果只是操作的话可以直接上手,如果是开发的话那是肯定需要web编程的基础。DNN不支持access数据库, 你可以在本地安装用sql server express 免费版本

  15. yu November 6th, 2009 at 4:58 am 15

    DotNetNuke_Community_05.01.04_Source 在浏览器中浏览 无法显示页面。。
    “/DNN51”应用程序中的服务器错误。
    ——————————————————————————–

    未将对象引用设置到对象的实例。

    抑郁了。

  16. 于连 November 7th, 2009 at 2:56 pm 16

    老师,如果在本机安装好DNN,并添加好所需内容,如何把本地这个测试好的网站移到虚拟空间上去呢?服务器数据库什么的要不少设置吧?

  17. John November 7th, 2009 at 5:18 pm 17

    @于连
    首先你一定要确认虚拟空间满足上面提到的所有的安装需求, 尤其是数据库,和文件读写权限。剩下的就看服务商提供什么样的服务了, 网站文件一般是通过ftp上传,数据库有些是需要把备份发送给服务商他们给还原,有些是可以上传到指定目录通过ssms还原, asp.net网站的设置一般是通过服务商提供的web界面, 有些没有配置界面就要联系他们帮你设置了。

    具体需要设置什么, 参考上面的文章

  18. 于连 November 7th, 2009 at 9:17 pm 18

    安装成功,正在学习站点各种功能设置,先在这里找个入门先学着,有不懂的再请教老师

  19. 于连 November 9th, 2009 at 1:34 am 19

    Dnn前台的页面都是动态的吧?听说动态的页面在搜索引擎上不如静态的,是这样吗?

  20. John November 9th, 2009 at 9:08 pm 20

    @于连
    是动态的,不过没有你说的那会事, 好像我这个blog也是动态的, 你去百度和google搜索一下dotnetnuke,dnnmix的排名都会显示在前面的。

  21. maomao January 22nd, 2010 at 9:29 pm 21

    无法生成 SQL Server 的用户实例。仅集成的连接才可以生成用户实例。该连接将关闭。

  22. jay890512 March 14th, 2010 at 11:33 pm 22

    我装好了 进入了home页后。。那login的链接都打不开啊。。数据库那也改啦。。救命啊

  23. zjk March 17th, 2010 at 3:39 pm 23

    测试数据库连接一直失败什么情况?

  24. John March 18th, 2010 at 12:13 am 24

    @zjk
    很有可能是用户权限设置的问题,用你的用户直接在SSMS里直接登录看看可不可以打开你新建的DNN数据库

  25. John March 18th, 2010 at 12:17 am 25

    @jay890512
    如果你的端口不是80,请看最下面DNN中关于端口的配置

  26. July 7th, 2010 at 2:25 pm 26

    回答5楼的问题,我开始跟你出现了同样的问题,后来发现是因为没装.NET,后来装了个.NET3.5,然后在权限里就能看到ASPNET用户了。

  27. gw880 August 16th, 2010 at 9:29 pm 27

    复制到目录,第一次访问时,提示错误不存在ComponentModel,是怎么回事啊?

  28. e6wacom August 23rd, 2010 at 9:07 pm 28

    为什么我下载的c# 5.4.4版本无法运行呢?
    http://localhost/DotNetNuke_Community_CS

    运行错误:无法再web服务器上启动调试 服务器因语法无效而未能出来调试请求

  29. John August 23rd, 2010 at 11:29 pm 29

    @e6wacom
    如果同样的版本同样的配置vb可以用c#不能用那就是c#的问题了, 毕竟不是官方支持的。 另外还有一个方法是切换为英文安装然后google英文的错误提示, 如果是bug肯定会有人讨论。

  30. John August 23rd, 2010 at 11:30 pm 30

    @gw880
    什么版本,如果是c#版本建议你试试看vb版, 现在最新是5.5

  31. stevenming August 26th, 2010 at 4:33 am 31

    我在虚拟主机安装的时候出现如下错误:

    Upgrading Database to Version 05.02.00…FAILURE ERROR:(see 05.02.00.log for more information)

    我感觉我没有数据库的DBO权限,我查看了我的数据库的拥有者是sa,但是我没有权限修改为我的登录名称,这种情况下我该怎么办才好呢?

  32. John August 27th, 2010 at 1:37 am 32

    @stevenming
    建议你在网站目录里搜索05.02.00.log这个文件,看看里面的错误纪录,找出具体的问题。

  33. yang September 6th, 2010 at 8:57 pm 33

    我在安装过程中出现如下问题:
    由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。


发表评论

footer 1

Copyright © DnnMix : DotNetNuke, DNN技术及应用