注意!自上次更新已有 553 天,文章的内容可能已过时。

电教管理员说到做到!

MDClub 是一款基于Material Design的现代化开源论坛系统,具有以下亮点:

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

MDClub 漂亮、轻量且好用 ,它能让在线讨论变得更加轻松愉悦

准备工作

注意:本教程使用 Nginx 作为反代服务器,若使用Apache请参考官方文档

演示服务器配置如下:

系统环境:Ubuntu 22.04.3 LTS
储存:8GB
内存:1GB
shell:fish

MDClub是非常轻量的,通常情况下,有演示服务器的配置就可以流畅运行了。

准备好了吗?起飞~

安装依赖以及配置

首先保持软件包缓存及软件包最新

shell
1
sudo apt update && sudo apt upgrade

PHP环境配置

安装php及相关模块

MDClub支持的php版本是7.2~7.4,ubuntu focal仓库的 php 软件包刚好对应 php7.4

shell
1
sudo apt install php-fpm php-gd php-xml php-curl php-json php-fileinfo php-pdo php-iconv composer php-mysql php-pdo

检查php-fpm配置

打开php-fpm的配置文件 /etc/php/7.4/fpm/pool.d/www.conf

shell
1
sudo vim /etc/php/7.4/fpm/pool.d/www.conf

检查第36行(或附近)的 listen 值是否为 listen = /run/php/php7.4-fpm.sock
若不符,需要改正为上述所说。

设置php-fpm启动选项

shell
1
2
3
4
#启动php-fpm
sudo systemctl start php7.4-fpm
#设置自启动
sudo systemctl enable php7.4-fpm

Nginx设置

在/etc/nginx/sites-available下创建站点配置文件

shell
1
sudo vim /etc/nginx/sites-available/club

写入以下配置(假设mdclub根目录为 /var/www/club

nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
server{
include /var/www/club/.nginx.conf;
root /var/www/club/public;

listen 80;
listen [::]:80;
server_name _;
index index.php;


##
# SSL Settings
##
#ssl_certificate 你的ssl证书位置;
#ssl_certificate_key 你的证书私钥位置;
#ssl_session_timeout 5m;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#ssl_protocols TLSv1.2 TLSv1.3;
#ssl_prefer_server_ciphers on;

#listen 443 ssl;
#listen [::]:443 ssl;

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}

测试配置并重载nginx:

shell
1
2
nginx -t
sudo service nginx reload

数据库

MDClub对于数据库的要求是 mysql 或者其开源替代品 MariaDB

安装

我使用了MariaDB(占用内存少)

shell
1
2
3
4
5
# 安装MairaDB
sudo apt install mariadb-server
# 持久化运行
sudo systemctl enable mariadb
sudo systemctl start mariadb

更改用户密码

MariaDB安装完成后,会创建一个默认用户 root 。为确保安全性,我们需要修改其密码。

plaintext
1
2
3
4
5
6
# 进入MariaDB
sudo mysql
# 修改密码
set password for root@localhost = password('你的新密码');
# 退出数据库
exit;

创建站点数据库

之后我们需要创建数据库,名称以 mdclub 为例
进入数据库:

shell
1
mysql -u root -p

创建新数据库:

sql
1
create database mdclub collate = 'utf8mb4_general_ci';

本文分为两章讲解,下一张正在编写中!!