文:iJOE(info@aaronbbs.com),请转载是保留作者信息,多谢!
使用LeoBBS(雷傲)论坛已经差不多有4年了,在这4年里面可以说伴随着雷傲走过了风风雨雨,也经历过多次较大的技术性升级。跟随着官方网站一步步升级上来。想当年网络上至少80%网站都是使用雷傲论坛的场景....笔者在这里不是感叹雷傲现在技术和普及率的落寞,而是感叹大家的观念,到底是什么适合自己?难道就是跟随流行?ASP真的就是好?CGI就意味着过时??CGI就意味着占用主机资源?在这我要给雷傲正身!我目前的虚拟主机使用雷傲3年了,用户达几万人,平均在线百人左右的论坛,跑雷傲也没说因为空间商因为我的虚拟主机占用过多资源而关闭!而且访问速度也不差。PS:使用的是商务中国论坛主机linux。iJOE认为雷傲唯一的缺点,也是优点就是因为它使用了文本作为数据存放方式。好处就是无论数据怎样丢失或损坏,不存在数据库崩溃的危险;缺点就是数据备份起来和查寻起来略微慢了些。
每个论坛都有自己的优点和缺点,所以不比较他们,平台不同,自然没有一个衡量的标准。iJOE只能说雷傲和Discuz都是最优秀的!我不是任何人的枪手,也没有跟谁做广告的义务和想法,如文章中提到的公司或相关信息,均为本人使用过的,验证过的信息,仅供大家参考。
出于一些原因,我要将雷傲转换为Discuz论坛。Discuz免费开源对于我们来说的确是个喜事,高效和用户权限的Discuz的最大优点(别说我说的片面,我是这样认为的,呵呵)这次转换历程非常艰辛,几乎没有人来帮我,只有自己在论坛里拼命的寻找相关帖子。有一些转换成功的人只是在别人帖子里面说自己转换成功,用了几种方法,而具体的却没说怎样操作,真的找他转换,却说要收钱!鄙视!!网络本身是一个免费开放的交流场所,你既然不愿意跟别人分享你的成功干什么要说出来气别人呢?是你幸运还是我们不如你呢??人家Discuz论坛都开源了,你使用着别人编好的转换程序转换成功了还不跟别人来分享..... 不多说了,我就是希望这里的氛围能更好一些,而不是发帖没人回复。
废话一堆,iJOE现在回来开始说转换吧^&^
首先iJOE要说:“不要认为最新的就是最好的,就是最合适的!”记住这句话能帮助大家少走不少弯路,这都是我的经验!!切记呀广大的难友们(如果你因为转换数据遇到疑惑而看我的铁,那么我们握握手,希望你能从我的帖中找到你需要的答案,那么我十分荣幸)
1,转换之前当然是要备份原来论坛的数据了,只要备份用户数据和需要转换的论坛数据即可,然后下载回本地进行转换。(为何不在服务器上?你说呢,还是为了提高效率减少失败的次数,保证数据安全)
2,下载Leobbs X最新版(或使用你目前的版本);下载Discuz2.5F(Discuz2.5F/sp1也可以,没有具体版本要求);下载Discuz4.0.0;下载Discuz4.1.0;下载转换升级程序lb32discuz4.0、lb32todz25、upgrade25to4(请自己在论坛里面搜索)。
3,下载Mappm-Server v1.1.9 Final,直接默认安装即可。这是一个Apache+PHP+CGI+MySQL+Zend+phpMyAdmin环境包,安装后不用作任何调整。
使用程序版本:
Apache v1.3.31 (Win32) mod_gzip v1.3.26.1a
PHP v4.3.9 (Win32)
Zend Optimizer v2.5.5 (Win32)
MySQL v4.0.21 (Win32)
ActivePerl v5.8.4.810 (Win32)
phpMyAdmin v2.6.0 pl 2
目录简要说明:
D:\usr\ 套件安装目录
+--\bin\ ActivePerl解释器目录
+--\local\ 程序目录
+--\apache\ Apache程序目录
+--\mysql\ MySQL程序目录
+--\data\ MySQL程序数据目录
+--\php\ PHP解释器目录
+--\zend\ Zend Optimizer程序目录
+--\www\ 网站目录
+--\html\ 网站根(/)目录
+--\phpmyadmin\ phpMyAdmin 目录
+--\cgi-bin\ /cgi-bin/ 目录
看到这里有人会说,官方已经出过discuzexp系列环境体验包,为何要使用你介绍的这个?呵呵,这就是成功的关键,有没有忘记我开篇写的一句话:“不要认为最新的就是最好的,就是最合适的!”.....
看这里:
Discuz所需配置:
操作系统-不限
PHP版本-4.0.6+
MySQL版本-3.23+
Discuz最佳配置:
操作系统-UNIX/Linux/FreeBSD
PHP版本-4.3.5+
MySQL版本-4.0.18
按照这个要求,乖乖的对照一下你的PHP和MySQL版本吧,也就是说,PHP版本要在4.0.6><5.0之间(不包括);MySQL版本要在3.23><4.1之间(不包括)。所以Mappm-Server v1.1.9 Final这个版本正好适用!如果PHP高于5.0版会在Discuz2.5升级4.0的时候出现“Errno.: 1067”;MySQL版本如果高于4.1会在转换之后出现“??乱码”致使转换成功也无法正常浏览。
4,把下载回来的LeoBBS X解压,安装设置好论坛,然后把数据还原回来,整理用户帖子,重新计算帖数等。安装设置好Discuz4.0.0。
5,设置好lb32discuz4.0里面的路径和数据库相关参数,复制转换程序文件到Discuz4.0.0所在目录,到运行lb32discuz4.0,把Leobbs X数据转换为Discuz4.0.0。如果用户名不存在乱码和错误,将在N步之后转换成功!恭喜你!!再升级到4.1.0就可以了(怎么升也要我讲么呵呵)。 如果在第一步转换用户数据的时候就无法完成,失败?不要着急,这说明幸运之神同样没有光顾你,跟我一样,转换过程要再复杂一些 :) 别怕,继续看@!@
6,安装设置好Discuz2.5(2.5F/2.5F sp1都可以)设置好lb32todz25里面的路径和数据库相关参数,复制转换程序文件到(2.5F/2.5F sp1)所在目录,运行lb32todz25,把Leobbs X数据转换为Discuz2.5(2.5F/2.5F sp1)。在N步之后转换成功!恭喜你!!
7,进入Discuz2.5首页,这时候就可以用你在LeoBBS X里面的管理员登陆论坛了,设置好之后,在后台升级Discuz2.5(2.5F/2.5F sp1)的数据库。执行sql语句:
- UPDATE cdb_settings SET value='2.5' WHERE variable='version';
复制代码
8,把Discuz4.0.0的所有文件复制到Discuz2.5(2.5F/2.5F sp1)的目录中,覆盖。修改config.inc.php文件中的数据库密码等参数。设置好upgrade25to4里面的路径和数据库相关参数,复制升级程序文件到(2.5F/2.5F sp1)所在目录,运行upgrade25to4将Discuz2.5(2.5F/2.5F sp1)升级到Discuz4.0.0。
如果看到这里,一路做到这里你还没成功? 那你就再仔细的做一次,看看中途有没有忽略的地方。
9,进入后台,备份好已经转换过来的宝贵数据!!啦-啦--啦---!!!
10,升级成功后, 再请用下面的代码来匹配upload标签,否则有些附件无法显示。打开./include/discuzcode.func.php文件查找到:
- for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
- $message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
- }
复制代码
在上面加上
- //LeoBBS X转换数据后专用 $tid是你主题的最大id
- global $fid,$tid;
- if ($tid < 11253) {
- $lbfilepath = './attachments/lbupfile/';
- $message = preg_replace(array(
- "/\[UploadFile=([^\[]+?)\.(gif|jpg|png|bmp|jpeg)\]/ies",
- "/\[UploadFile=(.*)\]/ies"),
- array(
- "bbcodeurl('\\1', '<center><img src="".$lbfilepath.$fid."/\\1.\\2" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'Click here to open new window\';}" onmouseover="if(this.resized) this.style.cursor=\'hand\';" onclick="if(this.resized) {window.open(\'%s\');}"></center><br>')",
- "bbcodeurl('\\1', '【<a href="".$lbfilepath.$fid."/\\1" target="_blank" style="color:#0000FF;font-weight:bold">点击下载文件</a>】')"),
- $message);
- }
- unset($fid,$tid,$lbfilepath);
- //LeoBBS X转换数据后专用
复制代码
在后台升级Discuz4.0.0的数据库。执行sql语句:
- SELECT MAX(tid)
- FROM cdb_threads;
复制代码
11,把Discuz4.1.0的所有文件复制到Discuz4.0.0的目录中,覆盖。修改config.inc.php文件中的数据库密码等参数。设置好upgrade6.php里面的路径和数据库相关参数,复制升级程序文件到Discuz4.0.0所在目录,运行upgrade6.php将Discuz4.0.0升级到Discuz4.1.0。
12,作最后的调整,备份所有数据库。
13,用FTP将最新版Discuz4.1.0上传到你的空间,调整安装之后,恢复数据即可!!!
OH! YEAH!! 写的过程有点粗,但是稍微有一点常识的人都能看懂,如果看不懂,我也不会来解答了。已经说的很清楚明白了,不是么,作为站长自己也应该有一些学习和钻研的精神么,我都帮你嚼烂了,你还能得到营养么?
如果你认为这篇文章对你有很大帮助,那么请赞助一下小弟的空间,我的支付宝是 info@aaronbbs.com 赞助多少钱都可以,5元,10元的呵呵;如果有一点点帮助,可以帮我顶顶帖,支持一下^&^ 当然也可以回帖骂我。不过无所谓了,如果你认为对你有帮助就给我点资助,我不指望有人真的资助我,但是我能体会到自己调试时候的那种希望和绝望,如果在那个时候如果有人说5元给你一个肯定可行的方案,我会答应的(调试的时候浪费的网费和电费也不只这么少吧)!那你呢?试过之后才知灵不灵,如果你成功了,同时在你喜悦还没有完全蜕干净的时候,资助一下吧。 哈哈 :) 发帖出来就意味着我要把我知道的分享出来,所以你-喜-欢-就-好!!!我们都因网络而快乐着!!!!
菜鸟iJOE之奋斗4天之成果,多谢观赏 |