搭建pleroma实例笔记-大型缝合现场
教程参考
安装
在 Debian 10 / Ubuntu 20.04 上安装 Pleroma 如何在Debian 10上安装Pleroma
可以事先使用文本保存教程中出现的代码行,比如任何需要自己修改和填写域名和邮箱的代码行,方便之后复制粘贴。
管理
服务器及ssh
保存ssh密钥
Deploy a New Server with an SSH Key Vultr VPS如何生成SSH密钥
禁止root登录
保存SSH密钥,代码行示例:
{
The key’s **randomart image**is:
**ssh-rsa**
}
ssh登录warning警告
{
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
********************.
Please contact your system administrator.
Add correct host key in /Users/isaacalves/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/isaacalves/.ssh/known_hosts:12
RSA host key for ******* has changed and you have requested strict checking.
Host key verification failed.
}
尝试解决:
ssh-keygen -R you server hostname or ip
you server hostname or ip:整体替换成主机名或IP
或者尝试:
rm -v known_hosts
rm -v known_hosts.old
接着再试一次
ssh root@xx.xx.xx
根据提醒复制粘贴进rsa密钥或image,如果不需要就输入root密码
域名购买
参考教程
DNS
参考教程
配置Pleroma之初可能需要(?)
Linux命令行
cd /**/ //打开文件夹
cd //退出
mkdir *** //创建文件夹
rm *** //移除文件夹
rm -f ** //移除文件
rm -rf ** //删除内含文件的文件夹,删除无提示,慎用
nano ** //编辑文件
sudo //执行
su username //切换成sudo用户
nano filename //编辑修改文件时可以使用control+w ,输入关键词按回车,搜索相关段落进行修改
ls -l //查看文件夹内各文件权限
Linux初识
示例:
chown -R pleroma dir1/dir2
chmod 755 filename
数据库配置之初出现问题无法解决——删库跑路(?)
如何在Ubuntu完整卸载postgresql服务 https://www.cnblogs.com/xueqiuqiu/articles/11801324.html https://stackoverflow.com/questions/2748607/how-to-thoroughly-purge-and-reinstall-postgresql-on-ubuntu
删除postgresql相关的安装
sudo apt-get --purge remove postgresql\*
删除配置及文相关件
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
删除用户和所在组
sudo userdel -r postgres
sudo groupdel postgres
参考教程重新安装
sudo apt-get install postgresql
Pleroma装修及功能设置
修改注册机制
打开admin -fe settings > instance
如果不开放注册:
关闭 Registrations open 开启 Invites enabled
然后在Invites里创建Invite tokens
主题装修
主题官网下载
导入其它实例主题
ALL custom themes in CobaltKiss 郵輪主題&背景圖
导入主题操作步骤:
进入static文件夹
cd /var/lib/pleroma/static
,ls查看static文件夹内文件是否已经存在static文件夹;如果没有则创建static文件夹
mkdir static
,如果存在跳过这一步;确认当前位置是/var/lib/pleroma/static/static ,
nano styles.json
创建并编辑styles.json主题索引文件;第一次创建主题,需要复制这段官网代码到刚刚创建的styles.json文件中,示例如下:
{ "pleroma-dark": [ "Pleroma Dark", "#121a24", "#182230", "#b9b9ba", "#d8a070", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "pleroma-light": [ "Pleroma Light", "#f2f4f6", "#dbe0e8", "#304055", "#f86f0f", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "pleroma-amoled": [ "Pleroma Dark AMOLED", "#000000", "#111111", "#b0b0b1", "#d8a070", "#aa0000", "#0fa00f", "#0095ff", "#d59500"], "classic-dark": [ "Classic Dark", "#161c20", "#282e32", "#b9b9b9", "#baaa9c", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "bird": [ "Bird", "#f8fafd", "#e6ecf0", "#14171a", "#0084b8", "#e0245e", "#17bf63", "#1b95e0", "#fab81e"], "ir-black": [ "Ir Black", "#000000", "#242422", "#b5b3aa", "#ff6c60", "#FF6C60", "#A8FF60", "#96CBFE", "#FFFFB6" ], "monokai": [ "Monokai", "#272822", "#383830", "#f8f8f2", "#f92672", "#F92672", "#a6e22e", "#66d9ef", "#f4bf75" ], "redmond-xx": "/static/themes/redmond-xx.json", "redmond-xx-se": "/static/themes/redmond-xx-se.json", "redmond-xxi": "/static/themes/redmond-xxi.json", "breezy-dark": "/static/themes/breezy-dark.json", "breezy-light": "/static/themes/breezy-light.json", "mammal": "/static/themes/mammal.json", "new-theme": "/static/themes/new-theme.json" }
来自@颗颗的提醒 与官方现在的版本相比,上段代码在styles.json文件保留之前版本的一行代码:
"pleroma-amoled": [ "Pleroma Dark AMOLED", "#000000", "#111111", "#b0b0b1", "#d8a070", "#aa0000", "#0fa00f", "#0095ff", "#d59500"],
更新主题索引文件
之后每次新增主题都需要增添一行新主题索引,修改主题索引目录的完整路径
nano /var/lib/pleroma/static/static/styles.json
,注意每一次都为上一行主题添加,,而最后一行无需,:
{
"mammal": "/static/themes/mammal.json",
"new-theme": "/static/themes/new-theme.json"
}
contrl+x退出编辑,根据提示按Y确认,再按回车退回文件夹;
进入themes文件夹
cd /var/lib/pleroma/static/static/themes
,如果不存在themes文件夹,则在static文件夹下创建一个;cd /var/lib/pleroma/static/static mkdir themes
确认当前位置在/var/lib/pleroma/static/static/themes中,在themes文件夹中创建.json主题文件,主题名称可以使用中英文,但不要使用空格%等符号,空格可用-代替;
cd /var/lib/pleroma/static/static/themes nano theme-name.json
粘贴事先从其它实例或自己创建的.json文件代码,检查.json文件代码行中是否有
"name":"***"
,如果没有则需要补上主题名称,这里的名称将在实例设置中显示,可以使用中英文、空格及特殊符号,示例如下:{ "_pleroma_theme_version": 2, "name": "New@Theme", "theme": {} }
contrl+x退出编辑,根据提示按Y确认,再按回车退回文件夹。
再次提醒
每增减.json主题文件后记得nano /var/lib/pleroma/static/static/styles.json
修改新主题索引,注意倒数第二行有半角逗号而最后一行没有半角都好,注意style.json文件主题名称中的空格使用“-”替代。
表情包上传
自制表情包
Admin FE手动上传本地表情包
admin -fe settings > emoji > Local packs > Create a new local > Add new emoji to the pack > Click to upload
Admin FE获取其它pleroma实例分享的表情包
admin -fe settings > emoji > Remote packs > 输入实例地址: @xxxxxx.xxx > refresh
Puniko's emoji repository下载
cd /opt/pleroma
sudo ./bin/pleroma_ctl emoji get-packs 'screws -m https://fedi.absturztau.be/emoji-packs/manifest.json'
'screws -m https://fedi.absturztau.be/emoji-packs/manifest.json' :带引号整体替换部分
OTP安裝的話要使用./bin命令,把mix pleroma.emoji換成./bin/pleroma_ctl emoji
下载完成后重新加载:
./bin/pleroma_ctl emoji reload
Admin FE窃取其它实例表情包(建议提前沟通和©️注明版权)
admin -fe settings > MRF > Polices加入StealEmojiPolicy
MRF > MRF Emojis > Hosts加入实例地址
未知问题:实际上能窃取的表情包极少,即使几周后刷新也没有增添新表情包。
ssh上传文件至服务器
Mac系统终端工具:Tabby Win系统终端工具:Bitvise SSH Client/Tabby
emoji放大配置
教程参考
报错及解决
如果输入sudo -Hu pleroma mkdir -p custom
后出现报错:
{
root@vultr:/var/lib/pleroma/static/static# sudo -Hu pleroma mkdir -p custom
mkdir: cannot create directory ‘custom’: Permission denied
}
把sudo -Hu pleroma
去掉,或者使用su pleroma -s $SHELL -lc
命令;
如果仍然不行,直接在/var/lib/pleroma/static/static
位置中 mkdir -p custom
创建custom
文件夹。
创建前可以先检查static文件夹中的授权情况:
cd /var/lib/pleroma/static/ ls -l
重新授权:
chown -R pleroma /var/lib/pleroma
搜索功能配置
教程参考
让 Pleroma 支持中文搜索(pgcjkparser 拓展)
报错及解决
- 如果使用下载拓展包
sudo make clean && make install
提示:
Assembler messages:
Fatal error: can't create pg_cjk_parser.o: Permission denied
make: *** [<builtin>: pg_cjk_parser.o] Error 1
或者提示:
/usr/bin/install: cannot create regular file '/usr/share/postgresql/12/extension/pg_cjk_parser.control': Permission denied
make: *** [/usr/lib/postgresql/12/lib/pgxs/src/makefiles/pgxs.mk:232: install] Error 1
可能由于sudo用户权限不够,切换成root用户进行下载
- 如果更新 Pleroma 的搜索配置和索引出现以下错误:
sudo -Hu pleroma -s $SHELL -lc "./bin/pleroma_ctl database set_text_search_config public.config_2_gram_cjk"
/bin/bash: ./bin/pleroma_ctl: No such file or directory
或者“Permission denied”
检查./bin/pleroma_ctl 是否存在,尝试使用root用户在/opt/pleorma内执行:
cd /opt/pleorma
su pleroma -s $SHELL -lc "./bin/pleroma_ctl database set_text_search_config public.config_2_gram_cjk"
提前给pleroma权限:
chown -R pleroma /opt/pleroma
chmod -R 755 /opt/pleroma
魔改pleroma
Pleroma-mods
Pleroma维护
Snapshot 备份
502 Hosts问题
网站报错502,实时日志还在输出:
sudo systemctl status pleroma //显示pleroma状态
sudo journalctl -u pleroma //查看 pleroma 日志
sudo systemctl restart pleroma //重启pleroma
sudo journalctl -u pleroma -f //查看日志实时输出
如果实时日志仍在输出,稍等几分钟后再刷新网页。
网站报错502,pleroma shutdown
pleroma状态显示日志如下:
May 07 08:50:48 vultr pleroma[186361]: 08:50:48.170 [info] Application pleroma exited: __shutdown__
尝试root 操作: 先把 pleroma 服務暫停 systemctl stop pleroma 重啓 postgresql systemctl restart postgresql 重啓 pleroma systemctl start pleroma 查看下 pleroma 的狀態: systemctl status pleroma (@suica)
如果是 VPS 重启之后有问题的话,可能是没有设置 pleroma 服务开机启动。这可以在
sudo systemctl status pleroma
输出的 Loaded 一行看看有没有 enabled; 或者 disabled; 的字眼。
如果是 disabled; 的话,可以用
sudo systemctl enable pleroma
来设置开机启动。 (@颗颗)
启用MRF策略
MRF Hellthread
参考:https://kazv.moe/notice/AD9qHgxxlgFuVCyI0u https://cobaltkiss.blue/notice/AKkTl6PU7x05JWBqZk
Media proxy
开启Media proxy Enables proxying of remote media via the instance's proxy