加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux处理器 在 Ubuntu 22.04 LTS 上安装 Pleroma

发布时间:2023-01-08 12:02:24 所属栏目:Linux 来源:互联网
导读: Pleroma 是一个参与 Fediverse 的轻量级服务器。 Pleroma 是 Mastodon 服务器软件的替代品。 与 Mastodon 相比,Pleroma 不需要那么多的处理器或 RAM 来进行类似的安装。 本教程记录了 Ple

Pleroma 是一个参与 Fediverse 的轻量级服务器。 Pleroma 是 Mastodon 服务器软件的替代品。 与 Mastodon 相比,Pleroma 不需要那么多的处理器或 RAM 来进行类似的安装。 本教程记录了 Pleroma 服务器的安装步骤。 服务器可以是 Fediverse 的个人家庭实例,也可以是与朋友、家人或兴趣社区共享的实例。

先决条件例子

本教程使用示例:

初始步骤验证主机名和 FQDN

验证实例的主机名是否设置为服务器的主机名。

$ hostname
pleroma

如果主机名不正确,请按照 Vultr 的说明更改主机名或使用正确的主机名重新安装映像。 重新安装映像以修改主机名将 彻底擦除实例上的所有内容 所以这必须在任何进一步的配置发生之前完成。

为常用项设置环境变量:

这应该看起来像 export FQDN=pleroma.example.com, export [emailprotected], 和 export USER=admin

$ export FQDN=    
$ export EMAIL=
$ export USER=

验证 DNS 记录是否指向 FQDN。

$ dig +short $FQDN
192.0.2.1

将服务器的 IP 地址与其完全限定域名相关联的 DNS PTR 记录应在 Vultr 控制面板中配置。

确保系统软件是最新的并启用自动更新

系统应运行当前软件以获得最佳性能和安全性。

$ sudo apt update
$ sudo apt -y full-upgrade

删除任何不必要的/过时的包:

$ sudo apt autoremove

启用软件更新的自动安装。

(对有关下载和安装稳定更新的问题回答“是”)

$ sudo apt-get install unattended-upgrades
$ sudo dpkg-reconfigure -plow unattended-upgrades

安装 Postgres 及配套软件

$ sudo apt -y install git build-essential postgresql postgresql-contrib cmake libmagic-dev

安装 Elixir 和 Erlang

$ sudo apt -y install elixir erlang-dev erlang-nox

安装图像处理工具

$ sudo apt -y install imagemagick ffmpeg libimage-exiftool-perl

安装Pleroma

创建一个用户来运行 Pleroma 软件:

$ sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma

创建 Pleroma 目录

$ sudo mkdir -p /opt/pleroma
$ sudo chown -R pleroma:pleroma /opt/pleroma

以 Pleroma 用户身份克隆 Pleroma git 存储库

$ sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma

更改到 pleroma 子目录

$ cd /opt/pleroma

安装 Pleroma 的支持包。 回答 是es 当被要求安装 Hex 时。

$ sudo -Hu pleroma mix deps.get

生成 pleroma 配置。 这可能会需要几分钟。 回答 是es 当被要求安装 rebar3 时。

$ sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen

配置程序将询问一系列问题,应按如下方式回答:

您的实例将使用哪个域? (例如 pleroma.soykaf.com) [] 将 FQDN 放在这里 进入

您的实例名称是什么? (例如 Corndog 商场) [] 服务器名称 进入

你的…是 admin 电子邮件地址? [] 电子邮件地址 进入

您要使用哪个电子邮件地址发送电子邮件通知? [] 电子邮件地址 进入

您想让搜索引擎为您的网站编制索引吗? (是/否) [y] 进入

您是否要将配置存储在数据库中(允许从 admin-fe)? (是/否) [n] Y 输入

您的数据库的主机名是什么? [localhost] 进入

您的数据库的名称是什么? [pleroma] 进入

用于连接到您的数据库的用户是什么? [pleroma] 进入

用于连接到数据库的密码是什么? [autogenerated] 进入

