电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2674|回复: 1

真是千辛万苦—DNN05.01.04虚拟主机部署全记录

[复制链接]
admin 发表于 2011-12-25 22:44:31 | 显示全部楼层 |阅读模式
大概2个月前开始学习DNN,对这个从未碰过的东西有一种莫名的神圣感,国外那么流行,为什么在国内的声音就那么小?这东西究竟如何呢?带着强烈的好奇心我开始了DNN的征程。经过一段时间的本地安装,学习,本地重新安装,试做一个Demo网站后,我开始打算将其部署在虚拟主机上。
1、购买域名及空间、数据库。空间版本是.Net 2.0 +Ms Ajax 1.**(反正都不是3.5的)。空间和数据库不是一家服务商的,这也为后来的安装带来不少麻烦。由于域名备案未下来,服务商给了一个三级域名showker.ly251.cxhost.cn临时给你用。这个三级域名后来也把我弄晕了。
2、上传DotNetNuke_Community_05[1].01.04_Install整个文件到空间。然后打开showker.ly251.cxhost.cn开始提示你安装,选择中间的typical(典型安装)。下一步就开始安装后不久,出现如下js错误:Sys未定义,Type未定义,开始以为是主机上没有装MS Ajax,问了一下,对方说装了,我就纳闷了,后来突然想起原来用这个服务商的三级域时也出现过js引用不到的问题(那时是asp系统,没有什么axd的引用),难道还是这个老问题,看了一下js的引用,都是src="/***.axd"或者是src="/js/dnn.js",开始怀疑是不是稀有资源.axd找不到?但是上次也没有用到axd什么的,js也引用不到,怀疑是不是路径问题。按理说“/”是回到根目录,难道三级域名就不是回到根目录?搞不明白,直接问服务商,过了几分钟服务商说好了,请我测试,我试了一下,Js错误没有了!!!既然我这边没有任何改变,那肯定是服务器上做了修改了,具体改了什么,我也搞不清楚。
那第二步好了,到下一步填写数据库链接,用户名,密码什么的,测试了一下连接,提示成功,直接下一步开始安装数据库了,一会儿就报错了,如下图。

到Google里搜索了一下“Thread was being aborted”,大概了解了一下,可能是web.config里httpruntime节里的executionTimeout的设置问题,默认是60妙还是
什么的?那是不是因为数据库服务器和空间不在同一个服务器上,导致安装数据库超时呢?直接修改为600秒,在那苦等啊,不报这个错了,看一下数据库,表也有了,存储过程也有了,角色什么的都有了,但是就是等不到安装成功的提示,最后还是来了一个failure.不甘心,重复刷新此页面好多次,还是不能进行到下一步。唉,彻底失望。
但是活人不能被尿憋死啊,既然在线不能安装,我在本机先安装好,再把文件都传到空间里,不一样吗?就这么干,在本机XP的用IIS5建立虚拟目录,然后浏览首页,
开始安装,终于数据库安装好了,下一步下一步,一切都OK了。哈哈。本机装好了,然后开始传到空间上去,同时把数据库里的httpalias字段的值修改为showker.ly251.cxhost.cn,因为在本地安装的,它的值就是localhost。所以要修改。一切OK。打开IE流量,就看见滚动条一直增加,就是不见页面出来,我急啊,用httpwatch看一下包的情况,吓我一跳哦,一直在get,get首页,都get了62次了?!!!这就是另一个常见的问题Redirect Loop(重定向循环)。还是Google一下,说是System.web.extension的版本问题,看了一下web.config都是3.5的版本,心想我弄个3.5版本的System.web.extension.dll到bin里不就行了(官方的bin里是1.0.6.。。版本),我给它替换成3.5版本,重新流量页面,直接页面报错,说找不到什么assebly,我想dll都传上去跟web.config一致了,还不行啊?google一下,找到一个解决方案,说要么让服务器装.3.5框架,要么将web.config里的system.extension版本换成与服务器一致的。选择了后一种方案,心想先自己解决,实在不行在让服务商装3.5框架(还没怎么了解呢,人家估计也不会为了你一个,给你装)。好,把web.config里所有涉及到extenstion的3.5版本换成1.0.61025.0.,但是这几个System.Core,System.Xml.Linq,System.Data.DataSetExtensions,System.Data.Linq还是不动,都是3.5里的。这样替换后浏览一下,报上述几个assembly找不到,嘿,服务器没装.3.5.咋办?只好把本机的这几个dll通过引用放到bin里(记得要在属性里“复制到本地”选择“true”,不然生成时bin里也找不到这几个文件)。好了,上传完这几个dll.重新启动一下网站,打开首页,一会儿页面终于出来了。部署到此结束。
总结DNN的安装,几个地方注意:
1、三级域名导致这样的“src=/dnn/dnn.js”这样的Js路径失效的问题。在Google上也碰到过类似的错误,但是不知什么原因,对IIs的配置不了解,对3级域名的原理更是不了解,还请各位指教。为什么呢?
2、重定向循环(Redirect Loop)。虽说是DNN的一个bug,但是还是因为对Ms Ajax的版本不熟悉的原因。后来者注意要保持服务器与web.config里版本一致。
现在想想当初在线安装不成功提示undefined success的错误,想必也是这个Ms Ajax版本的问题。
3、安装数据库时的循环undefine success 错误。还是Ms Ajax版本不一致的问题。
4、找不到assembly之类的错误。bin引用的dll没有复制到本地,服务器如果没装这个命名空间所属版本的FrameWork,你用GAC当然没有用了,必须要复制到本地。
学习DNN不容易,部署DNN也不容易,百度搜索这些错误少的可怜,只能去google搜,硬啃那让我快吐的英文。好累,好苦。。。。。
对于DNN,只有一句话:不要相信哥,哥只是个传说,毕竟是社区版本,你想直接拿来安装使用?唉,故意拿我们这些吃免费餐的开玩笑。

最后推荐几个学习Dnn的网站:
国内的:http://www.dnnmix.com/(启蒙老师啊,感谢jhon,感谢您的汉化)
国外的:http://www.dnncreative.com/ (里面有很多flash视频学习资料,很全面,我看了很多,很有帮助,这些视频连dnn官网都没有。。。唉。。。)

DNN,我要与你奋战到底。。。。


xiaobai11 发表于 2012-3-29 17:45:39 | 显示全部楼层
呵呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-3-29 03:12 , Processed in 0.073579 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表