MDClub – 又一个论坛系统

MDClub 是一个漂亮、轻量的开源社区系统。它运行快速且易于使用,完全具备一个成熟社区所需的功能。它的特性包括:

  • Material Design 设计语言
  • 响应式设计
  • 超级轻量级
  • 自动适配暗色模式
  • 单页面应用,且完美支持 SEO
  • 定制的富文本编辑器
  • 方便安装
  • 强大的 Restful API 接口
  • OpenAPI 规范的文档
  • 多平台 JavaScript SDK

试用了一下,页面设计确实好看,部署过程也相对简单,只是官方给出的安装手册比较简洁,没有详细步骤

本文将展示如何搭建 MDClub 开源论坛系统

环境

  • Debian 10
    • PHP 7.4
    • MySQL 8
    • Nginx

参考

步骤

安装 PHP 和 MySQL

详见前文 Set up MediaWiki with PHP7.4, nginx and MySQL 中 Install the latest PHP 和 Setup MySQL 小节

这里为方便阅读,复读一遍指令(以下指令均在 root 用户下执行)

  1. 安装 PHP
    • 添加并更新源
      apt -y install lsb-release apt-transport-https ca-certificates 
      wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
      echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
      apt update
    • 安装 PHP 以及 MDClub 所需组件
      apt install php7.4 php7.4-fpm php-gd php-json php-curl php-mysql
    • 检查 php-fpm 运行状态
      systemctl status php7.4-fpm
  2. 安装MySQL
    • 添加并更新源
      wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
      dpkg -i mysql-apt-config*
      apt update
    • 安装 MySQL 8
      apt install mysql-server

      安装时会提示为 root 用户设置密码

    • 检查 MySQL 运行状态
      systemctl status mysql-server

创建 MDClub 数据库

  1. 登录 mysql
    mysql -u root -p
  2. 创建数据库 mdclub
    create database mdclub;
  3. 更改数据库默认字符集、编码
    • 官方安装手册建议数据库编码设置为 utf8mb4_general_ci
    • 执行指令
      ALTER DATABASE mdclub CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
  4. 查看数据库字符集、编码
    show variables like "character_set_database";
    show create database mdclub;

获取 MDClub

  1. 下载并解压 MDClub
    wget https://cdn.w3cbus.com/mdclub.org/mdclub-v1.0.0.zip
    unzip mdclub-v1.0.0.zip -d mdclub

    如果有新版本发布则替换链接

  2. 更改目录权限
    • 根据 MDClub 安装手册,需要更改以下目录权限
      cd mdclub
      chmod -R 755 ./config ./var ./public/sitemap ./public/upload
    • 因为使用了 root 用户,我这里还更改了 mdclub 目录的所有权,将其交给 nginx 用户 www-data
      chown -R www-data:www-data mdclub/
  3. MDClub 最终目录权限

配置 Nginx

Nginx 直接使用系统包管理安装即可

  1. 在 /etc/nginx/sites-available 下新建配置文件 mdclub,添加以下内容
    server {
        listen 80;
        server_name mdclub;
    
        index index.php;
        root /var/www/mdclub/public;
    
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
    
        include /var/www/mdclub/.nginx.conf;
    }

    注意 root 路径为 /mdclub/public,不是 mdclub 根目录
    include 后的路径为 mdclub/.nginx.conf,是 MDClub 自带的Nginx URL 重写文件,需要引入到配置文件中

  2. 启动 Nginx
    # 测试配置文件
    nginx -t
    # 无误后重新载入 nginx
    nginx -s reload

安装 MDClub

经过以上步骤,浏览器访问服务器 IP 即可开始安装 MDClub

确认运行环境

输入数据库服务器地址、数据库名称、数据库用户名和密码(这里为方便演示使用了 root 用户,安全起见请为 mdclub 数据库新建用户)

输入管理员信息

安装完成

效果

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据