第一步:准备工作(在服务器上操作)

在开始安装 Dedecms 之前,请确保你的 Linux 服务器已经满足以下基本要求。

dedecms linux安装教程
(图片来源网络,侵删)

系统要求

  • 操作系统: CentOS 7/8, Ubuntu 20.04/22.04 或其他主流 Linux 发行版。
  • Web 服务器: Apache 2.4+ 或 Nginx 1.18+
  • 数据库: MySQL 5.7+ 或 MariaDB 10.2+
  • PHP: PHP 7.2+ (推荐 7.4,因为 Dedecms 5.7 对 PHP 8.x 的支持可能存在部分问题,请务必在安装前查看官方最新文档确认版本兼容性)
  • PHP 扩展: mysqli, gd, curl, openssl, mbstring, zip, xml, pdo_mysql 等。

连接到服务器

使用 SSH 客户端(如 PuTTY、MobaXterm 或终端)连接到你的 Linux 服务器。

ssh root@your_server_ip

更新系统

安装任何软件前,建议先更新系统软件包到最新版本。

对于 CentOS / RHEL / Fedora:

yum update -y

对于 Ubuntu / Debian:

dedecms linux安装教程
(图片来源网络,侵删)
apt update && apt upgrade -y

第二步:安装 LAMP / LNMP 环境

这里我们提供两种最常见环境的安装指南,你可以根据自己的选择选择其一。

方案 A:安装 LAMP 环境 (Apache + MySQL + PHP)

安装 Apache

# CentOS
yum install httpd -y
# Ubuntu
apt install apache2 -y

启动 Apache 并设置开机自启:

# CentOS
systemctl start httpd
systemctl enable httpd
# Ubuntu
systemctl start apache2
systemctl enable apache2

你可以通过浏览器访问 http://your_server_ip,看到 Apache 的默认欢迎页面,说明安装成功。

安装 MySQL / MariaDB

# CentOS (推荐使用 MariaDB, MySQL 的分支)
yum install mariadb-server mariadb -y
# Ubuntu
apt install mysql-server -y

启动数据库服务并设置开机自启:

# CentOS
systemctl start mariadb
systemctl enable mariadb
# Ubuntu
systemctl start mysql
systemctl enable mysql

安全配置数据库 运行安全脚本,它会帮你设置 root 密码、移除匿名用户等。

mysql_secure_installation

根据提示操作:

  • 输入当前 root 密码(首次安装为空,直接回车)
  • 设置 root 密码 (Y)
  • 移除匿名用户
  • 不允许 root 远程登录 (根据你的安全需求选择,通常选 Y)
  • 移除 test 数据库
  • 重新加载权限表

安装 PHP 及其扩展

# CentOS (需要先安装 EPEL 源和 Remi 源以获取新版 PHP)
yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --enable remi-php74  # 这里以 PHP 7.4 为例,可根据需要切换版本
yum install php php-mysql php-gd php-curl php-openssl php-mbstring php-xml php-zip -y
# Ubuntu
apt install php php-mysql php-gd php-curl php-openssl php-mbstring php-xml php-zip -y

重启 Apache 使 PHP 生效

# CentOS
systemctl restart httpd
# Ubuntu
systemctl restart apache2

方案 B:安装 LNMP 环境 (Nginx + MySQL + PHP)

安装 Nginx

# CentOS
yum install nginx -y
# Ubuntu
apt install nginx -y

启动 Nginx 并设置开机自启:

systemctl start nginx
systemctl enable nginx

访问 http://your_server_ip 看到 Nginx 欢迎页面,说明成功。

安装 MySQL / MariaDB 此步骤与 LAMP 环境中的步骤完全相同,请参考上文。

安装 PHP 及其扩展 (FPM 版本) LNMP 环境通常使用 PHP-FPM (FastCGI Process Manager) 来处理 PHP 请求。

# CentOS (同样使用 Remi 源)
yum install php php-fpm php-mysql php-gd php-curl php-openssl php-mbstring php-xml php-zip -y
# Ubuntu
apt install php php-fpm php-mysql php-gd php-curl php-openssl php-mbstring php-xml php-zip -y

配置 Nginx 支持 PHP 编辑 Nginx 的默认站点配置文件。

vi /etc/nginx/sites-available/default

找到类似 location / 的块,并修改或添加以下配置来处理 PHP 文件:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 注意这里的路径,Ubuntu 通常是 /run/php/php7.x-fpm.sock,CentOS 通常是 127.0.0.1:9000
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
}

注意: fastcgi_pass 的路径取决于你的 PHP-FPM 安装配置,CentOS 7 默认是 TCP (0.0.1:9000),Ubuntu 默认是 Unix Socket (/run/php/php7.4-fpm.sock),请检查 /etc/php/7.4/fpm/pool.d/www.conf 文件确认。

重启 Nginx 和 PHP-FPM

