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

步骤5Web界面安装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就会有了。

四、中文语言包安装

步骤1SSH安装语言包

中文语言包一定要在这个时候再安装,否则会因为缺少那个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除了附件之外,其余真心不错。对于超小型论坛来说还是不错的。后续在使用中还有什么问题或者优化,我会在后面更新!

类似文章

发表回复