光之远征团跨服战

Flarum:简洁而强大的开源论坛软件

Flarum简介

Flarum是一款开源论坛软件,以其简洁、快速和易用性而闻名。它继承了esoTalk和FluxBB的优良传统,旨在提供一个不复杂、不臃肿的论坛体验。Flarum的核心优势在于:

快速、简单: Flarum使用PHP构建,易于部署,界面采用高性能的JavaScript框架Mithril,确保了论坛的响应速度和简洁性。漂亮、响应式: 以人为本的设计哲学让Flarum在不同设备和平台上都能提供一致且直观的用户体验。强大、可扩展: Flarum允许你根据社区需求进行定制、扩展或集成,基于MIT协议发布,保证了其灵活性和自由度。免费、开源: Flarum以MIT许可证发布,意味着你可以自由使用、修改和分发。

Flarum的哲学和价值观深深植根于其开源社区,它鼓励并依赖社区的贡献来不断改进和扩展。无论是开发者、技术写作者、翻译者还是普通用户,每个人都可以为Flarum项目贡献自己的力量。

接下来,我将详细介绍如何在Linux上部署Flarum,并提供一些基本的使用教程,让你能够快速上手并充分利用Flarum的强大功能。

准备工作

准备一台云服务器

若尚未拥有服务器,可前往 雨云官网 https://rainyun.ivwv.site 进行注册,新用户有专属优惠。

使用命令安装

接下来,我会带大家一步一步安装。

更新和升级系统

apt update -y

apt upgrade -y

安装 LAMP 堆栈和其他依赖项

安装 Apache、MariaDB、PHP 和其他所需的依赖项:

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 已启用并运行:

systemctl is-enabled apache2

systemctl status apache2

systemctl is-enabled mariadb

systemctl status mariadb

验证 PHP 和 Composer 版本:

php -v

sudo -u www-data composer -v

配置防火墙

允许通过 UFW 防火墙访问 Apache:

ufw allow 'Apache Full'

ufw allow ssh

ufw enable

配置 PHP 设置

编辑php.ini文件以符合你的环境要求:

nano /etc/php/8.3/apache2/php.ini

更新以下设置:

memory_limit = 512M

upload_max_filesize = 150M

max_execution_time = 600

date.timezone = Asia/Shanghai

重新启动 Apache 以应用更改:

systemctl restart apache2

保护 MariaDB

运行mariadb-secure-installation命令移除匿名用户,禁用远程root登录,并确保MariaDB的安全:

mariadb-secure-installation

创建新数据库和用户 登录 MariaDB 并创建数据库和用户:

mariadb -u root -p

运行以下 SQL 查询:

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:

mkdir -p /var/www/{.cache,.config,flarum}

chown -R www-data:www-data /var/www/{.cache,.config,flarum}

导航到 Flarum 目录,使用 Composer 安装:

cd /var/www/flarum/

sudo -u www-data composer create-project flarum/flarum .

验证文件:

ls -ah

为 Flarum 配置 Apache

启用 Apache 模块:

a2enmod ssl rewrite headers

创建一个新的虚拟主机文件:

nano /etc/apache2/sites-available/flarum.conf

插入以下配置:

ServerAdmin contact@example.com

DocumentRoot /var/www/flarum/public

ServerName example.com

Options FollowSymlinks

AllowOverride All

Require all granted

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*) index.php [PT,L]

启用虚拟主机并重启 Apache

启用虚拟主机并验证 Apache 配置:

a2ensite flarum.conf

apachectl configtest

重新启动 Apache 以应用更改:

systemctl restart apache2

使用 Certbot 安装 SSL 证书

安装 Certbot 和 Apache 插件:

apt install certbot python3-certbot-apache

生成 SSL 证书:

certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email contact@example.com -d example.com

从浏览器访问 Flarum

打开浏览器,转到

https://example.com/

你会看到 Flarum 安装向导。按照说明设置论坛。

安装完成后,你将看到如下所示的 Flarum 管理面板:

点击用户图标,选择管理。这将显示 Flarum 安装的详细信息。

Docker 方式部署

也许你会觉得命令方式部署太复杂了,接下来,我会再教给大家如何使用 Docker 方式部署

拉取Flarum Docker镜像

你可以直接从Docker Hub拉取最新的mondedie/flarum镜像,或者从GitHub手动构建它:

# 从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数据库服务:

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和数据库的必要信息:

# 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容器:

docker-compose up -d mariadb

# 等待数据库创建

docker-compose up -d flarum

到这里,你就可以快速地使用Docker部署Flarum论坛。这种方法不仅简化了安装过程,还提高了论坛的可移植性和安全性。 如果你想查看更多高级的使用,可以继续看下面的内容。

安装其他 php 扩展

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

安装扩展

docker exec -ti flarum extension require some/extension

删除扩展

docker exec -ti flarum extension remove some/extension

列出所有扩展

docker exec -ti flarum extension list

相关链接

我的博客:https://blog.ivwv.site 雨云官网:https://rainyun.ivwv.site

工作后如何找对象?普通上班族找女朋友的方法
水蒸蛋(纯蛋黄宝宝辅食)蛋黄羹


最新发表

友情链接