曼波建站搜索
热门搜索  曼波虚拟主机  多线主机  主机租用  主机托管  VPS 主机  智能建站  自助建站  曼波建站培训

Mambo中国 4523 升级到 453h 实战

Wikipedia,自由的百科全书

Mambo中国网站于 2006年1月11日成功升级,由原来的 Mambo4.5.2.3 简体中文黄金版 + Phpbb2.0.17 + Mediawiki1.4.0 升级到 Mambo4.5.3h 全球版 + Discuz4.0.0 + Mediawiki1.5.5。

我进行重大的变动,一般都是先在本地建立几乎一模一样的测试环境,先在本地进行升级演练,边总结边记录,直到确认成功后,才在服务器进行实际的操作。

以下是我的升级笔记,公布出来,供大家学习参考。

注:我本地的mysql系统用户/密码是: root/root


 mambochina.net 网站升级
 创建: 2006-01-10
 修改: 2006-01-11
 至关重要:先备份网站文件和数据库!
 关闭 Mambo 网站


 1. 把网站转移到本地,建立测试环境
 需要修改的文件:
 1) configuration.php
 $mosConfig_user = 'root';
 $mosConfig_password = 'root';
 $mosConfig_db = 'mambochina20060109';
 $mosConfig_absolute_path = 'E:/www/mambochina20060109';
 $mosConfig_live_site = 'http://127.0.0.1/mambochina20060109';
 $mosConfig_cachepath = 'E:/www/mambochina20060109/cache';


 2) .htaccess
 RewriteBase /mambochina20060109
 3) components/com_remository/com_remository_settings.php 
 $headerpic = "header.jpg";
 $Web_Down_Path = "http://127.0.0.1/mambochina20060109/downloads";
 $Down_Path = "E:/www/mambochina20060109/downloads";
 $Up_Path = "E:/www/mambochina20060109/downloads/uploads";
 4) addons/phpbb2010/config.inc
 $dbname = 'mambochina20060109';
 $dbuser = 'root';
 $dbpasswd = 'root';
 5) addons/phpbb2010/mamhook.inc
 $MAMBO_ABSOLUTE_PATH = "E:/www/mambochina20060109";
 6) wiki/LocalSettings.php
 $IP = "E:/www/mambochina20060109/wiki";
 ini_set( "include_path", ".;$IP;$IP/includes;$IP/languages" );
 $wgDBname           = "mambochina20060109";
 $wgDBuser           = "root";
 $wgDBpassword       = "root";
 7) wiki/mamhook.inc
 $MAMBO_ABSOLUTE_PATH = "E:/www/mambochina20060109";
 8) 数据库 sql 文件
 /usr/idecom/mambochina.net/ROOT 替换为 E:/www/mambochina20060109
 www.mambochina.net 替换为 127.0.0.1/mambochina20060109
 bbs.mambochina.net 替换为 127.0.0.1/mambochina20060109/addons/phpbb2010
 wiki.mambochina.net 替换为 127.0.0.1/mambochina20060109/wiki


 2. 删除无用的东东
 1) 卸载无用的组件
 akobook, loudmouth, mospray
 2) 删除无用的菜单项
 3) 删除无用的表
 DROP TABLE `mos_glossary`, `mos_loudmouth`, `mos_loudmouth_cache`, `mos_loudmouth_discuss`, `mos_loudmouth_posts`, `mos_mospray_attachments`, `mos_mospray_comments`, `mos_mospray_groups`, `mos_mospray_list_category`, `mos_mospray_list_os`, `mos_mospray_list_resolution`, `mos_mospray_list_tasktype`, `mos_mospray_list_version`, `mos_mospray_notifications`, `mos_mospray_prefs`, `mos_pms`, `mos_userranks`, `mos_users109`;


 3. Mambo4.5.2.3 黄金版升级到 Mambo4.5.3h 全球版
 1) 用 Mambo4.5.3h 全球版的文件覆盖原有文件, installation 目录除外
 2) 编辑 configuration.php, 在 
 $mosConfig_error_reporting = '-1';
 后面增加一行:
 $mosConfig_register_globals = '1';
 3) 增加群发邮件组件菜单项
 INSERT INTO `mos_components` VALUES (0, 'Mass Mail', , 0, 0, 'option=com_massmail&hidemainmenu=1', 'Send Mass Mail', 'com_massmail', 0, 'js/ThemeOffice/mass_email.png', 0, );


 4. Mediawiki1.4 升级到 Mediawiki1.5.5
 1) 改名目录 wiki 为 wiki1
 2) 解压缩 Mediawiki1.5.5 到 wiki 目录
 3) 复制文件 wiki1/LocalSettings.php 到 wiki/ 目录,复制 wiki1/images/* 到目录 wiki/images/
 4) 编辑文件 wiki/LocalSettings.php , 增加 2 行:
 $wgDBadminuser           = "your database user";
 $wgDBadminpassword       = "your database password";
 5) 在命令行中进入目录 wiki/maintenance , 执行命令 /usr/local/php/bin/php update.php ,升级 wiki 数据库
 6) 新安装 wiki ,采用表前缀 mw1_ ,把文件 wiki/config/LocalSettings.php 复制到目录 wiki/ 
 7) 编辑文件 wiki/LocalSettings.php ,表前缀 mw1_ 改回 mw_
 8) 删除所有表前缀 mw1_ 的表


 5. Phpbb2.0.17 换为 Discuz4.0.0
 1) 安装 Discuz4.0.0
 2) 删除无用的 phpbb 栏目
 3) 将原 phpbb 2.0+ 中的附件目录 files 改名为 phpbbfile 然后移动到 Discuz!4.0.0 论坛 ./attachments/phpbbfile 目录中。
 4) 将原 phpbb 2.0+ 中的头像目录 images/avatars/* 移动到 ./customavatars 目录
 5) 转换 Phpbb2.0.17 数据到 Discuz4.0.0,用 Discuz 提供的 phpbb2d4.php 文件来进行
 6) 显示头像:
 update `cdb_memberfields` set avatar = REPLACE(avatar, 'images/avatars', 'customavatars'), avatarwidth = 100 , avatarheight = 100
 where avatar <> 
 7) 设置项目组交流栏目不公开
 8) 调整栏目分类


 6. Mamhoo1.5 升级到 Mamhoo2.0
 1) 卸载 hook_phpbb 1.5
 2) 卸载 hook_mediawiki 1.2
 3) 卸载 com_mamhoo 1.5
 4) 删除 mos_mamhoo 的所有表
 5) 安装 com_mamhoo 2.0
 6) 安装 hook_discuz 2.0, 把 discuz 用户数据转到 Mambo 
 7) 安装 hook_mediawiki 2.0, 把 Mambo 用户数据转到 Mediawiki


后记

 phpbb 转换到 discuz4 后存在的问题
 1) 帖子中的连接都失效了
 2) 帖子的分段失效了,阅读帖子变得很杂乱
 3) 帖子的引用失效了
 
 正寻找解决方法。。。

备注------

Mambo4.5.3 和 Discuz4.0 用户数据转换

根据您的需要,从下面两种方法中选择一种进行用户数据转换

表前缀的约定:在这里,使用系统默认的数据库表前缀,Mambo 的表前缀为 mos_ , Discuz 的表前缀为 cdb_ 。 如果你的表前缀不同,请把以下的表前缀改为你实际的表前缀。

1. Mambo 转到 Discuz

此转换方法以 Mambo 的用户数据为主,原 Discuz 的用户数据将被删除,然后把 Mambo 的用户数据导入 Discuz 中。

使用方法:一次执行以下 1.1 - 1.3 的 SQL 语句

  1. 1.1 删除 Discuz 用户表记录

DELETE FROM cdb_members; DELETE FROM cdb_memberfields;

  1. 1.2 把 Mambo 用户表 mos_users 记录插入到 Discuz 用户表 cdb_members 中

SELECT @groupid := groupid FROM cdb_usergroups WHERE creditshigher<=0 AND 0<creditslower ORDER BY groupid ASC LIMIT 1;

INSERT INTO cdb_members (uid, username, password, secques, groupid, extgroupids, regip, regdate, lastvisit, lastactivity, email, dateformat, showemail, newsletter, timeoffset ) SELECT id, username, password, , CASE `block` when 0 then @groupid ELSE 8 END, , , UNIX_TIMESTAMP(registerDate), UNIX_TIMESTAMP(lastvisitDate), UNIX_TIMESTAMP(lastvisitDate), email, , '1', '1', '9999' FROM mos_users;

INSERT INTO cdb_memberfields (uid) SELECT id FROM mos_users;

  1. 1.3 设置 mambo 的第一个超级管理员为 Discuz 管理员

SELECT @id := id FROM mos_users WHERE gid=25 ORDER BY id ASC LIMIT 1; UPDATE cdb_members SET adminid=1, groupid=1 WHERE uid=@id;


2. Discuz 转到 Mambo

此转换方法以 Discuz 的用户数据为主,原 Mambo 的用户数据将被删除,然后把 Discuz 的用户数据导入 Mambo 中。

使用方法:一次执行以下 3 项 SQL 语句

  1. 2.1 删除 Mambo 用户表记录

DELETE FROM mos_users; DELETE FROM mos_core_acl_aro; DELETE FROM mos_core_acl_groups_aro_map;

  1. 2.2 把 Discuz 用户表 cdb_members 记录插入到 Mambo 用户表 mos_users 中

INSERT INTO mos_users (id, name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params) SELECT uid, username, username, email, password, "", 0, CASE `groupid` WHEN 4 THEN 1 WHEN 5 THEN 1 WHEN 6 THEN 1 WHEN 8 THEN 1 ELSE 0 END, 18, FROM_UNIXTIME(regdate), FROM_UNIXTIME(lastvisit), "", "" FROM cdb_members;

INSERT INTO mos_core_acl_aro (section_value, value, order_value, name, hidden) SELECT "users", id, 0, name, 0 FROM mos_users;

INSERT INTO mos_core_acl_groups_aro_map (group_id, section_value, aro_id) SELECT 18, , aro_id FROM mos_core_acl_aro;

  1. 2.3 设置 Discuz 的第一个管理员 Mambo 超级管理员

SELECT @id := uid FROM cdb_members WHERE adminid=1 AND `groupid`=1 ORDER BY uid ASC LIMIT 1; SELECT @aro_id := aro_id FROM mos_core_acl_aro WHERE value=@id; UPDATE mos_users SET usertype='Super Administrator', gid=25 WHERE id=@id; UPDATE mos_core_acl_groups_aro_map SET group_id=25 WHERE aro_id=@aro_id;

Personal tools