Flarum简介
Flarum是一款开源论坛软件,以其简洁、快速和易用性而闻名。它继承了esoTalk和FluxBB的优良传统,旨在提供一个不复杂、不臃肿的论坛体验。Flarum的核心优势在于:
- 快速、简单: Flarum使用PHP构建,易于部署,界面采用高性能的JavaScript框架Mithril,确保了论坛的响应速度和简洁性。
- 漂亮、响应式: 以人为本的设计哲学让Flarum在不同设备和平台上都能提供一致且直观的用户体验。
- 强大、可扩展: Flarum允许你根据社区需求进行定制、扩展或集成,基于MIT协议发布,保证了其灵活性和自由度。
- 免费、开源: Flarum以MIT许可证发布,意味着你可以自由使用、修改和分发。
Flarum的哲学和价值观深深植根于其开源社区,它鼓励并依赖社区的贡献来不断改进和扩展。无论是开发者、技术写作者、翻译者还是普通用户,每个人都可以为Flarum项目贡献自己的力量。
接下来,我将详细介绍如何在Linux上部署Flarum,并提供一些基本的使用教程,让你能够快速上手并充分利用Flarum的强大功能。
环境准备
服务器准备
必要前提:
- 一台有公网 IP 的 Linux 服务器,可以选择腾讯云,阿里云,或者雨云等。
- 本文以 雨云 为例。
你可以点击此链接 https://www.rainyun.com/NTEzMTM1_?s=blog 注册账号。
注册完毕后,可以按照以下步骤创建一台自己的云服务器。
创建云服务器
点击 云产品 → 云服务器 → 立即购买 。
选择距离你较近的区域,以保证低延迟。
带宽建议选择上传和下载大于 30M 即可。
处理器和内存建议选择 2 核 4G。当然,如果想要部署好的的论坛运行更流畅,还是需要配上更好的配置。
选择 Ubuntu 22.04 版本,并勾选预装 Docker,接下来的教程会用到 Docker。
最后点击 立即购买 ,并按照提示进行购买。
购买后等待机器部署完毕,点击购买的服务器,进入管理面板,找到远程连接相关信息。
使用 PowerShell 进行远程连接。
输入 ssh root@你的服务器IP
例如 ssh root@154.9.227.239
回车后,首次需要输入 yes
,再次回车后即可登录服务器。
到此为止,我们的云服务器就创建好了。
使用命令安装
接下来,我会带大家一步一步安装。
更新和升级系统
bash
apt update -y
apt upgrade -y
安装 LAMP 堆栈和其他依赖项
安装 Apache、MariaDB、PHP 和其他所需的依赖项:
shell
apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer composer git -y
检查 Apache、MariaDB 和 PHP 状态
确保 Apache 和 MariaDB 已启用并运行:
bash
systemctl is-enabled apache2
systemctl status apache2
systemctl is-enabled mariadb
systemctl status mariadb
验证 PHP 和 Composer 版本:
bash
php -v
sudo -u www-data composer -v
配置防火墙
允许通过 UFW 防火墙访问 Apache:
bash
ufw allow 'Apache Full'
ufw allow ssh
ufw enable
配置 PHP 设置
编辑php.ini
文件以符合你的环境要求:
bash
nano /etc/php/8.3/apache2/php.ini
更新以下设置:
bash
memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Asia/Shanghai
重新启动 Apache 以应用更改:
bash
systemctl restart apache2
保护 MariaDB
运行mariadb-secure-installation
命令移除匿名用户,禁用远程root登录,并确保MariaDB的安全:
bash
mariadb-secure-installation
创建新数据库和用户
登录 MariaDB 并创建数据库和用户:
bash
mariadb -u root -p
运行以下 SQL 查询:
bash
CREATE DATABASE flarum;
CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarum.* TO 'flarum'@'localhost';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'flarum'@'localhost';
现在键入 quit 退出 MariaDB 服务器。
设置目录并安装 Flarum
创建必要的目录,并将所有权更改为 www-data
:
bash
mkdir -p /var/www/{.cache,.config,flarum}
chown -R www-data:www-data /var/www/{.cache,.config,flarum}
导航到 Flarum 目录,使用 Composer 安装:
bash
cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .
验证文件:
bash
ls -ah
为 Flarum 配置 Apache
启用 Apache 模块:
bash
a2enmod ssl rewrite headers
创建一个新的虚拟主机文件:
bash
nano /etc/apache2/sites-available/flarum.conf
插入以下配置:
xml
<VirtualHost *:80>
ServerAdmin contact@example.com
DocumentRoot /var/www/flarum/public
ServerName example.com
<Directory /var/www/flarum/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/flarum/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>
启用虚拟主机并重启 Apache
启用虚拟主机并验证 Apache 配置:
bash
a2ensite flarum.conf
apachectl configtest
重新启动 Apache 以应用更改:
bash
systemctl restart apache2
使用 Certbot 安装 SSL 证书
安装 Certbot 和 Apache 插件:
bash
apt install certbot python3-certbot-apache
生成 SSL 证书:
bash
certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email contact@example.com -d example.com
从浏览器访问 Flarum
打开浏览器,转到
bash
https://example.com/
你会看到 Flarum 安装向导。按照说明设置论坛。
安装完成后,你将看到如下所示的 Flarum 管理面板:
点击用户图标,选择管理。这将显示 Flarum 安装的详细信息。
Docker 方式部署
也许你会觉得命令方式部署太复杂了,接下来,我会再教给大家如何使用 Docker 方式部署
拉取Flarum Docker镜像
你可以直接从Docker Hub拉取最新的mondedie/flarum
镜像,或者从GitHub手动构建它:
bash
# 从Docker Hub拉取:
docker pull mondedie/flarum:latest
# 或者从GitHub手动构建:
docker build -t mondedie/flarum:latest https://github.com/mondediefr/docker-flarum.git
配置Docker Compose
创建一个docker-compose.yml
文件,配置Flarum服务和相关的MariaDB数据库服务:
yaml
version: "3"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
env_file:
- /mnt/docker/flarum/flarum.env
volumes:
- /mnt/docker/flarum/assets:/flarum/app/public/assets
- /mnt/docker/flarum/extensions:/flarum/app/extensions
- /mnt/docker/flarum/storage/logs:/flarum/app/storage/logs
- /mnt/docker/flarum/nginx:/etc/nginx/flarum
ports:
- 80:8888
depends_on:
- mariadb
mariadb:
image: mariadb:10.5
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=xxxxxxxxxx
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=xxxxxxxxxx
volumes:
- /mnt/docker/mysql/db:/var/lib/mysql
设置环境变量
创建一个环境变量文件flarum.env
,配置Flarum和数据库的必要信息:
bash
# vi /mnt/docker/flarum/flarum.env
DEBUG=false
FORUM_URL=http://domain.tld
# 数据库配置
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306
# Flarum管理员用户(首次安装必需的环境变量)
# 注意:管理员密码至少包含8个字符
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx
FLARUM_ADMIN_MAIL=admin@domain.tld
FLARUM_TITLE=Test flarum
运行Docker Compose
启动MariaDB和Flarum容器:
bash
docker-compose up -d mariadb
# 等待数据库创建
docker-compose up -d flarum
到这里,你就可以快速地使用Docker部署Flarum论坛。这种方法不仅简化了安装过程,还提高了论坛的可移植性和安全性。
如果你想查看更多高级的使用,可以继续看下面的内容。
安装其他 php 扩展
yaml
version: "3"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
environment:
- PHP_EXTENSIONS=gmp session brotli
volumes:
- /mnt/docker/flarum/assets:/flarum/app/public/assets
- /mnt/docker/flarum/extensions:/flarum/app/extensions
- /mnt/docker/flarum/storage/logs:/flarum/app/storage/logs
- /mnt/docker/flarum/nginx:/etc/nginx/flarum
安装自定义扩展
**Flarum扩展列表 😗*https://rob006-software.github.io/flarum-translations/status/zh_Hans.html
安装扩展
bash
docker exec -ti flarum extension require some/extension
删除扩展
bash
docker exec -ti flarum extension remove some/extension
列出所有扩展
bash
docker exec -ti flarum extension list
相关链接
雨云 - 新一代云服务提供商:https://www.rainyun.com/NTEzMTM1_?s=blog
我的博客:https://blog.ivwv.site