Как установить свой собственный федеративный Twitter с Pleroma

Микроблоггинг — это замечательный способ выразить свои мысли. Он короткий, лаконичный и приятный. В этом отношении Twitter был одной из самых популярных платформ для микроблоггинга в мире. Однако полагаться на эту конкретную компанию для своих нужд в микроблоггинге может быть не лучшим решением для всех.
К счастью, есть альтернативы, такие как Pleroma, который является самохостингом Twitter. Это легкая федеративная платформа для микроблоггинга. Использование федерации позволяет платформе взаимодействовать с другими федеративными инстанциями, что означает, что вам не нужно собирать много людей для своего собственного частного Twitter, чтобы начать делиться информацией. Эта статья призвана помочь вам начать работу с Pleroma.
Содержание
- Проблема с Twitter
- Что такое федерация и как она работает
- Как установить Pleroma
- Настройте свои DNS-записи A и AAAA
- Получите зависимости Pleroma
- Создайте пользователя Pleroma
- Скачайте Pleroma
- Подготовьте и установите Pleroma
- Настройте установку Pleroma
- Конфигурации, специфичные для медиа
- Завершите настройку Pleroma
- Запустите базу данных Pleroma
- Запустите свой сервер Pleroma
- Финальные настройки
- Часто задаваемые вопросы
Также читайте: Топ-7 дистрибутивов на базе Debian, которые стоит попробовать, если вы хотите альтернативу Ubuntu
Проблема с Twitter
Twitter известен тем, что случайным образом блокирует аккаунты за неопределенные нарушения политики. Если вы человек, который накопил годы постов в Twitter, потеря этой истории может быть разрушительной. Более того, Twitter также известен тем, что передает данные пользователей как рекламодателям, так и государственным учреждениям.
Это делает Twitter небезопасной платформой для людей, которые хотят иметь полный контроль над своими данными, или для журналистов, которые освещают спорные темы.
Что такое федерация и как она работает
Одно из решений этой проблемы — создание социальной сети через федерацию серверов. Это система, в которой вы позволяете нескольким серверам, работающим на аналогичном программном обеспечении, взаимодействовать друг с другом прозрачно.
Из-за этого любой федеративный сервер может действовать как узел для всей сети, где вы можете получать доступ и участвовать с другими серверами.

В свою очередь, это создает устойчивую экосистему, которая может легко адаптироваться к любым обстоятельствам. Например, если сервер Pleroma выйдет из строя, это не остановит федеративную сеть Pleroma. Это может уменьшить количество постов в сети, но другие серверы все равно смогут взаимодействовать друг с другом.
Также читайте: Как установить Debian через Интернет
Как установить Pleroma
Pleroma требует ряда вещей, прежде чем вы сможете начать его настройку:
- Во-первых, вам нужно иметь общедоступную машину. Это может быть либо машина в вашем доме, которую вы можете перенаправить, либо VPS, который вы приобрели у провайдера.
- Кроме того, если вы используете VPS для установки Pleroma, вам нужно иметь доступ root к этому VPS. Это связано с тем, что вам нужно будет установить пакеты, которые Pleroma требует для правильной работы.
- Наконец, вам нужно иметь доменное имя. Это потому, что certbot, утилита SSL-сертификатов, потребует доменное имя для генерации сертификата для вашей инстанции Pleroma.
С учетом этого, этот гид будет сосредоточен на установке Pleroma на VPS на базе Debian от Digitalocean.
1. Настройте свои DNS-записи A и AAAA
Перед тем как начать, разумно сначала связать ваше доменное имя с IP-адресом вашего VPS.

Это гарантирует, что любая команда, которая ссылается на ваше доменное имя ниже, будет правильно разрешена. Таким образом, это становится особенно полезным, как только вы настроите свои SSL-сертификаты позже.
- Чтобы связать ваше доменное имя с IP-адресом вашего VPS, вам нужно отредактировать DNS-запись вашего доменного имени. Хотя вы можете использовать другую службу регистратора доменных имен, чем я, процесс связывания вашего доменного имени с адресом вашего VPS в основном остается тем же.
- В моем случае я связал свое доменное имя: yetanotherpleromaserver.xyz с моим VPS Digitalocean через Namesilo. Для этого я сначала получил доступ к окну управления доменами Namesilo.

