比格犬劳动饮酒叹息

第一次自建 Mastodon 站点的丰富踩坑经验

1 准备机器。 使用memory大于而不是等于1G的机器比较好,否则会很卡。可以使用docker,但用的话我不懂,打扰了。 2 域名和邮件服务。 域名最便宜的地方是namesilo,如果在godaddy上买会比较亏。邮件服务mailgun需要外币信用卡,如果没有可选国内替代品。 3 Linux基础。 别的也就算了,先学会ssh、系统结构、ls命令和vi/vim编辑器吧。如果输入了有语法错误的命令系统是没有提示的,错了也不知道,所以对某个文件进行操作可以先用ls命令看一下那个地方到底有什么,有该有的东西再操作。然后,所有命令都是一行一行复制过去跑的,不要把别的语言的习惯带过来啊。

4 【官方文档:安装fail2ban】 在编辑文件之前,请一定要看一下它存不存在。官方文档没有告诉说明需要安装fail2ban,但我的Ubunto 18.04上就是没有,所以先安装: apt-get install -y fail2ban 然后再改配置。如果用ls /etc/fail2ban 查看会发现文件夹里没有 jail.local 文件而有别的配置文件,网络教程解释:这是因为 .local 文件会覆盖另一个配置文件,所以直接 vi /etc/fail2ban/jail.local 创建新文件就可以。其他教程可能还会有设置最大尝试登录次数之类,可以加上。 下一步的编辑 /etc/iptables/rules.v4 则是为已有的文件增添内容,后面也会做很多次——当然不是把文档上的代码段全文复制,而是补充上文件里没有的部分。

5 【官方文档:配置PostgreSQL – 性能优化】 看也不看地跟着官方文档的命令确实是会踩坑的,幸好这次装用ls命令看了一下,发现 /etc/postgresql/9.6/main/ 这里什么都没有,因为机子上装的postgresql根本不是9.6而是更新的版本。一步步往上用ls查看,发现 /etc/postgresql/ 下有 10 这个文件夹,说明机子上的版本是10. 然后就把9.6改成10再编辑。如果直接执行 vi /etc/postgresql/9.6/main/postgresql.conf 那当然就是创建了一个新的文件然后放在不相干的地方了。 在pgTune里选择合适的配置时,也请选择正确的版本号和VPS配置,然后复制原配置文档中没有的部分,加进去。

6 【官方文档:配置PostgreSQL – 性能优化】 创建postgresql用户并打开控制台的语句 sudo -u postgres psql 运行会提示permission denied,不能访问根文件夹,但仍然会出现 psql 控制台。经搜索是因为postgresql 9.x 版本升级后产生了变化,使用 sudo -i -u postgres psql 替代可解。

7 【官方文档:配置 Mastodon】 用交互式安装向导时除了域名统统按照括号里的提示填就完了。如果要顺便创建管理员账号,记得存密码。这个阶段之前,应该配置好邮件服务,我就没配置成功。

8 【官方文档:配置 systemd 服务】 最后一步 systemctl enable mastodon-* 会出错,提示某个文件不存在,改掉 * 这个通配符,分别用上一步中的mastodon-web.service mastodon-sidekiq.service mastodon-streaming.service 替代即可。之前的过程中也有用到通配符的地方,不知道为什么前面没出错,我还特意检查了 cp 那个命令确实跑成功了。


不想因为博客暴露三次元身份,为网友们准备了telegraph版本: https://telegra.ph/moewbot-building-a-Mastodon-for-the-first-time-05-08 感谢我的长毛象网友们,尤其是在建站上无私地回答了我很多问题的bgme, nebula, dain, welsea, ghost 等。

#mastodon