鼎天网络博客

Flarum FOF upload 插件使用S3协议存储文件配置教程(使用阿里云oss)

2022-02-27 · 3 min read

为了便于社区的迁移,鼎天网络社区在改版后使用阿里云oss存储上传的文件,由于当时配置的时候缺乏相关资料,现在配置好后就写一篇教程记录一下。

之前flarum中文社区的伙伴推荐过自建图床加上chevereto插件,这样虽然可以解决一定问题,但是由于图床程序本身对oss等云端存储兼容不太良好,加上chevereto插件不支持粘贴上传文件,故弃用。

首先安装s3协议扩展程序,参考https://github.com/FriendsOfFlarum/upload/wiki/aws-s3,由于随着版本更新,安装命令可能不同,因此这边就不直接贴命令了。

安装完成后在FOF Upload插件中应该可以看到如图内容

Image description

接下来打开阿里云官网的对象存储页面https://oss.console.aliyun.com/bucket,创建一个公有读私有写权限的bucket,这边建议地域和服务器位于同一地区,因为fof upload上传是由服务器代理上传到oss的(图片嵌入到文章时使用直链)。

在https://ram.console.aliyun.com/users 中新建一个用户并添加oss相关权限,如下图

Image description

之后在该子账户的AccessKey选项中创建一套key备用,如图。

Image description
Image description

至此,全部前期准备已完成,开始配置插件。

将AccessKey ID填入插件配置中的Key栏,AccessKey Secret填入Secret栏。
将创建存储库时设置的存储库名填入存储空间(Bucket)栏中。
地域(Region)栏请参考https://help.aliyun.com/document_detail/31837.html,注意,表中的Region ID即为存储库的地域ID,请见其中内容填入地域(Region)栏。
在访问域名(Endpoint)填写oss的外网Endpoint(外网Endpoint可以在存储库概览页面中获取,也可以在https://help.aliyun.com/document_detail/31837.html查询得到)。注意,访问域名前面需要加上协议头(一般为https://
在访问控制列表(ACL)栏中填入public-read
之后,在 存储设置 文件链接前缀 / 对象存储 CDN 或访问域名(含 http/https)下面的栏中
填入
Bucket 域名
(Bucket 域名可在存储库概览页面中获取)如果配置了自有域名,请填写自有域名。注意,域名前需加上协议头https://http://
如图,在设置可上传的文件类型及上传方式中选择AWS S3或S3兼容

Image description

设置完毕后保存即可

本文在鼎天网络社区首发
https://community.dtnetwork.top/d/2761-flarum-fof-upload-s3oss