Misskey的安装与天坑

这比当时安装flarum坑多了……

安装过程

安装过程就遇到了海量的坑点……

剧透预警:

为了您的方便和安全,还是减少使用宝塔面板吧……

环境——在宝塔面板安装misskey

根据官方要求,建议宝塔用户直接在软件商店配置安装这三个
环境

要点:

  • 关掉数据库的日志功能,否则会迅速吃干净服务器空间
  • redis记得开密码并限定本地访问(端口也不要开)。过去出现过太多案例了。
  • PM2管理器只是为了方便装环境,实际运行时还是走命令行比较好。

之后就是按照官方流程在服务器上准备一个misskey用户(用root跑多半……会有安全问题吧)进行搭建了。

安装与配置环境

其实就是按部就班。首先通过宝塔的PM2管理器可以直接安装yarn模块
模块安装

同理,PostgreSQL和redis数据库主程序也可以通过面板安装特定版本(对于misskey来说最新版即可)
数据库安装

后面遵循本站为友情链接的dogcraft大神的流程配置数据库即可,下面说说笔者遇到的第一个天坑

  1. 宝塔面板的添加数据库功能是废的(如图所示的是不能使用的),需要手动添加。
    不要用这个
  2. 和MySQL相比,postgresql的使用有点非人性化。(对像笔者这种菜鸟来说……)不仅需要切换到postgres用户,而且使用上也很糟心……
    1
    2
    sudo -i su postgres
    /www/server/pgsql/bin/psql 👈对,宝塔安装版不会自动添加进系统path还需要输入完整路径
    除此之外,作为正常界面的postgres=#和非正常界面的postgres-#长得也太像了吧!而MySQL在没打分号等时候是直接起一空行的。
  3. 再次提醒要小心日志挤爆空间

处理主程序

根据官方教程,我们可以在处理速度快的电脑上先编译,编译完了再把主程序上传到misskey用户的目录(图方便)。对于新安装来说没有太大问题,只有几点要注意:

  • Windows下编译会比较麻烦,需要安装的node-gyp包在windows上倾向调用臃肿的visual studio进行编译……如果出现这个错误而你又不想用visual studio的话建议按照错误提示给的链接上去看,有不用的方法。
  • .config/default.yml设置要正确。域名提前做好解析,数据库用户名和密码也要对上

接下来是第二个天坑:文件夹的权限问题。笔者在第一次装的时候不停遇到ERR 1 [api] Error: EACCES: permission denied, copyfile 问题无法上传文件。老实说,这个错误信息已经告诉了问题出在权限上,不过当时被ls -al返回的信息误判了。实际上即使/misskey文件夹下的目录,如果是用root用户创建(比如上传)的也会有权限问题。

解决方案:chgrp -R misskey misskeychown -R misskey misskey.

主程序开跑

意外地简单,就是几行命令。因为systemd用不了,所以笔者选择的方案是开个screen运行。

1
2
3
screen -S misskey
cd /home/misskey/misskey 👈理论上来说,如果严格按照官方建议的话这里你应该在使用misskey用户,所以用相对路径的~/misskey更好
NODE_ENV=production npm start

理论上,在你处理完主程序后这里就可以关掉了。screen会一直跑下去,并且只要不关机随时可以通过screen -r misskey来查看(先切换到你在跑screen的那个用户misskey)

运营与使用

在使用过程中,笔者还遇到过一个自己原因的失误坑:nginx反代配置问题。宝塔环境下正确的配置步骤如下:

  1. 虽然nginx只用来做反向代理,但是还是建议在面板上新增个网站。因为绑定域名和ssl很方便。绑定ssl证书在这里直接就能绑定ssl证书。
  2. 按照官方说明去修改网站的配置文件而不只是反向代理的部分。否则,websocket会用不了……
    主配置

好在misskey作为node.js程序并不需要其他语言环境,不用安装臃肿的php等

其他大坑

  1. misskey无法通过systemd运行,目前尚不清楚这个错误怎么搞。
  2. 更新时,不仅/built需要传到服务器,其他的文件夹也要上传。这个过于折磨的问题害笔者停机了25小时,因为报错信息根本搞不清楚哪里出问题。感谢dogcraft大神的指导。
  3. 貌似不能彻底删除用户/频道

感想

misskey可能还是不够稳定,扩展性也一般……但作为社交媒体服务还是很优秀的。