Dedecms 搬家安装全流程详解

搬家主要分为三个核心阶段:

dedecms搬家安装教程
(图片来源网络,侵删)
  1. 准备工作:在新服务器上搭建环境,并下载旧站点的所有文件。
  2. 上传与配置:将文件上传到新服务器,修改关键配置文件。
  3. 数据库迁移与修复:导出旧数据库,导入到新数据库,并修复新站点中的数据库连接信息。

第一阶段:准备工作

步骤 1:购买/准备新服务器空间

  1. 选择服务商:选择一个可靠的主机服务商。
  2. 配置要求
    • 操作系统:Linux (推荐,更稳定) 或 Windows。
    • Web 服务器:Apache (推荐) 或 Nginx。
    • PHP 版本强烈建议 PHP 7.2 ~ 7.4,Dedecms 5.7 对 PHP 8.x 的支持可能不完善,容易出现各种未知错误。
    • 数据库:MySQL 5.6+ 或 MariaDB。
    • 重要:确保新空间支持 zipunzipmysqlmysqldump 等命令行工具,这会让操作更简单。

步骤 2:下载旧站点的所有文件

通过 FTP 或主机面板的文件管理器,连接到你的旧服务器,下载 所有文件,这包括:

  • 目录下的所有文件夹和文件(如 dede/, data/, images/, uploads/ 等)。
  • 特别注意data 文件夹非常重要,它包含了核心配置文件,请务必完整下载。

步骤 3:导出旧站点的数据库

这是最关键的一步,数据是网站的灵魂。

  1. 登录你的旧网站主机控制面板(如 cPanel、宝塔面板等)。
  2. 找到“数据库管理”工具,通常是 phpMyAdmin
  3. 在左侧列表中,选择你的 Dedecms 数据库。
  4. 点击顶部菜单的 “导出”
  5. 在“导出方法”中,选择 “快速 - 显示仅创建表的查询”“自定义 - 显示所有可能的选项”,对于新手,“快速” 即可。
  6. 勾选 “保存为文件” 选项,并选择压缩格式为 "gzip",这会使导出的 .sql 文件体积更小。
  7. 点击 “执行”,浏览器会自动下载一个 .sql.gz 文件,将它保存到你的电脑上。

第二阶段:上传与配置

步骤 4:上传文件到新服务器

  1. 使用 FTP 工具(如 FileZilla)连接到你的新服务器。
  2. 将你在 步骤 2 中下载的 所有文件 上传到新空间的根目录(通常是 public_htmlwww 目录)。
  3. 上传完成后,检查一下文件结构是否和旧服务器完全一致。

步骤 5:修改核心配置文件

这是让新网站知道它“身在何处”的关键。

  1. 找到配置文件

    dedecms搬家安装教程
    (图片来源网络,侵删)
    • 通过 FTP 或主机面板的文件管理器,进入新站点根目录下的 data 文件夹。
    • 你会看到一个名为 common.inc.php 的文件。这就是核心配置文件
  2. 编辑 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% 的情况下是正确的,除非主机商特别说明。
      • 新数据库名、用户名、密码需要你在新主机控制面板中先创建好数据库和数据库用户,并赋予该用户对数据库的全部权限。

第三阶段:数据库迁移与修复

步骤 6:创建新数据库并导入数据

  1. 创建数据库

    • 登录新主机的控制面板。
    • 进入数据库管理(通常是 phpMyAdmin)。
    • 创建一个新的数据库,数据库名、字符集(必须和旧站一致!,如 utf8mb4_general_cigbk_chinese_ci)等设置参考旧站。
  2. 导入数据库

    • 在 phpMyAdmin 中,选择你刚刚创建的新数据库。
    • 点击顶部菜单的 “导入”
    • 点击 “选择文件”,选中你在 步骤 3 中下载的 .sql.gz 文件。
    • 点击 “执行”,等待片刻,直到导入成功,你会看到数据库中出现了很多以 dede_ 开头的表。

步骤 7:修改后台目录和更新网站信息

  1. 修改后台目录(安全起见)

    • 默认的后台目录是 dede/,为了安全,建议重命名。
    • 通过 FTP,将 dede 文件夹重命名为你想要的名字,myadminabc123
    • 记住新的后台地址,http://你的新域名/myadmin/
  2. 更新网站系统参数

    • 通过浏览器访问你的新网站域名。
    • 使用你的旧后台账号密码登录到 新的后台地址
    • 登录后,系统可能会提示你进行“系统基本参数更新”,点击执行。
    • 进入 “系统” -> “系统基本参数”,检查并修改以下关键信息:
      • 站点根网址:确保是 http://你的新域名/,结尾的 不要漏掉。
      • 网站首页:通常是 index.html
      • CMS安装目录:如果修改了后台目录,这里也要改成新的目录名。
    • 保存所有修改。

步骤 8:修改全站绝对路径

这是搬家后最常见的问题,表现为图片不显示、链接失效等,Dedecms 提供了批量修改的工具。

  1. 登录新后台。

  2. 进入 “系统” -> “SQL命令行工具”

  3. 在命令行文本框中,输入以下 两条 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 值来确认。
      • 新站点路径:通常就是 ,即网站的根目录,如果你不确定,可以先不填,或者填 。
  4. 点击 “查询”“执行”,执行成功后,网站内的所有文章和栏目路径就会被批量更新。


第四阶段:最终检查与清理

步骤 9:最终检查与清理

  1. 前台检查:访问你的网站首页,点击各个栏目、文章,检查链接是否正常,图片是否正常显示。
  2. 后台检查:登录后台,检查各项功能是否正常,比如发布文章、上传图片等。
  3. 清理缓存:在后台进入 “系统” -> “系统设置” -> “性能选项”,点击 “清除所有缓存”
  4. 删除安装文件:检查网站根目录下是否还有 install/setup/ 文件夹,如果有,请立即删除,这是严重的安全隐患。
  5. 修改后台目录名:再次确认你已经修改了默认的后台目录名,并记住了新地址。

至此,Dedecms 搬家工作全部完成!


常见问题与解决方案

Q1: 网站首页打开是乱码,或者后台是乱码?

  • 原因:数据库编码和网站文件编码不一致,或者新服务器环境编码设置错误。
  • 解决
    1. 检查 common.inc.php 中的 $cfg_db_language 是否正确。
    2. 检查新数据库的排序规则是否和旧数据库一致(如 utf8mb4_general_ci)。
    3. 检查网站文件本身是否是 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 的搬家工作!