systemctl restart nginx
systemctl restart php7.4-fpm # 注意版本号

第三步:创建数据库和用户

Dedecms 需要一个独立的数据库来存储内容。

  1. 登录到 MySQL/MariaDB:

    mysql -u root -p

    输入你之前设置的 root 密码。

  2. 执行以下 SQL 命令(请替换 your_db_name, your_db_user, your_password 为你自己的信息):

    CREATE DATABASE your_db_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE USER 'your_db_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON your_db_name.* TO 'your_db_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

第四步:上传 Dedecms 安装包

  1. 下载 Dedecms 访问 Dedecms 官网 https://www.dedecms.com/ 下载最新版本的安装包(通常是 .zip 格式)。

  2. 上传到服务器 你可以使用以下几种方式上传:

    • SCP / SFTP: 使用 FileZilla、WinSCP 等图形化工具,将下载的 dedecms 压缩包上传到服务器的 /var/www/html/ 目录下。
    • 使用 wget: 如果你有直接下载链接,可以在服务器上直接下载。
      cd /var/www/html/
      wget https://updatenew.dedecms.com/base/v57/DedeCMS-V5.7-UTF8-SP2.zip
  3. 解压并设置权限

    # 进入网站根目录
    cd /var/www/html/
    # 解压
    unzip DedeCMS-V5.7-UTF8-SP2.zip  # 替换成你的文件名
    # 如果是 tar.gz 格式
    # tar -zxvf dedecms.tar.gz
    # 将解压出的文件移动到根目录(如果解压后多了一层文件夹)
    # 解压后是 dedecms/ 文件夹,里面是所有文件
    # mv dedecms/* .
    # mv dedecms/.* . 2>/dev/null || true
    # 删除压缩包和解压后的空文件夹
    rm -rf DedeCMS-V5.7-UTF8-SP2.zip dedecms/
    # 设置正确的权限
    chown -R apache:apache /var/www/html/  # LAMP 环境
    # chown -R www-data:www-data /var/www/html/ # LNMP 环境 (Ubuntu)
    # chown -R nginx:nginx /var/www/html/ # LNMP 环境 (CentOS)
    # 给目录和文件设置 755 和 644 权限
    find -type d -exec chmod 755 {} \;
    find -type f -exec chmod 644 {} \;
    # 给 data, uploads, templets 等需要写入权限的目录设置 777 权限(仅限安装时,安装后建议改回 755)
    chmod -R 777 data/ uploads/ a/ templets/ special/  # 根据实际情况调整目录

第五步:通过 Web 界面安装 Dedecms

打开你的浏览器,访问 http://your_server_ip/install/index.php

  1. 环境检测 安装程序会自动检测你的服务器环境(PHP, MySQL, GD 等),如果所有项目都显示“√”,则环境符合,如果有“×”,请根据提示返回第四步检查并安装相应的 PHP 扩展。

  2. 同意协议 点击“同意”按钮。

  3. 填写数据库信息

    • 数据库主机: localhost
    • 数据库端口: 3306
    • 数据库名: 你在第三步创建的数据库名 (your_db_name)
    • 数据库用户名: 你在第三步创建的用户名 (your_db_user)
    • 数据库密码: 你在第三步设置的密码 (your_password)
    • 数据表前缀: 默认 dede_ 即可,保持默认以避免冲突。
    • 管理员账号: 设置你的后台登录用户名。
    • 管理员密码: 设置一个复杂的后台登录密码。
    • 网站名称: 你的网站名称。
  4. 开始安装 点击“开始安装”,程序会自动创建数据表并写入初始数据。

  5. 安装完成 安装成功后,会提示你删除 /install/ 目录,这是非常重要的安全步骤!

    rm -rf /var/www/html/install/

    为了安全,请将 data 目录的权限从 777 改回 755

    chmod -R 755 data/

第六步:访问和管理

  • 前台网站: 直接访问 http://your_server_ip
  • 后台管理: 访问 http://your_server_ip/dede (或你自定义的目录),使用你刚才设置的管理员账号和密码登录。

常见问题与排错

  • 安装时提示 目录无写入权限:请返回第四步,确保 data, uploads 等目录的权限为 777,或者正确设置了所有者和组 (chown)。
  • 安装后页面显示乱码:检查数据库创建时是否指定了 utf8mb4 字符集,并且在安装时选择了正确的编码。
  • 无法进入后台:检查后台目录名是否正确,确认管理员账号密码无误,检查 /data/adminsafe 目录是否存在,config_safe.php 文件是否可读。
  • 页面显示 404 Not Found
    • Apache: 检查 httpd.conf 中是否开启了 mod_rewrite 模块,并检查网站目录下的 .htaccess 文件是否正确。
    • Nginx: 检查 Nginx 配置文件中是否包含了处理 index.phplocation 块,try_files 指令配置正确。

至此,你已经成功在 Linux 服务器上安装了 Dedecms,祝你建站愉快!