- Отсюда вам нужно щелкнуть по доменному имени. Это откроет настройки для этого конкретного домена.
- Далее нажмите на ссылку “DNS Records”. Это покажет все доступные DNS-записи для вашего доменного имени.

- После этого я добавил ресурс “A” в свою DNS-запись, нажав на ссылку “A” в окне “Добавить/Редактировать ресурс” на странице записей Namesilo.

- С этого момента мне нужно было только добавить IPv4-адрес моего VPS Digitalocean.

- Процесс добавления записи “AAAA” также такой же. Однако вместо нажатия на ссылку “A” я буду нажимать на ссылку “AAAA”. Кроме того, вместо добавления IPv4-адреса я добавлю IPv6-адрес.

Также читайте: 5 лучших дистрибутивов Linux-Libre для лучшей безопасности
2. Получите зависимости Pleroma
Следующее, что вам нужно сделать, это скачать все пакеты, которые требуются Pleroma. Как обсуждалось выше, я собираюсь выделить процесс установки только для дистрибутивов Linux на базе Debian и Ubuntu. Таким образом, я буду использовать apt для установки всех необходимых пакетов.
С учетом этого, Pleroma зависит от трех основных программ: postgresql, elixir и erlang. Поэтому вам нужно установить эти программы, а также несколько других, которые будут дополнять эти три в выполнении их работы.
Для этого вы можете выполнить следующую команду:
sudo apt install git build-essential postgresql postgresql-contrib cmake libmagic-dev elixir erlang-dev erlang-nox nginx certbot
3. Создайте пользователя Pleroma
С этим завершено, следующим шагом будет создание учетной записи пользователя “pleroma”. Это учетная запись, которую вы будете использовать для загрузки и установки пакета Pleroma. Делая это таким образом, вы гарантируете, что программа Pleroma не будет иметь никаких прав суперпользователя в вашей системе.
Для этого вы можете выполнить следующую команду:
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma- Опция
-rустановит пользователя “pleroma” как системную учетную запись, а не как пользовательскую учетную запись. - Кроме того, опция
-sустановит оболочку входа для этого пользователя как “false”. Это гарантирует, что пользователь pleroma сам по себе не сможет выполнять никакие команды из оболочки. - С другой стороны, флаги
-mи-dустанавливают домашний каталог для пользователя “pleroma”. Флаг-mявно устанавливает учетную запись с домашним каталогом, а флаг-dуказывает, что этот каталог должен указывать на “ /var/lib/pleroma”. - Наконец, флаг
-Uсоздает группу пользователей с тем же именем и добавляет вновь созданного пользователя Pleroma в эту группу.

4. Скачайте Pleroma
Теперь вы можете скачать пакет Pleroma из их репозиториев. Для этого вам нужно сначала создать каталог, в который будут загружены файлы:
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma- Первая команда создаст каталог “pleroma”, в который вы будете загружать все файлы для программы.
- Вторая команда, с другой стороны, передаст право собственности на эту папку от root к pleroma. Это позволит pleroma читать и записывать в эту папку без каких-либо проблем.

