搭建flarum轻论坛社区系统

搭建Flarum轻论坛社区系统

Flarum 简介

Flarum 资源

安装

手动安装:

查看官方文档: 安装 | Flarum Documentation

Docker 安装(Linux)

环境准备:

centos stream 9 + docker + docker-compose

配置mysql远程访问:

mysql8 的docker-compose.yml

services:
  mysql:
    image: mysql:8.1.0
    container_name: mysql810
    ports:
      - "5308:3306"
    environment:
      MYSQL_ROOT_PASSWORD: xxxx
      MYSQL_DATABASE: flarumbbs
      MYSQL_USER: flarumdb
      MYSQL_PASSWORD: hoeking#1975
    volumes:
      - /home/app/mysqldata:/var/lib/mysql
    networks:
      - mysql_network
    restart: unless-stopped

networks:
  mysql_network:
    driver: bridge

启动mysql

docker-compose up -d 
# 进入mysql的容器
docker exec -it mysql810 bash

mysql -uroot -p
# 使用root登录;xxxxx

alter user 'root'@'%' identified with mysql_native_password by 'xxxxxxx';
alter user 'flarumdb'@'%' identified with mysql_native_password by 'xxxxxx';
flush privileges;

步骤:

1- 安装docker

2- 获取docker 镜像

3- 使用docker-compose 启动docker镜像

1- 安装docker (简略)

2- 获取docker镜像

cd /home/app
mkdir flarum
cd flarum

docker pull mondedie/flarum:latest

3- 使用docker-compose 启动docker镜像

​ 3.1- 编写docker-compose.yml文件

# vim docker-compose.yml
version: "3"

services:
  flarum:
    image: mondedie/flarum:latest
    container_name: flarum
    ports:
      - 5009:8888
    env_file:
      - /home/app/flarum/flarum.env
    volumes:
      - /home/app/flarum/assets:/flarum/app/public/assets
      - /home/app/flarum/extensions:/flarum/app/extensions
      - /home/app/flarum/logs:/flarum/app/storage/logs
      - /home/app/flarum/nginx:/etc/nginx/flarum
    networks:
      - flarum-network

 networks:
    flarum-network:
        driver: bridge

​ 3.2- 编写编写flarum.env 配置文件

# vim flarum.env

DEBUG=true
#换成你真实的服务器ip
FORUM_URL=http://192.168.2.189:5009

# Database configuration
DB_HOST=192.168.2.189
DB_NAME=flarumbbs
DB_USER=wpdb
DB_PASS=xxxxx
DB_PREF=flarum_
DB_PORT=3306

# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=hoeking75
FLARUM_ADMIN_MAIL=53258372@qq.com
FLARUM_TITLE=yourong

​ 3.3- 启动docker 镜像

docker-compose up -d flarum

怎么支持中文的标题和文章相关的全文搜索??

支持全文搜索 -- 数据库ngram中文插件 (mariadb的比较麻烦,所以上文是安装mysql)

ALTER TABLE flarum_posts DROP INDEX content; CREATE FULLTEXT INDEX content ON flarum_posts (content) WITH PARSER ngram;

ALTER TABLE flarum_discussions DROP INDEX title; CREATE FULLTEXT INDEX title ON flarum_discussions (title) WITH PARSER ngram;

3.4- 安装扩展

# 进入容器内部
docker exec -it flarum sh
# 进入到容器内部服务应用安装目录 -- 有需要可以将该目录外挂,这样子就不用担心容器迁移的问题了
cd flarum/app/

### 首先先做加速下载配置
# 全局安装阿里云的网络下载服务
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

# 简体中文支持
composer require flarum-lang/chinese-simplified:*

# 安装oxo theme
composer require yannisme/oxotheme

# 最佳回复插件安装 -- 需要开启后点击保存才有效果 -- 帖子内部的回复置顶功能,非常好用
composer require fof/best-answer:*

# 安装文件上传扩展插件,开启上传插件,支持 copy images -- 可以直接复制图片拷贝到帖子内部
composer require fof/upload:*

# 图片放大 缩小 -- 只有这个库支持 fof 图片放大缩小扩展!!! -- 点击图片可放大查阅
composer require phenomlab/fancybox-wrapper:*

# 头像徽章插件 
composer require fof/ignore-users:*

# 开启私密主题 -- 有异常,放弃
composer require fof/byobu:*

# 精华帖 - 推送到首页
composer require fof/frontpage:*

# 欢迎用户小部件,携带个人统计信息
composer require justoverclock/flarum-ext-welcomebox:*

# 传统板块插件
composer require askvortsov/flarum-categories:*

# 表情插件 -- 需要禁用掉自带的表情,不然会很怪异
composer require clarkwinkelmann/flarum-ext-emojionearea:*

# 投票插件 -- 需要设置参与投票的人可以有哪些
composer require fof/polls:*

# 昵称功能,默认自带
# 需要到 常规功能模块里打开 User Display Name ,才能修改昵称

# 在首页生成用户管理 -- 如果是内部使用,可以关闭掉注册口邮件回复和激活功能,通过这里激活用户
composer require fof/user-directory:*

# 允许修改作者 -- 调整发布帖子的人
composer require clarkwinkelmann/flarum-ext-author-change:*

# 自定义头像 -- 比如可以选择危化镖局的卡通头像(需要提前上传)
composer require clarkwinkelmann/flarum-ext-predefined-avatars:*

# 帖子增加首图卡片展示功能 -- 开启后会报错,要稍微等会,就能安装正常
composer require dem13n/discussion-cards:*

# 信任等级,可以提供一个等级设置,根据什么样的条件达成什么样的权限设置
composer require askvortsov/flarum-trust-levels:*

# 达成什么成就,就会在回复或发布的主题底下形成一排的成就图标!!! 点击启动时会报错,也是需要安装等待会才能正常
composer require malago/flarum-achievements:*

# 论坛统计功能 -- 还可以设置允许看到的人的权限
composer require fof/forum-statistics-widget:*

# markdown 表格功能扩展
composer require kvothe/pipetables

其他常用命令:

### 安装完成插件后有异常时执行
php flarum cache:clear

### 更新插件
composer update fof/best-answer

### 卸载插件
composer remove fof/best-answer


最好不相见,如此便可不相恋。 最好不相知,如此便可不相思。 --仓央嘉措



作者: CLP ; 日期: 2025-1-9 ; 地点: 武汉; 天气: 晴

QQ: 53258372; Mail : 53258372@QQ.com

微信: image-20220903114619121