关键词:Flarum 安装, Flarum 安装教程, Flarum 中文教程, Flarum 中文指南
主要内容:服务器环境要求,在线安装命令,Composer 国内源设置,URL 重写规则(Apache/Nginx/Caddy),
文件夹权限设置,自定义路径,注册邮件设置,插件问题(中文语言包)
💡 全文编排和翻译解释: Yannis & Triangle
Flarum 是 Beta 版软件,这意味着它仍具有一些不完整的功能和 BUG,并且可能会在特定时刻崩坏 💥
Beta 是利于解决问题和改进 Flarum 的。请不要在生产中使用 Flarum,除非你知道你正在做什么。
如果情况不好,我们不能支援你。升级到后续版本是可能的,但可能会弄脏你的手。
❌ 安装前或提问前请仔细阅读全文或在相关 FAQ 和分类下查找类似案例,并了解《提问的智慧》精读注解版。
⭕ 在 求助 分类中提问能更快得到帮助。| 官方中文安装文档
♻ 安装后请完全重启一次服务器和清除一次缓存!!
服务器环境要求
在你安装 Flarum 之前,请检查你的服务器是否符合以下的要求,以便顺利的安装和运行:
- 服务器: Apache (需支持重写 Rewire 功能) 或者 Nginx , 内存≥1G (推荐;若内存溢出或不足请查看FAQ)
- 数据库:MySQL 5.6+ 或者 MariaDB 10.0.5+
- 可支持 SSH (命令行) 并运行 Composer
- PHP 7.3+,需开启PHP扩展:curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
现阶段,暂不能通过下载 ZIP 压缩包并将其上传至网络端服务器来安装 Flarum 。这是因为 Flarum 使用了一个叫做 Composer (opens new window)的依赖管理系统,它需要在该命令上安装并运行 Flarum。
这并不意味着你需要一个 VPS。某些共享主机会给予你 SSH 访问权限,这样你就能够安装 Composer 和 Flarum 了。对于其他不开放 SSH 权限的主机,你可以尝试 Pockethold 等变通方法。
若你的主机环境已搭配安装好 Composer,既可以主动运行 ,不需要另外再单独安装 Composer 。
composer (运行composer命令)
在线安装
Flarum 使用 Composer 来管理它的目录和扩展. 在安装 Flarum 之前,你需要安装 Composer 在你的主机上。
然后,在你需要安装 Flarum 的位置目录下运行此命令,在这之前:
- 安装目录需为空,包含隐藏项 (善用 rm 命令)
- 解禁 PHP 中的 putenv、proc_open 函数
- 安装 PHP 所需扩展 fileinfo、exif
- 如何安装 Flarum 指定版本?*
composer create-project flarum/flarum .
你可在运行命令的同时,配置 Web 服务器。 需确保你的 Flarum 网站运行目录 (Webroot) 为
/你的Flarum路径/public
,然后按照下方说明设置 URL Rewrite。
一切准备就绪后,刷新并访问你的网络地址,填写信息完成安装。
运行目录与权限调整*
再次提醒,需要设定你的运行目录为/public
并且将目录下的public
和storage
文件夹 (包含子文件夹) 权限所有者从root组
提升为www组
Flarum 基本目录结构*
. Flarum 安装根目录
├── public (公共目录)
│ ├── assets (资源目录。存放头像、上传的文件等)
│ └── .htaccess (自带 Apache 配置)
│
├── storage
│ └── logs (日志)
│
├── vendor (核心、插件目录)
├── .nginx.conf (自带 Nginx 配置)
├── composer.json (Composer 配置文件)
├── extend.php (自定义扩展文件)
├── flarum
├── LICENSE
├── README.md
└── site.php
URL 重写
⛔ 403/404 通常是 重写/运行目录 设置不正确
Flarum 自带.htaccess
或.nginx.conf
文件,请将其规则包含到伪静态或重写中即可,非覆盖替换。
请自行阅读下面的说明和重写正确后刷新页面,清除缓存后再次查看页面。
Apache
Flarum 在public
文件中包含一个.htaccess
文件,此文件包含了需要用到的规则。 如果你使用共享主机,请与你的提供商确认启用了mod_rewrite
重写功能并允许使用.htaccess
文件。 如果你使用的是其他 web 服务器,你需要在配置文件中添加以下规则:
<Directory "/你的Flarum路径/public">
AllowOverride All
</Directory>
Nginx
Flarum 根目录附带了一个.nginx.conf
文件。假如你已经在 Nginx 中建立了一个 PHP 站点,应当在站点配置中添加以下内容,以导入 Flarum 默认的重写规则:
include /你的Flarum路径/.nginx.conf;
某些服务器商或安装设置可能不全,可按照以下内容补全
``
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api {
try_files $uri $uri/ /api.php?$query_string;
}
location /flarum {
deny all;
return 404;
}
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Caddy
Caddy 的配置很简单。你需要将下方代码中的 URL 替换为自己的 URL,并将 path 替换为自己的 public
文件夹路径。如果你使用的是其他版本的 PHP,你还需要修改 fastcgi
路径,使其指向正确的 PHP 安装 Socket 或 URL 。
www.example.com {
root * /var/www/flarum/public
php_fastcgi unix//var/run/php/php7.4-fpm.sock
header /assets {
+Cache-Control "public, must-revalidate, proxy-revalidate"
+Cache-Control "max-age=25000"
Pragma "public"
}
file_server
}
文件夹权限设置
❌ 请勿将文件夹包含根目录设置为 777,这是非常危险的一件事情。
任何用户或组都将允许访问文件内容,无法保证文件安全!
若完成这些步骤,Flarum 需继续索要权限,则你可能需要检查你的文件是否正确的设置了组和用户所拥有的权限。
因为,你的环境可能与所提供的文档有所不同,需要向你的Web服务器配置或 Web 提供商咨询有关 PHP 和 Web 服务器所使用的正确用户和组的信息。
在大多数 Linux 和衍生系统中,默认情况下,www-data 是 PHP 和 Web 服务器下运行的组和用户。 你可以通过运行chown -R www-data:www-data 文件夹名/.
来更改大多数 Linux 操作系统中的文件夹所有权。
Composer 源*
全局切换阿里源:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
全局取消配置:composer config -g --unset repos.packagist
自定义路径
默认情况下 Flarum 的目录结构,包含公开访问的文件 public
目录。 这是最好最安全的,确保所有敏感的源代码文件无法从网站根目录完全访问。
但, 如果你希望将 Flarum 安装在一个子目录中(例如 你的网站.com/forum
),或者如果你的主机不让你安装在自己的网站根目录下 (受制于 public_html
或 htdocs
之类的东西),则可以进行设置没有 public
目录的 Flarum。
只需将 public 目录(包括.htaccess
)中的所有文件移动到你要安装 Flarum 的目录中。 然后编辑 .htaccess
并取消注释第 9 ~ 14 行用来保护敏感资源的 Code 。 最后,编辑 index.php 和 Flarum 可执行文件,并更新以下行中的路径以反映你的新目录结构:
require 'vendor/autoload.php';
'base' => __自定义__,
'public' => __自定义__,
'storage' => __自定义__.'/storage',
注册邮件设置
若你的邮件设置全部正确,但是无法发送邮件或出现无法注册错误,
请重新检查邮箱的用户名和密码是否正确,或切换邮箱服务商重试,目前推荐163邮箱或域名邮箱
使用相关插件进行注册邮件屏蔽(需前往Flarum官网社区进行获取),
既注册已激活状态,但不利于防范垃圾注册。
使用正常邮件注册发送,SMTP 方式,推荐使用 163 FAQ/126 邮箱等或国外邮件商。
既注册未激活状态,需邮件激活,利于防范垃圾注册。
插件
请在 Extensions 查看,或在英文官网 Extensions 查看
目前推荐可用的插件均发文在 Extensions 分类中,更多插件介绍将会在不久的将来编写进该文档中。
常用插件概览:
"antoinefr/flarum-ext-bbcode-fa": 在帖子中插入 FA 图标,
"antoinefr/flarum-ext-money": 发帖得金钱,
"antoinefr/flarum-ext-online": 在线会员列表,
"askvortsov/flarum-categories": 启用传统板块布局,
"askvortsov/flarum-moderator-warnings": 向会员发送警告信息,
"askvortsov/flarum-pwa": PWA 应用,
"branchzero/flarum-ext-qqcaptcha": 腾讯防水墙,
"clarkwinkelmann/flarum-ext-author-change": 变更作者,
"clarkwinkelmann/flarum-ext-circle-groups": 头像圆环,
"clarkwinkelmann/flarum-ext-comicsans": 彩虹文字,
"clarkwinkelmann/flarum-ext-create-user-modal": 创建用户,
"clarkwinkelmann/flarum-ext-emojionearea": Emoji 选择器,
"clarkwinkelmann/flarum-ext-post-date": 发帖日期变更,
"clarkwinkelmann/flarum-ext-who-read": 阅读进度,
"clarkwinkelmann/post-license": 文章许可证,
"csineneo/lang-traditional-chinese": 繁体中文语言包,
"datitisev/flarum-ext-dashboard": 仪表板增强,
"flagrow/ads": 广告插件,
"flagrow/direct-links": 功能链接,
"flagrow/flarum-ext-analytics": 谷歌统计,
"flagrow/sitemap": 网站地图,
"flarum/akismet": 垃圾留言过滤系统,
"flarum/approval": 审核系统,
"flarum/auth-facebook": 脸书登录,
"flarum/auth-github": GitHub 登录,
"flarum/auth-twitter": 推特登录,
"flarum/bbcode": BBCode 基本,
"flarum/emoji": Emoji 基本,
"flarum/flags": 举报功能,
"flarum/lang-english": 英语语言包,
"flarum/likes": 点赞功能,
"flarum/lock": 锁定功能,
"flarum/markdown": Markdown 语法,
"flarum/mentions": 提及功能,
"flarum/pusher": Pusher 推送,
"flarum/statistics": 后台统计图表,
"flarum/sticky": 置顶功能,
"flarum/subscriptions": 关注主题功能,
"flarum/suspend": 封号功能,
"flarum/tags": 分类标签,
"flarumalshain/showlastpost": 首页信息流显示最新回复摘要,
"fof/ban-ips": 拉黑 IP 地址,
"fof/best-answer": 最佳回复,
"fof/byobu": 私人讨论,
"fof/default-user-preferences": 默认给用户开启某些设置,
"fof/disposable-emails": 禁止一次性邮箱注册,
"fof/drafts": 草稿功能,
"fof/filter": 关键词过滤器,
"fof/follow-tags": 关注标签,
"fof/formatting": 文本、链接格式化,
"fof/forum-statistics-widget": 前台统计挂件,
"fof/geoip": 地理位置查询服务,
"fof/github-autolink": GitHub 链接自动识别,
"fof/linguist": 语言学家(自定义翻译),
"fof/links": 导航栏链接,
"fof/merge-discussions": 合并主题,
"fof/moderator-notes": 留言板,
"fof/nightmode": 夜间模式,
"fof/pages": 静态页面,
"fof/polls": 投票功能,
"fof/pretty-mail": 邮件模板,
"fof/prevent-necrobumping": 防止挖坟,
"fof/profile-image-crop": 头像裁剪,
"fof/reactions": 反应心情,
"fof/realtimedate": 实时时间,
"fof/recaptcha": 谷歌验证码,
"fof/share-social": 分享按钮,
"fof/socialprofile": 社交链接,
"fof/spamblock": 标记垃圾用户为破坏者,
"fof/split": 拆分主题,
"fof/stopforumspam": 防垃圾发帖人,
"fof/subscribed": 增加通知项,
"fof/terms": 社区条款,
"fof/upload": 文件上传器,
"fof/user-bio": 个性签名,
"fof/user-directory": 前台会员名录,
"fof/username-request": 更改用户名,
"irony/flarum-ext-login2see": 登录后可见,
"isaced/flarum-ext-email-verification-switch": 注册自动激活,
"itnt/flarum-backtop": 返回顶部,
"itnt/flarum-uitab": 手机端底部导航栏,
"jjandxa/flarum-ext-chinese-search": 中文搜索(需安装 xunsearch)
"kilowhat/flarum-ext-mailing": 群发邮件(不兼容 后台用户列表 插件),
"kvothe/pipetables": Markdown 表格,
"kvothe/reply-to-see": 回复后可见,
"kvothe/signup-button": 注册按钮,
"lcinhk/flarum-ext-acgembed": ACG 媒体嵌入,
"league/flysystem-aws-s3-v3": 亚马逊 S3 存储,
"littlegolden/flarum-lang-japanese": 日语语言包,
"littlegolden/flarum-lang-simplified-chinese": 简体中文语言包,
"littlegolden/flarum-mybb": Steam 黑幕 + 外链标志,
"michaelbelgium/flarum-discussion-views": 主题浏览量,
"michaelbelgium/flarum-profile-views": 个人访客,
"minr/flarum-ext-auth-weibo": 微博登录,
"mskian/tasklist": BBCode 任务清单,
"nomiscz/flarum-ext-auth-wechat": 微信登录,
"oe800/flarum-ext-bbcode-alerts": BBCode 警告,
"overtrue/flysystem-qiniu": 七牛存储,
"reflar/cookie-consent": Cookie 横幅,
"reflar/level-ranks": 经验值,
"squeevee/flarum-ext-fancybox": 图片灯箱,
"studosi/mail-filter": 邮箱过滤器,
"tank/perspective": 歧视、恶毒评论过滤,
"tank/polyfills": 旧浏览器兼容,
"the-turk/flarum-diff": 编辑记录,
"the-turk/flarum-edit-notifications": 编辑后通知,
"the-turk/flarum-password-strength": 密码强度检测,
"therealsujitk/flarum-ext-gifs": 动图选择器,
"therealsujitk/flarum-ext-hljs": 更换代码高亮主题,
"therealsujitk/flarum-ext-show-password": 显示密码,
"v17development/flarum-seo": SEO 优化,
"veroz1/users-list": 后台用户列表,
"xelson/flarum-ext-chat": 实时聊天(需要 Pusher),
"zerosonesfun/bbbbcode": 大美 BBCode
更多: