加入收藏 | 设为首页 | 会员中心 | 我要投稿 台州站长网 (https://www.0576zz.cn/)- 边缘计算、中间件、数据处理、数据分析、智能存储!
当前位置: 首页 > 综合聚焦 > Linux > 正文

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

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

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”设置以允许(默认)或拒绝连接到其他服务器 .

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

(编辑:台州站长网)

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

    推荐文章