После этого следующим шагом будет загрузка исходного кода Pleroma. Для этого вам нужно использовать git:
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
5. Подготовьте и установите Pleroma
Теперь вы можете перейти в каталог /opt/pleroma, чтобы начать процесс установки программы:
cd /opt/pleromaОттуда вам нужно запустить программу Mix, чтобы загрузить все дополнительные зависимости для Pleroma. Для этого вы можете выполнить следующую команду:
sudo -Hu pleroma mix deps.get
После этого вы можете продолжить компиляцию и установку Pleroma. Для этого вам нужно выполнить только одну команду:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance genЭта команда сделает три вещи:
- Во-первых, опция
MIX_ENV=prodустановит переменную окружения программы на целевую производственную настройку. Это означает, что программа не будет содержать никаких инструментов и файлов для разработки. - Опция
genсоздаст файл конфигурации, который нацелен на переменную окружения, которую вы предоставили. - Наконец, эта команда также скомпилирует и установит Pleroma из его исходного кода. Из-за этого этот процесс займет некоторое время в зависимости от аппаратного обеспечения, на котором вы его запускаете.

Также читайте: Как исправить зацикливание входа в Ubuntu
6. Настройте установку Pleroma
Как только Pleroma завершит компиляцию, он попросит вас предоставить некоторую информацию о вашем сервере.
- Во-первых, ему нужно будет доменное имя, которое вы хотите использовать для программы. В моем случае я использовал свое доменное имя: “yetanotherpleromaserver.xyz”.

- Отсюда скрипт конфигурации спросит, какое имя вы хотите для вашего сервера Pleroma. В моем случае я использовал то же имя: “Yet Another Pleroma Server” для своего сервера.

- Далее введите свой адрес электронной почты администратора. Это должен быть правильный адрес электронной почты, который может получать и отправлять электронные письма.

- Теперь выберите, хотите ли вы, чтобы ваша инстанция Pleroma была доступна для поисковых систем. Это полезно, если вы хотите создать публичную инстанцию Pleroma, к которой могут присоединиться и войти другие люди. В моем случае я хотел, чтобы этот сервер был частным, поэтому я выбрал “n”.

- После этого скрипт спросит, хотите ли вы сохранить свою конфигурацию в файле базы данных. В большинстве случаев вы захотите выбрать “да” здесь и выбрать параметры по умолчанию, которые он предложит.

- Наконец, скрипт потребует от вас добавить некоторые детали о том, на каком порту и адресе слушать. Если вы устанавливаете Pleroma на той же машине, на которой вы его настраиваете, безопасно оставить значения по умолчанию.
7. Конфигурации, специфичные для медиа
Теперь скрипт конфигурации потребует от вас выбрать, где вы хотите сохранить медиафайлы, которые будут загружены на сервер. Аналогично вышеуказанным настройкам, безопасно оставить их по умолчанию.
Далее решите, хотите ли вы удалить любые геолокации из EXIF-данных фотографий, которые вы получите. Это полезно, если вы хотите сохранить конфиденциальность загрузчика. Поскольку я буду использовать это только как частную инстанцию, я выбрал “нет” здесь.
Кроме того, вам нужно будет решить, хотите ли вы анонимизировать имена файлов загружаемых файлов. Это особенно полезно, если вы хотите удалить любую ассоциацию с загрузчиком и тем, что они загрузили. В моем случае я также выбрал “нет” здесь.
Наконец, скрипт конфигурации позволит вам выбрать, хотите ли вы создать несколько копий файлов, загружаемых на ваш сервер. В моем случае я выбрал “нет”.
8. Завершите настройку Pleroma
- Теперь вы можете просмотреть свой файл конфигурации. Он находится в “ /opt/pleroma/config/generated_config.exs”. Вы можете использовать
less, чтобы просмотреть его:
less /opt/pleroma/config/generated_config.exs- Чтобы завершить эту конфигурацию, вам нужно переименовать этот файл в “prod.secret.exs”. Вы можете сделать это, выполнив следующую команду:
sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
Также читайте: Что такое сеть Yggdrasil и как ее установить
9. Запустите базу данных Pleroma
- Следующее, что вам нужно сделать, это запустить программу базы данных. Для этого вы можете использовать базу данных, предоставленную Pleroma. Вы можете загрузить эту базу данных, выполнив следующую команду:
sudo -Hu postgres psql -f /opt/pleroma/config/setup_db.psql
- После этого вы можете связать postgres и Pleroma, мигрировав базу данных postgres в Pleroma. Для этого вы можете выполнить следующую команду:
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
10. Запустите свой сервер Pleroma
Теперь пришло время запустить ваш сервер Pleroma. Вы можете сделать это, выполнив следующую команду:
sudo -Hu pleroma MIX_ENV=prod mix phx.server
Однако этот сервер все еще недоступен из обычного браузера. Чтобы это разрешить, вам сначала нужно настроить certbot и nginx.
Также читайте: 9 лучших почтовых клиентов для Linux
Настройка Certbot для Pleroma
- Настройка certbot относительно проста. Сначала вам нужно создать папку, в которой будут сохранены сертификаты. Вы можете сделать это, выполнив следующую команду:
sudo mkdir -p /var/lib/letsencrypt/- С этим завершено, вы можете теперь сгенерировать сертификат для вашего сервера Pleroma. Для этого вы можете выполнить эту команду:
sudo certbot certonly --email [email protected] -d yourpleromaserver.com --standalone
Настройка Nginx для Pleroma
- Далее, следующее, что вам нужно сделать, это настроить ваш веб-сервер nginx для Pleroma. Установка Pleroma уже предоставляет шаблон, который вы можете скопировать в каталог конфигурации nginx. Для этого вы можете выполнить следующую команду:
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx- Далее вам нужно отредактировать этот файл конфигурации, чтобы он соответствовал вашему серверу Pleroma. В большинстве случаев это будет включать изменение четырех переменных: server_name, ssl_trusted_certificate, ssl_certificate и ssl_certificate_key.
- Для первой переменной вам нужно изменить значение “example.tld” на доменное имя вашего сервера. В моем случае я изменил это на “yetanotherpleromaserver.xyz”.