您想使用 RUM 指数吗? [n] 进入

该应用程序将监听哪个端口(如果您使用 nginx 的默认设置linux处理器,请保留它)? [4000] 进入

该应用程序将监听什么 ip(如果您使用 nginx 的默认设置,请保留它)? [127.0.0.1] 进入

媒体上传应该放在哪个目录中(使用本地上传器时)? [uploads] 进入

应该从哪个目录读取自定义公共文件(自定义表情符号、前端包覆盖、robots.txt 等)? [instance/static/] 进入

您要从上传的图像中去除位置 (GPS) 数据吗? 这需要 exiftool,它被检测为已安装。 (是/否) [y] 进入

您想匿名化上传的文件名吗? (是/否) [n] Y 输入

您要对上传的文件进行重复数据删除吗? (是/否) [n] Y 输入

将配置写入 config/generated_config.exs。

将 postgres 脚本写入 config/setup_db.psql。

写入 /opt/pleroma/instance/static/robots.txt。

所有文件写入成功! 有关后续步骤,请参阅适用于您的平台的安装说明。

请在运行数据库迁移后将您的配置传输到数据库。 有关详细信息,请参阅文档的“将配置传输到数据库/从数据库传输配置”部分。

将配置文件移动到它们的最终位置:

$ sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}

提高安全配置

放 secure_cookie_flag 确实如此 cookies 通过安全连接发送.

$ sudo sed -i 's/secure_cookie_flag: false/secure_cookie_flag: true/g' config/config.exs

启用严格的传输安全,这样攻击者就无法 将 HTTPS 连接降级为 HTTP.

$ sudo sed -i 's/ sts: false/ sts: true/g' config/config.exs

更新 ca-certificates.crt 文件并将其添加到 pleroma 配置中:

$ sudo update-ca-certificates --fresh
$ sudo sed -i 's,path/to/file/with/PEM/cacerts,/etc/ssl/certs/ca-certificates.crt,' config/description.exs

创建 Postgres 数据库:

$ sudo -Hu postgres psql -f config/setup_db.psql

运行数据库迁移:

$ sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate

安装 Nginx

Nginx 将作为 Pleroma 前面的反向代理,处理 TLS 和会话管理。

$ sudo apt -y install nginx

停止 Nginx 以允许 Certbot 使用端口 80:

$ sudo service nginx stop

配置防火墙 (ufw) 以允许端口 80 和 443 上的入站 TCP 连接:

$ sudo ufw allow http
$ sudo ufw allow https

安装 Certbot 并请求 TLS 证书

$ sudo apt -y install certbot
$ sudo mkdir -p /var/lib/letsencrypt/

Certbot 将要求批准 Let’s Encrypt 的(强制性)服务条款和报价

订阅(可选)邮件列表。 Certbot 将自行配置为自动刷新 TLS 证书。

$ sudo certbot certonly --email $EMAIL -d $FQDN --standalone

安装 Nginx 配置

$ sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
$ sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx

在 Nginx 配置中添加域名

$ sudo sed -i "s,example.tld,$FQDN," /etc/nginx/sites-available/pleroma.nginx

使 Nginx 在开机时启动并立即启动

$ sudo systemctl enable --now nginx.service

安装systemd服务文件:

$ sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service

使 Pleroma 在引导时启动并立即启动它:

$ sudo systemctl enable --now pleroma.service

创建管理 Pleroma 用户:

$ sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new $USER $EMAIL --admin

系统将显示一个 URL 来为指定的用户名设置密码。

最后的步骤

使用提供的链接设置密码,然后单击“主页”。

使用刚刚创建的用户名/密码登录,点击屏幕右上角的地球图标进入“管理”菜单,然后在左侧面板上选择“设置”,然后选择“实例”。 向下滚动并修改“注册开放”设置以允许(默认选择)或拒绝公共用户注册和状态发布,并根据需要设置其他选项。 修改“Federating”设置以允许(默认)或拒绝连接到其他服务器 .

选择“提交”按钮将配置更改发送到服务器。 安装完成。

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!