Debian12+Flarum1.8.1搭建小型论坛
一、环境说明
- 系统版本:Debian(纯命令行模式,无桌面环境,节约资源)
- 网站版本:Flarum 1.8.1
- Nginx版本:1.22.1
- 数据库版本:MySQL 5.7+ 或 MariaDB 10.2+
- PHP版本:8.0+
二、前置准备
1. 以 root 用户登录 Debian 纯命令行(远程登录可使用 Xshell、Putty 等工具);
2 . 确保服务器临时能联网(用于下载依赖和软件,后续配置静态IP后永久联网);
3. 提前确认您域名已解析。本文后续域名使用yousuke.icu,您可以替换成您自己的域名。
三、分步搭建步骤
步骤1:安装Composer
# 下载Composer安装脚本
php – r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”
# 验证脚本完整性(可选但推荐)
php – r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ’55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
# 安装Composer到全局
php composer-setup.php –install-dir=/usr/local/bin –filename=composer
# 验证安装
composer -V
步骤2:创建数据库
mysql -u root -p
执行以下 SQL 创建 Flarum 专用数据库和用户(替换<你的数据库用户名>为实际用户名,比如 flarum_user):
— 创建数据库(字符集必须utf8mb4,支持emoji)
CREATE DATABASE flarum_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
— 创建数据库用户并授权
CREATE USER ‘flarum_user’@’localhost’ IDENTIFIED BY ‘你的密码’;
GRANT ALL PRIVILEGES ON flarum_db.* TO ‘flarum_user’@’localhost’;
— 刷新权限
FLUSH PRIVILEGES;
— 退出MySQL
EXIT;
步骤3:安装Flarum 1.8.1
#进入网站上层目录
cd /var/www/
#创建目录
#创建站点根目录(根据你的服务器实际web根目录调整,比如Nginx常用/var/www,Apache常用/var/www/html)
mkdir -p /var/www/xxx
#赋予目录权限(www-data是web服务默认用户,不同系统可能是apache/nginx)
chown -R www-data:www-data /var/www/xxx
chmod -R 755 /var/www/xxx
xxx表示网站目录名称
#安装Flarum 1.8.1
composer create-project flarum/flarum mir3 1.8.* –stability=stable –no-dev –ignore-platform-reqs
注意这里可能出现以下提示:
Package doctrine/cache is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating autoload files
74 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Found 2 security vulnerability advisories affecting 2 packages.
Run “composer audit” for a full list of advisories.
这个提示信息实际就是告诉你有一个cache的文件夹没有,不用管,这个文件夹在网站在网页完成最后安装的时候会自己出来,这会没有是对的。
步骤4:配置Nginx
#编辑或新建vim /etc/nginx/conf.d/xxx.conf
vim /etc/nginx/conf.d/xxx.conf
#粘贴以下配置(xxx为网站目录)
nginx
server {
listen 80;
listen [::]:80;
server_name 你的域名;
root /var/www/xxx/public; # Flarum的入口在public目录
index index.php index.html;
# 静态文件缓存(优化性能)
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 1y;
add_header Cache-Control “public, max-age=31536000”;
add_header X-Content-Type-Options nosniff;
try_files $uri $uri/ /index.php?$query_string;
}
# URL重写(Flarum必需)
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP解析配置
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 确认PHP-FPM sock路径(不同系统可能是/var/run/php/php8.2-fpm.sock)
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
fastcgi_index index.php;
}
# 禁止访问敏感文件
location ~ /\.env {
deny all;
}
}
#保存后检查 Nginx 配置并重启:
nginx -t # 检查配置语法
systemctl restart nginx # 重启Nginx
步骤5:Web界面安装Flarum
1. 浏览器访问http://你的域名,进入 Flarum 安装界面;
2. 填写安装信息:
数据库:
数据库类型:MySQL/MariaDB
主机:localhost
数据库名:flarum_db(步骤 2 创建的)
用户名:flarum_user(步骤 2 创建的)
密码:xxxxxxxxxxx(步骤2你设置的)
管理员账户:填写你的管理员邮箱、用户名、密码;
论坛信息:填写论坛名称,URL 填写http://你的域名(后续配置 HTTPS 时也不用管,申请证书的时候会自动搞定https);
3. 点击 “Install Flarum” 完成安装。
注意:这一步安装完之后,之前安装Flarum 1.8.1缺少的cache就会有了。
四、中文语言包安装
步骤1:SSH安装语言包
中文语言包一定要在这个时候再安装,否则会因为缺少那个cache失败。
# 1. 进入mir3目录
cd /var/www/mir3
# 2. 允许root运行Composer(消除权限警告)
export COMPOSER_ALLOW_SUPERUSER=1
# 3. 安装中文语言包(忽略安全审计,适配1.8.*)
composer require flarum-lang/chinese-simplified:* –prefer-dist –no-audit
# 4. 此时flarum命令已可用,清除缓存
php flarum cache:clear
步骤2:后台启用中文语言包
浏览器访问http://你的域名 /admin,用你刚创建的管理员账号登录;
1. 左侧菜单栏点击Features(特征其实就是扩展);
在最下面找到Language下面有English和简体中文,点击简体中文进去,点击Enable按钮启用;
2. 回到左侧菜单栏最上面,点击Basics;
找到 “Default Language”选项,下拉选择 “中文简体”;
滚动到页面底部,点击Save Changes(保存更改);
刷新论坛首页,界面已全部变为中文。
五、其他优化
优化设置部分先后,根据自己的需求来.
优化1:邮箱设置
这个地方很坑,邮箱设置分两个步骤。
步骤1:后台编辑
进入后台,左侧菜单选择“邮箱”。
这一堆照着填就行了,和平时配置pop、imap邮箱时没什么区别,填写好后保存。
此时点发送,肯定会失败。
步骤2:代码编辑
#编辑网站根目录下的 config.php 文件,找到 ‘mail’ 配置段,修改为如下格式(如何没有就直接粘贴进去,同时根据在后台填写的内容设置):
nano /var/www/xxx/config.php
xxx是网站目录
// 文件位置:config.php
‘mail’ => [
‘driver’ => ‘smtp’,
‘host’ => ‘smtpdm.aliyun.com’,
‘port’ => 465, // 或 587
‘encryption’ => ‘ssl’, // 或 tls,必须小写
‘username’ => ‘你的完整发信地址@example.com’,
‘password’ => ‘你的阿里云SMTP密码’,
‘from’ => [
‘address’ => ‘你的完整发信地址@example.com’, // 必须与上面一致
‘name’ => ‘你的论坛名称’,
],
],
步骤3:测试
此时回到后台点击测试,如果信息没有错,就会提示发送成功。
这里注意,如果你的邮件很多,最好用正规的,别用个人的,容易出问题。
优化2:注册免邮箱验证
Flarum默认注册时需要填写邮箱,然后论坛会发一封确认邮件,这个功能个人觉得小型论坛完全没必要。因此,建议关闭。
关闭方法如下:
#连接服务器:使用 SSH 工具(如 Putty 或终端)登录到你的服务器。
#进入论坛根目录:导航到 Flarum 安装的根目录:
cd /var/www/xxx(请将路径替换为你自己的实际路径)
#执行安装命令:在根目录下,运行以下 Composer 命令来安装Email Verification Switch 插件:
composer require isaced/flarum-ext-email-verification-switch:”*”
#启用扩展:命令执行完成后,回到 Flarum 后台的 Extensions(插件) 页面,找到新安装的 Email Verification Switch,点击“启用”即可。
优化3:白天黑夜模式设置
这个是现在比较流行的根据白天黑夜进行页面颜色的设置,所以为了搞这个就装了一个FoF Night Mode插件。
由 Flarum 官方团队(Friends of Flarum)开发,是原版的「增强版」,支持自定义深色主题色、定时切换、强制全局模式,适合想精细控制风格的论坛。
#安装命令(SSH 执行)
#进入 Flarum 目录
cd /var/www/mir3
# 执行安装
composer require fof/nightmode:*
# 刷新缓存
php flarum cache:clear
优化4:首页欢迎横幅
这个欢迎横幅旁边有一个叉,可以关闭,关闭之后以后再打开就没有了。对于我来说我是希望有点仪式感,就想保留这个,然后就得吧叉去掉的,同时还要让他一直存在。
由于我这边做了优化3,安装了FoF Night Mode插件,所以修改如下。如果没有装这个插件会有点区别,注意哟。
#登录 Flarum 后台 →「外观」→「编辑自定义 CSS」;
替换所有 CSS 为下面这段(专门适配 FoF Night Mode):
/* ========== 删掉关闭叉 ========== */
.Hero-close {
display: none !important;
}
/* ========== 基础:横幅不遮挡+强制显示 ========== */
.Hero {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
z-index: 10 !important; /* 低于顶部导航,不遮挡功能 */
padding: 20px 0 !important;
margin-bottom: 15px !important;
text-align: center !important;
border-bottom: 1px solid #eee !important;
position: relative !important;
width: 100% !important;
height: auto !important;
}
/* ========== 适配FoF Night Mode 核心逻辑 ========== */
/* 1. 日间模式(插件默认light主题) */
body[data-theme=”light”] .Hero {
background-color: #f8f9fa !important; /* 浅灰白(匹配插件日间) */
color: #212529 !important; /* 深灰文字(清晰) */
border-bottom-color: #e9ecef !important;
}
/* 2. 夜间模式(插件dark主题) */
body[data-theme=”dark”] .Hero {
background-color: #1e293b !important; /* 深蓝灰(匹配插件夜间) */
color: #f8fafc !important; /* 浅白文字(不刺眼) */
border-bottom-color: #334155 !important;
}
/* ========== 兜底:兼容插件旧版本 ========== */
body.night-mode .Hero, html.dark .Hero {
background-color: #1e293b !important;
color: #f8fafc !important;
border-bottom-color: #334155 !important;
}
/* ========== 功能保障 ========== */
.Hero .container {
font-size: 16px !important;
line-height: 1.8 !important;
padding: 0 20px !important;
}
.Hero-close { display: none !important; }
.Header, .Header-controls { z-index: 9999 !important; }
保存后,先切换夜间模式,再按 Ctrl+F5 硬刷新
优化5:全论坛置顶功能
这个功能我觉得很好,所以我是安装了的。
要实现 “帖子在板块内置顶,同时在首页(全部主题)也置顶”,需要安装 the-turk/flarum-stickiest 扩展,它在原生 flarum/sticky 的基础上增加了「全局置顶(Super Sticky)」功能。
1. 安装扩展(SSH 执行)
# 进入你的 Flarum 目录
cd /var/www/mir3
# 安装 Stickiest 扩展
composer require the-turk/flarum-stickiest:^3.0.0
# 执行数据库迁移(首次安装必须)
php flarum migrate
# 清空缓存
php flarum cache:clear
优化6:论坛日间夜间主题切换
由 Flarum 官方团队(Friends of Flarum)开发,是原版的「增强版」,支持 自定义深色主题色、定时切换、强制全局模式,适合想精细控制风格的论坛。
1. 安装命令(SSH 执行)
# 进入 Flarum 目录
cd /var/www/mir3
# 执行安装
composer require fof/nightmode:*
# 刷新缓存
php flarum cache:clear
2. 核心优势(比原版强在哪)
自定义深色主题:可单独设置夜间模式下的主色调、链接色,不再是单纯的黑白反转;
定时自动切换:比如「晚 8 点自动切夜间,早 8 点切日间」;
管理员强制模式:可选择「全站仅日间」「全站仅夜间」(适合游戏论坛的深色风格);
更细腻的切换动画:无卡顿,体验更流畅。
优化7:添加昵称
官方扩展:flarum/nicknames
这是由 Flarum 官方团队开发和维护的扩展,专门用于添加、管理和显示用户昵称 。它的兼容性最好,功能也纯粹。
主要功能:
允许用户在个人资料中设置一个昵称(区别于登录用的用户名)。
管理员可以在后台设置权限,控制哪些用户组可以编辑昵称 。
可以选择在注册时就让用户填写昵称 。
最重要的是,你可以在后台的“外观”设置中,选择将页面上显示的用户名替换为昵称 。
安装步骤
整个过程只需要几条命令,比之前装附件扩展要顺利得多。请在你的 Flarum 根目录下执行:
# 进入 Flarum 目录
cd /var/www/mir3
#使用 Composer 安装扩展:
composer require flarum/nicknames
#运行迁移,更新数据库:
php flarum migrate
#清理缓存,确保生效:
php flarum cache:clear
优化8:附件插件
这个插件我放到最后是因为我唯一最不满意的地方,但是也是无可奈何。因为对于Flarum来说,只有FoF Upload这个选择。
1. 安装
fof/upload 依赖 PHP 的文件上传扩展,且要求 Flarum ≥ 1.0.0,我们先补全依赖,避免安装失败:
# 安装PHP上传所需扩展(你的服务器大概率已装,但补一下更稳妥)
apt install -y php-fileinfo php-imagick
# 重启PHP-FPM生效
systemctl restart php-fpm
Composer 安装(推荐,稳定无错),这是官方推荐的安装方式,自动处理依赖,步骤最简单:
1. 进入 Flarum 根目录
SSH 登录服务器,切换到 Flarum 安装目录:
cd /var/www/flarum
2. 执行安装命令
直接运行 Composer 命令下载插件:
composer require fof/upload:*
* 表示安装适配你当前 Flarum 版本的最新版;
如果提示需要 GitHub Token,直接按回车跳过(仅影响下载速度,不影响安装);
若出现「内存不足」报错(2G 内存偶尔会遇到),临时扩容交换内存:
运行
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# 安装完成后可删除交换文件:rm -rf /swapfile
2. 配置问题
这个配置折腾了我很久,主要是太麻烦我个人觉得。最开始是按照文件类型逐一配置的,我的天啊,太多了,实在有点受不了。后来找到了一个简单的办法。
先记下这个东西:
(video\/(3gpp|mp4|mpeg|quicktime|webm))|(audio\/(aiff|midi|mpeg|mp4))|(application\/(x-(7z|rar|zip)-compressed|zip|arj|x-(bzip2|gzip|lha|stuffit|tar)|pdf))| (image\/(gif|jpeg|png))
这个是常用附件类型最全的配置方法。因为图片是需要预览的,所以图片部分单独拿出来新建一个完整图片预览。
说说这个插件最坑的地方:
不支持中文和一些字符。当你上传带有中文的附件时,最后传完在帖子中看到的就只有非中文部分了。所以,在上传附件时对于国内来说就比较麻烦了,毕竟你把附件名字搞成纯英文的很麻烦,也还要估计人家是否看的懂。但是这个插件确实也是最好的了。网上一些方案我试了一下都不太靠谱,尝试了几个都不行。最后的解决方案就是发帖子带附件的时候按照
附件名+附件的方案。也就是先写附件的中文名,再插入附件,看起来还不错。多个附件就换行。我试了几个还可以,当然也是无奈之举。
最后说一下,这个Flarum除了附件之外,其余真心不错。对于超小型论坛来说还是不错的。后续在使用中还有什么问题或者优化,我会在后面更新!