Misskey的安装与天坑
这比当时安装flarum坑多了……
安装过程
安装过程就遇到了海量的坑点……
环境——在宝塔面板安装misskey
根据官方要求,建议宝塔用户直接在软件商店配置安装这三个
要点:
- 关掉数据库的日志功能,否则会迅速吃干净服务器空间
- redis记得开密码并限定本地访问(端口也不要开)。过去出现过太多案例了。
- PM2管理器只是为了方便装环境,实际运行时还是走命令行比较好。
之后就是按照官方流程在服务器上准备一个misskey用户(用root跑多半……会有安全问题吧)进行搭建了。
安装与配置环境
其实就是按部就班。首先通过宝塔的PM2管理器可以直接安装yarn模块
同理,PostgreSQL和redis数据库主程序也可以通过面板安装特定版本(对于misskey来说最新版即可)
后面遵循本站为友情链接的dogcraft大神的流程配置数据库即可,下面说说笔者遇到的第一个天坑:
- 宝塔面板的添加数据库功能是废的(如图所示的是不能使用的),需要手动添加。
- 和MySQL相比,postgresql的使用有点非人性化。(对像笔者这种菜鸟来说……)不仅需要切换到postgres用户,而且使用上也很糟心……除此之外,作为正常界面的
1
2sudo -i su postgres
/www/server/pgsql/bin/psql 👈对,宝塔安装版不会自动添加进系统path还需要输入完整路径postgres=#
和非正常界面的postgres-#
长得也太像了吧!而MySQL在没打分号等时候是直接起一空行的。 - 再次提醒要小心日志挤爆空间
处理主程序
根据官方教程,我们可以在处理速度快的电脑上先编译,编译完了再把主程序上传到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 misskey
和chown -R misskey misskey
.
主程序开跑
意外地简单,就是几行命令。因为systemd用不了,所以笔者选择的方案是开个screen运行。
1 | screen -S misskey |
理论上,在你处理完主程序后这里就可以关掉了。screen会一直跑下去,并且只要不关机随时可以通过screen -r misskey
来查看(先切换到你在跑screen的那个用户misskey)
运营与使用
在使用过程中,笔者还遇到过一个自己原因的失误坑:nginx反代配置问题。宝塔环境下正确的配置步骤如下:
- 虽然nginx只用来做反向代理,但是还是建议在面板上新增个网站。因为绑定域名和ssl很方便。在这里直接就能绑定ssl证书。
- 按照官方说明去修改网站的主配置文件而不只是反向代理的部分。否则,websocket会用不了……
好在misskey作为node.js程序并不需要其他语言环境,不用安装臃肿的php等
其他大坑
- misskey无法通过systemd运行,目前尚不清楚这个错误怎么搞。
- 更新时,不仅/built需要传到服务器,其他的文件夹也要上传。这个过于折磨的问题害笔者停机了25小时,因为报错信息根本搞不清楚哪里出问题。感谢dogcraft大神的指导。
- 貌似不能彻底删除用户/频道
感想
misskey可能还是不够稳定,扩展性也一般……但作为社交媒体服务还是很优秀的。