长毛象社区搭建详解
guide.mastodon.im/

一份技术草履虫也可以跟着做的长毛象搭建指南。希望看到越来越多的长毛象社区建立起来。 :blobcatpeek:

指南还在持续更新中,目前先写了前期搭建的步骤。欢迎使用指南底部的链接提供编辑建议。 :blobcatheart:

#长毛象中文使用指南 #实例搭建 #长毛象搭建 #长毛象管理 #长毛象运维

@salt
简单看了一下,发现了几个坑点:

坑点一:支付方式。
支付方式绝对是重大坑点,但全文都没有提到这一点。
服务器:DIgitalOcean只支持paypal与信用卡,Vultr 虽然现在支持支付宝,但代价是国人超级多,极大的影响了服务的稳定性。其余两家没有过,不清楚。
域名:著名的 namecheap 不能使用国内支付宝、微信等支付方式。
对象存储:wasabi只支持信用卡。scaleway也只支持信用卡,而且scaleway限制的更加严格,scaleway注册时便要验证信用卡,没有信用卡,你连帐户都注册不了,wasabi好歹你还可以注册一个账户。
所以请在最开头写明:本教程部分服务支付方式只支持信用卡,为了方便起见,请您办理一张带有Visa或Mastercard的信用卡。

坑点二:域名重要性与警示不够。
域名是网站的根本,而且Mastodon 的 Local Domain 一旦设置就很难更改。域名的重要性怎么强调都不为过。
但文档中对域名的强调实在不够,就轻飘飘的提了一句。
不要使用国内域名以及tk等免费域名,更不要使用他人提供的二级域名,这样的警示应当放大加标红。
更为关键的是:虽然文中有说不要使用注册局位于国内的顶级域,但如何判断一个顶级域是否位于国内。
你既没有提供一个完整的排除列表,也没有提供相应的判断方法。还谈何不要使用国内域名。
附:如何判断一个顶级域的注册商是否位于国内?
最直接有效的方法是:查看该顶级域的注册信息。
IANA提供了Root Zone Database
iana.org/domains/root/db
在这个页面,找到相应顶级域,打开对应页面即可。
如果你使用Linux的话,可以使用whois命令。
如:whois top

坑点三:不应使用未经审计的一键脚本。
使用未经审计的一键脚本会给服务器带来重大安全隐患。未经审计的脚本是不安全的,这个脚本可能会抹除你磁盘上的文件,也可能会向你的机器安装恶意软件,让你的机器沦为被黑客控制的肉鸡,所以不应当运行任何来自他人又未经审计的脚本。
你作为教程的书写者,不应当推荐这样存在重大安全隐患的操作。
你可能会说,我已经对链接中提到的脚本进行了审计,它不存在任何不安全的操作。我刚刚也阅读了该脚本,确实是这样的。但是 moerats.com/usr/shell/swap.sh 所对应的脚本并非是不可变的,这个脚本很可能现在虽然没有恶意代码,但未来其可能会偷偷加入恶意代码。所以请使用经审计的存档地址,例如:web.archive.org/web/2020092001

另外 fallocate 是否可用只与底层文件系统相关,并不与某个特定发行版相关。所以教程中说,debian用户添加 -x 参数是没有道理的。而且我使用相关关键词在google中搜索,并没有找到支持你这种说法的证据。
添加 -x 参数后会成倍的增加所需时间,统一推荐添加 -x 参数并不明智。正确的做法是:默认 fallocate ,如果失败尝试添加 -x 参数,如果还失败回退至 dd 。

附:DigitalOcean 的添加 swap 教程:digitalocean.com/community/tut

坑点四:教程中备份操作的存在的问题。
备份不仅仅是为了防止服务器因物理故障而丢失数据,更是为了防止因黑客入侵而造成的数据损失。不正确的备份方式可能达不能备份的目的。

你的教程中采用了,本地生成备份之后,然后推送(push)至对象存储中去的备份方式。但这种方式是不安全不可靠的,正确的做法是由另一台机器拉取(pull)备份。采用push方式的备份,如果黑客取得了你服务器的控制权,那他就可以以相同的方式将你的备份文件删除,请记住 VFEmail 血的教训:solidot.org/story?sid=59558
如果你的服务器被黑客入侵了,自然用户数据泄露光光。但如果你的服务器并没有被黑客入侵,但是你的 scaleway 帐户被黑客猜测出来,此时虽然你的服务器没有被入侵,但黑客却从备份文件中获得了你实例的用户数据。在上传备份文件之前,你应当先对备份文件进行加密来避免这种情况。

附上我站的备份脚本:
gist.github.com/yingziwu/b976e
虽然我站也是采用 push 的方式,但是通过 policy 禁用了删除权限,避免了存档被删的问题。
因为 wasabi 删除的文件还要继续收费 90 天,所以我曾打算将备份从 wasabi 移至 scaleway,但发现 scaleway 不支持 policy 就此作罢。

另外教程中使用crontab作为定时器,建议改为功能更丰富、更加可控、更方便调试的 systemd.timer 。

坑点五:定期清理媒体文件完全没提。
教程中完全没有提定期清理媒体文件,如果某实例使用的vps,又将媒体文件放置于本地,又没有定期清理,那硬盘很快就会被媒体文件撑爆。

跟隨

@bgme @salt >但是 moerats.com/usr/shell/swap.sh 所对应的脚本并非是不可变的,这个脚本很可能现在虽然没有恶意代码,但未来其可能会偷偷加入恶意代码。所以请使用经审计的存档地址,例如:web.archive.org/web/2020092001

Internet Archive 是最好的 CDN!

登入以加入討論
櫻川家::自閉社交

櫻川家的日常微網誌