鉴于Discuz!NT惊人的发展速度,实在有违本人对它的期望,也辜负了ASP.Net的优点。所以我决定将现在正在使用的 Discuz!NT 2.6正式版 转换成 Discuz!7.0 正式版。

由于Discuz!NT官方不提供数据库转换程序(官方说法是还没制作出来,不过为什么大家应该可以看出来)。但好在 白天乐 为大家写了一个转换数据库程序。

现在,我就将整个论坛的转换步骤给大家借鉴一下。

首先,来说说原先我使用的环境:我原先的论坛是使用 Windows 2003 标准版 + Discuz!NT 2.6正式版 + MSSQL2005,要是使用MSSQL2000的其实方法也一样,只不过对应要安装2000的数据库系统。

转换完毕后,我现在使用的是 Linux+Apache2+PHP5+MySQL5+Discuz!7.0正式版(GBK),选择GBK的原因主要有二:首先,Discuz!官方使用GBK;其次,可用资源丰富。

废话不多说了,现在开始转换工作:

1.安装虚拟机 Windows 2003 标准版(这里安装双系统亦可),升级SP1,加装MSSQL2005(注意要使用sa用户,用MSSQL2000的数据库这里就安装MSSQL2000);

2.从现有Discuz!NT论坛上后台备份数据库并拷到本地Win2003中,并在MSSQL中还原备份,到这里原论坛数据准备完毕;

3.搭建LAMP环境,由于是只是转换数据,可直接使用Discuz!官方的ComsenzEXP,地址:http://www.discuz.net/thread-223885-1-1.html,注意下载GBK编码的,写本文时ComsenzEXP的版本是2.0.0,安装过程非常简单,就不多说了,装完可用http://localhost/进行访问(好像要加端口号);

4.准备转换工具:下载《Discuz!NT to Discuz7.0论坛转换工具》,作者网站地址:http://www.bbstobbs.com/thread-95-1-1.html,直接下载地址:http://www.bbstobbs.com/downfile/DiscuzNTtoPHP7.rar,写本文时该软件的版本是3.00;

5.开始转换过程:双击打开《Discuz!NT to Discuz7.0论坛转换工具》,填入MSSQL对应sa用户的密码,要转换的数据库名及表前缀,Discuz论坛设置里将端口号改成“6033”,UC表前缀记得要改为“cdb_uc_”!其余可根据需要选择,而后点集确定进入下一步,这步里的选项可根据实际需要选择,再次点击确定就开始转换过程,末了会提示“转换完毕!”;

6.由http://localhost进入Discuz!即可预览转换效果,然后登陆后台,到UCenter中备份数据库文件,这时就会得到类似“090214_F3sdfo-1.sql”这样的备份,将所有备份数据库拷出至一个临时文件夹;

7.到你的空间去安装一个GBK编码的Discuz!7.0(如果需要转换博客或者相册,还要安装UCHome),上传上面得到的备份数据库,到后台–〉工具中恢复分卷数据库(注意这里UCenter要能和Discuz!通信)。至此数据库恢复完成,论坛基本OK了;

8.转移附件、表情。将原论坛的upload目录改名为attachments,覆盖Discuz!7.0论坛下的同名attachments目录即可;将原论坛editor\images\smilies\下的所有文件夹及文件,复制到Discuz!7.0论坛images\smilies文件夹下;如选择转换相册,在UCHome下attachment目录下新建目录space,将原论坛space目录下的upload文件夹复制进去。

9.转移用户组图标,将原论坛images\groupicons下所有图标文件,复制到Discuz!7.0论坛的images/common下。

10.登入Discuz!7.0后台–>界面–>在线列表图标,点击“提交”。

11.登入Discuz!7.0后台,更新缓存。刷新论坛首页面,完成所有转换!告别Discuz!NT。

建议:不要转成UTF-8的,会出现乱码情况和数据丢失问题!

后记:转好了真高兴,稳定运行了两天才来写这个,我的装换效果可见http://www.goours.com,本文可以转载,但请保留本文出处:www.800L.com!)