Dedecms 搬家安装全流程详解
搬家主要分为三个核心阶段:

(图片来源网络,侵删)
- 准备工作:在新服务器上搭建环境,并下载旧站点的所有文件。
- 上传与配置:将文件上传到新服务器,修改关键配置文件。
- 数据库迁移与修复:导出旧数据库,导入到新数据库,并修复新站点中的数据库连接信息。
第一阶段:准备工作
步骤 1:购买/准备新服务器空间
- 选择服务商:选择一个可靠的主机服务商。
- 配置要求:
- 操作系统:Linux (推荐,更稳定) 或 Windows。
- Web 服务器:Apache (推荐) 或 Nginx。
- PHP 版本:强烈建议 PHP 7.2 ~ 7.4,Dedecms 5.7 对 PHP 8.x 的支持可能不完善,容易出现各种未知错误。
- 数据库:MySQL 5.6+ 或 MariaDB。
- 重要:确保新空间支持
zip、unzip、mysql、mysqldump等命令行工具,这会让操作更简单。
步骤 2:下载旧站点的所有文件
通过 FTP 或主机面板的文件管理器,连接到你的旧服务器,下载 所有文件,这包括:
- 目录下的所有文件夹和文件(如
dede/,data/,images/,uploads/等)。 - 特别注意:
data文件夹非常重要,它包含了核心配置文件,请务必完整下载。
步骤 3:导出旧站点的数据库
这是最关键的一步,数据是网站的灵魂。
- 登录你的旧网站主机控制面板(如 cPanel、宝塔面板等)。
- 找到“数据库管理”工具,通常是 phpMyAdmin。
- 在左侧列表中,选择你的 Dedecms 数据库。
- 点击顶部菜单的 “导出”。
- 在“导出方法”中,选择 “快速 - 显示仅创建表的查询” 或 “自定义 - 显示所有可能的选项”,对于新手,“快速” 即可。
- 勾选 “保存为文件” 选项,并选择压缩格式为 "gzip",这会使导出的
.sql文件体积更小。 - 点击 “执行”,浏览器会自动下载一个
.sql.gz文件,将它保存到你的电脑上。
第二阶段:上传与配置
步骤 4:上传文件到新服务器
- 使用 FTP 工具(如 FileZilla)连接到你的新服务器。
- 将你在 步骤 2 中下载的 所有文件 上传到新空间的根目录(通常是
public_html或www目录)。 - 上传完成后,检查一下文件结构是否和旧服务器完全一致。
步骤 5:修改核心配置文件
这是让新网站知道它“身在何处”的关键。
-
找到配置文件:
(图片来源网络,侵删)- 通过 FTP 或主机面板的文件管理器,进入新站点根目录下的
data文件夹。 - 你会看到一个名为
common.inc.php的文件。这就是核心配置文件。
- 通过 FTP 或主机面板的文件管理器,进入新站点根目录下的
-
编辑
common.inc.php:- 使用代码编辑器(如 VS Code, Sublime Text, 或主机面板自带的编辑器)打开
common.inc.php。 - 找到并修改以下两行代码:
// 数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库服务器,通常都是 localhost,如果不确定,可以问你的主机商 $cfg_dbname = '你的新数据库名'; // 你在新服务器上创建的数据库名 $cfg_dbuser = '你的新数据库用户名'; // 你在新服务器上创建的数据库用户名 $cfg_dbpwd = '你的新数据库密码'; // 你在新服务器上创建的数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,如果和旧站一样,就不用改,如果改了,后面导入数据时要特别注意。 $cfg_db_language = 'gbk'; // 数据库编码,旧站是什么就填什么,通常是 gbk 或 utf8
- 注意:
localhost:99% 的情况下是正确的,除非主机商特别说明。- 新数据库名、用户名、密码需要你在新主机控制面板中先创建好数据库和数据库用户,并赋予该用户对数据库的全部权限。
- 使用代码编辑器(如 VS Code, Sublime Text, 或主机面板自带的编辑器)打开
第三阶段:数据库迁移与修复
步骤 6:创建新数据库并导入数据
-
创建数据库:
- 登录新主机的控制面板。
- 进入数据库管理(通常是 phpMyAdmin)。
- 创建一个新的数据库,数据库名、字符集(必须和旧站一致!,如
utf8mb4_general_ci或gbk_chinese_ci)等设置参考旧站。
-
导入数据库:
- 在 phpMyAdmin 中,选择你刚刚创建的新数据库。
- 点击顶部菜单的 “导入”。
- 点击 “选择文件”,选中你在 步骤 3 中下载的
.sql.gz文件。 - 点击 “执行”,等待片刻,直到导入成功,你会看到数据库中出现了很多以
dede_开头的表。
步骤 7:修改后台目录和更新网站信息
-
修改后台目录(安全起见):
- 默认的后台目录是
dede/,为了安全,建议重命名。 - 通过 FTP,将
dede文件夹重命名为你想要的名字,myadmin或abc123。 - 记住新的后台地址,
http://你的新域名/myadmin/。
- 默认的后台目录是
-
更新网站系统参数:
- 通过浏览器访问你的新网站域名。
- 使用你的旧后台账号密码登录到 新的后台地址。
- 登录后,系统可能会提示你进行“系统基本参数更新”,点击执行。
- 进入 “系统” -> “系统基本参数”,检查并修改以下关键信息:
- 站点根网址:确保是
http://你的新域名/,结尾的 不要漏掉。 - 网站首页:通常是
index.html。 - CMS安装目录:如果修改了后台目录,这里也要改成新的目录名。
- 站点根网址:确保是
- 保存所有修改。
步骤 8:修改全站绝对路径
这是搬家后最常见的问题,表现为图片不显示、链接失效等,Dedecms 提供了批量修改的工具。
-
登录新后台。
-
进入 “系统” -> “SQL命令行工具”。
-
在命令行文本框中,输入以下 两条 SQL 语句(注意:如果你的数据库表前缀不是
dede_,请自行修改!):UPDATE `dede_arctype` SET `typedir` = REPLACE(`typedir`, '旧站点的完整路径', '新站点的完整路径'); UPDATE `dede_archives` SET `arcurl` = REPLACE(`arcurl`, '旧站点的完整路径', '新站点的完整路径');
- 如何填写路径?
- 旧站点路径:
/home/olduser/public_html/或D:/wwwroot/old/,你可以通过查看旧空间include/config.cache.inc.php文件中的$cfg_cmspath值来确认。 - 新站点路径:通常就是 ,即网站的根目录,如果你不确定,可以先不填,或者填 。
- 旧站点路径:
- 如何填写路径?
-
点击 “查询” 或 “执行”,执行成功后,网站内的所有文章和栏目路径就会被批量更新。
第四阶段:最终检查与清理
步骤 9:最终检查与清理
- 前台检查:访问你的网站首页,点击各个栏目、文章,检查链接是否正常,图片是否正常显示。
- 后台检查:登录后台,检查各项功能是否正常,比如发布文章、上传图片等。
- 清理缓存:在后台进入 “系统” -> “系统设置” -> “性能选项”,点击 “清除所有缓存”。
- 删除安装文件:检查网站根目录下是否还有
install/或setup/文件夹,如果有,请立即删除,这是严重的安全隐患。 - 修改后台目录名:再次确认你已经修改了默认的后台目录名,并记住了新地址。
至此,Dedecms 搬家工作全部完成!
常见问题与解决方案
Q1: 网站首页打开是乱码,或者后台是乱码?
- 原因:数据库编码和网站文件编码不一致,或者新服务器环境编码设置错误。
- 解决:
- 检查
common.inc.php中的$cfg_db_language是否正确。 - 检查新数据库的排序规则是否和旧数据库一致(如
utf8mb4_general_ci)。 - 检查网站文件本身是否是 UTF-8 编码(无BOM头)。
- 检查
Q2: 图片不显示,或者点击图片是跳转到旧域名?
- 原因:网站数据中的图片路径还是旧的绝对路径。
- 解决:请务必执行 步骤 8 的 SQL 命令来批量替换路径,这是最有效的解决方法。
Q3: 后台登录提示“验证码错误”?
- 原因:
data目录权限不正确,导致无法生成safeimg.jpg等验证码文件。 - 解决:通过 FTP 工具,将整个
data目录的权限设置为 755(Linux 下),如果还不行,可以尝试将data目录下的所有文件权限设置为 644。
Q4: 数据库导入失败,提示“... near '...' at line ...”?
- 原因:通常是编码问题,旧数据库是
gbk,但新数据库创建时选择了utf8,或者反之。 - 解决:重新创建一个编码正确的数据库,然后重新导入数据。
Q5: 搬家后网站访问很慢,或者打开空白页?
- 原因:PHP 版本不兼容,Dedecms 5.7 对 PHP 8.x 的支持很差。
- 解决:联系你的主机商,将 PHP 版本降级到 PHP 7.2, 7.3 或 7.4,这通常能解决大部分奇怪的问题。
希望这份详细的教程能帮助你顺利完成 Dedecms 的搬家工作!