- Далее, следующие три переменные указывают на местоположение SSL-сертификата вашего домена. Если вы создали свой сертификат через этот гид, этот путь будет “ /etc/letsencrypt/live/yourdomain.name/“.
- Это уже предоставлено шаблоном nginx, и единственное, что осталось сделать, это изменить значение “example.tld” на ваше доменное имя.

- С этим завершено, вы можете теперь включить вашу конфигурацию nginx, создав символическую ссылку на активный каталог nginx. Для этого вы можете выполнить следующую команду:
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx- После этого вы можете теперь запустить nginx, включив его службу systemctl:
sudo systemctl enable nginx.service11. Финальные настройки
- Отсюда вы можете теперь настроить системную службу для Pleroma и создать своего первого пользователя. По умолчанию Pleroma включает шаблон systemctl для включения своей службы через systemd. Чтобы использовать этот шаблон, вы можете выполнить следующую команду:
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
- Теперь вы можете включить Pleroma через systemctl, выполнив эту команду:
sudo systemctl enable pleroma.service
- Наконец, вы можете теперь создать своего первого пользователя для вашей инстанции Pleroma, выполнив команду
pleroma.user:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new yourusername [email protected] --admin
Также читайте: Как исправить проблему “Не могу печатать в терминале” в Linux
Часто задаваемые вопросы
1. Загружаемые мной фотографии все еще имеют данные геолокации. Что я сделал не так?
Это может быть связано с рядом причин. Однако самой распространенной причиной, почему это произошло, является то, что у вас нет пакета exiftool. Для приведенного выше руководства exiftool не был пакетом, установленным по умолчанию.
Таким образом, чтобы удалить геолокацию для загружаемых вами изображений, вам нужно вручную добавить этот пакет. Для этого вы можете выполнить следующую команду:
sudo apt install exiftool2. Я не могу сгенерировать сертификат Letsencrypt. Что я сделал не так?
Это также может быть связано с рядом причин. Однако самой распространенной причиной этого является то, что nginx все еще работает.
Для того чтобы команда certbot работала, вам нужно, чтобы общие веб-порты были открыты и не использовались какой-либо программой. Чтобы отключить nginx, вы можете выполнить следующую команду:
sudo systemctl stop nginxКредит изображения: Pleroma