|
|
| 热门搜索 | 曼波虚拟主机 多线主机 主机租用 主机托管 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 = ""; $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 删除 Discuz 用户表记录
DELETE FROM cdb_members; DELETE FROM cdb_memberfields;
- 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.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 语句
- 2.1 删除 Mambo 用户表记录
DELETE FROM mos_users; DELETE FROM mos_core_acl_aro; DELETE FROM mos_core_acl_groups_aro_map;
- 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;
- 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;

";
$Web_Down_Path = "