Установка Mastodon · 11 min read · Oct 13, 2025

Как установить социальную сеть Mastodon на Debian 11

Mastodon — это бесплатная, децентрализованная и открытая социальная сеть, аналогичная Twitter. В Mastodon пользователи могут подписываться друг на друга и публиковать сообщения, изображения и видео. Но в отличие от Twitter, нет центрального хранилища или власти для контента.

С децентрализованной архитектурой Mastodon работает на тысячах различных серверов, каждый из которых управляется различными членами сообщества. Вы можете создать свой сервер Mastodon под своим доменом. Вы также можете подписываться на других пользователей с разных доменов на других серверах.

В этом руководстве вы установите Mastodon, децентрализованную платформу микроблогов на сервере Debian 11. С помощью этого руководства вы настроите Mastodon с PostgreSQL в качестве сервера базы данных и Nginx в качестве обратного прокси. Кроме того, вы обеспечите установку Mastodon с помощью бесплатных SSL-сертификатов от Letsencrypt.

Предварительные требования

Это руководство предполагает, что у вас есть следующие требования:

  • Сервер Debian 11 — в этом примере используется последний сервер Debian 11 с именем хоста ‘mastodon-server‘ и IP-адресом ‘192.168.5.40‘.
  • Пользователь, не являющийся root, с правами администратора sudo/root.
  • Доменное имя, указывающее и разрешающее ваш публичный сервер Debian — в этом примере используется поддомен ‘mastodon.howtoforge.local‘.

Когда вы выполните эти предварительные требования, вы готовы перейти к установке Mastodon.

Настройка репозиториев и установка зависимостей

Mastodon — это бесплатное и открытое программное обеспечение для запуска саморазмещенных социальных сетей, аналогичных сервису Twitter. Оно в основном написано на Ruby, особенно с использованием веб-фреймворка Ruby on Rails и JavaScript с фреймворками Reac.js и Redux.

На этом первом этапе вы настроите дополнительные репозитории в вашей системе и установите зависимости пакетов для установки Mastodon. Это включает в себя такие пакеты, как build-essentials для компиляции Ruby, PostgreSQL для сервера базы данных, Nginx в качестве веб-сервера и обратного прокси, инструмент certbot для получения SSL-сертификатов через Letsencrypt и сервер Redis, который будет использоваться для хранения ключ-значение и управления сессиями для Mastodon.

Перед тем как начать, выполните следующую команду apt для установки некоторых основных зависимостей, которые будут использоваться для управления репозиториями и пакетами.

sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificates

Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.

установить основные пакеты

Затем выполните следующую команду, чтобы добавить репозиторий Node.js Nodesource. Пакет Node.js здесь будет использоваться для компиляции статических ресурсов Mastodon. На момент написания этой статьи, последняя версия Mastodon требует как минимум Node.js v16.

curl -sL https://deb.nodesource.com/setup_16.x | bash -

Вы получите вывод, похожий на следующий.

добавить репозиторий nodejs

После добавления репозитория Node.js вы затем настроите репозиторий для менеджера пакетов Yarn. Этот репозиторий предоставляет пакет Yarn, который будет использоваться для установки зависимостей JavaScript.

Выполните следующую команду, чтобы добавить GPG-ключ и репозиторий менеджера пакетов Yarn.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null  
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Третий репозиторий, который вы добавите, — это репозиторий PostgreSQL. Выполните следующую команду, чтобы добавить репозиторий PostgreSQL на ваш сервер Debian.

wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc  
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \  
> /etc/apt/sources.list.d/postgresql.list

добавить репозиторий yarn postgresql

С добавленными репозиториями Node.js, Yarn и PostgreSQL выполните следующую команду apt, чтобы обновить индекс пакетов.

sudo apt update

Вы получите вывод, похожий на этот.

обновить и обновить репозиторий

Наконец, выполните следующую команду apt для установки зависимостей пакетов, которые будут использоваться для установки Mastodon.

sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \  
  g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \  
  bison build-essential libssl-dev libyaml-dev libreadline6-dev \  
  zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \  
  nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \  
  certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev

Введите y, когда появится запрос на подтверждение, и нажмите ENTER, чтобы продолжить.

установить зависимости

Таким образом, вы установили основные зависимости для Mastodon и добавили некоторые сторонние репозитории в вашу систему Debian.

На следующих этапах вы установите Ruby через rbenv — менеджер версий Ruby.

Установка rbenv и Ruby

rbenv — это инструмент управления версиями для языка программирования Ruby на системах, подобных Unix. Он полезен для переключения между несколькими версиями Ruby на одной машине и для обеспечения того, чтобы каждый проект, над которым вы работаете, всегда работал на правильной версии Ruby.

Для начала выполните следующую команду, чтобы создать нового пользователя ‘mastodon‘ в вашей системе. Этот новый пользователь будет использоваться для запуска служб, связанных с Mastodon, а исходный код Mastodon будет храниться в домашнем каталоге этого пользователя.

sudo adduser --disabled-login mastodon

В процессе вас попросят ввести информацию о пользователе. Введите свои данные и введите y для подтверждения, затем нажмите ENTER.

добавить нового пользователя

После создания пользователя ‘mastodon‘ выполните следующую команду, чтобы войти в систему.

su - mastodon

Затем загрузите исходный код rbenv с помощью команды git ниже.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Затем выполните следующую команду, чтобы установить rbenv в вашу систему.

cd ~/.rbenv && src/configure && make -C src

Вы получите вывод, похожий на этот, после установки rbenv.

загрузить и установить rbenv

Затем выполните следующую команду, чтобы добавить директорию ‘bin’ rbenv в системный PATH и загружать rbenv каждый раз, когда пользователь входит в новую сессию.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Теперь перезагрузите текущую оболочку, перезагрузив файл конфигурации bashrc. Затем введите команду ‘rbenv’ в вашей оболочке и нажмите TAB.

source ~/.bashrc  
rbenv TAB

На следующем скриншоте rbenv установлен, и вы теперь можете выполнять команду rbenv для установки Ruby.

Перед установкой Ruby вам необходимо установить плагин rbenv под названием ‘ruby-build’. Этот плагин предоставляет инструменты командной строки, которые упрощают установку Ruby из исходников, особенно для операционных систем, подобных UNIX.

Загрузите плагин ‘ruby-build’ с помощью команды git.

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

загрузить ruby_plugin

После добавления плагина ‘ruby-build’ выполните следующую команду, чтобы установить Ruby v3.0.4, которая требуется для текущей версии Mastodon.

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4

После завершения установки вы получите вывод, похожий на этот.

установить ruby

Теперь выполните следующую команду, чтобы установить версию Ruby по умолчанию на 3.0.4. Затем проверьте с помощью команды ruby, как показано ниже. Вы увидите, что Ruby v3.0.4 установлена на вашем сервере Debian.

rbenv global 3.0.4  
ruby --version

проверить ruby

Наконец, вам необходимо установить bundler в качестве управления пакетами Ruby. Выполните команду gem ниже, чтобы установить ‘bundler’.

gem install bundler --no-document

На этом этапе вы завершили установку зависимостей пакетов Mastodon на вашей системе. Вы установили Ruby 3.0.4 через менеджер версий Ruby rbenv и установили bundler, инструмент управления пакетами Ruby.

На следующих этапах вы настроите пользователя PostgreSQL, который будет использоваться для установки Mastodon.

Настройка сервера базы данных PostgreSQL

На этом этапе вы проверите службу PostgreSQL, чтобы убедиться, что служба включена и работает. Затем вы создадите нового пользователя/роль PostgreSQL ‘mastodon’ через оболочку PostgreSQL.

Убедитесь, что вы выполняете эти команды с правами пользователя root.

Перед тем как начать, выполните следующую команду systemctl, чтобы убедиться, что служба PostgreSQL работает и включена.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Вы должны получить вывод, похожий на этот.

проверить postgresql

С работающим PostgreSQL выполните следующую команду, чтобы войти в оболочку PostgreSQL.

cd /etc/postgresql  
sudo -u postgres psql

После входа в оболочку PostgreSQL выполните следующий запрос PostgreSQL, чтобы создать новую роль/пользователя ‘mastodon‘. Также убедитесь, что вы изменили пароль по умолчанию на новый надежный пароль.

CREATE USER mastodon CREATEDB;  
ALTER USER mastodon PASSWORD 'p4ssw0rd';

Затем выполните следующий запрос, чтобы убедиться, что новый пользователь/роль PostgreSQL создан. Затем введите ‘\q‘, чтобы выйти из оболочки PostgreSQL.

\du  
\q

Ниже приведенный вывод показывает, что новая роль/пользователь PostgreSQL ‘mastodon’ создан.

настройка роли/пользователя postgresql

С созданным пользователем/ролью PostgreSQL вы готовы установить Mastodon на вашей системе Debian.

Установка Mastodon

В этом шаге вы установите и настроите Mastodon на вашем сервере Debian. Вы также установите зависимости Ruby и зависимости JavaScript для Mastodon. И, наконец, вы начнете настраивать Mastodon для вашего развертывания, включая конфигурацию домена, конфигурацию базы данных и redis, конфигурацию SMTP, а также конфигурацию администратора Mastodon.

Перед тем как начать, войдите в систему как пользователь ‘mastodon’ с помощью команды ниже.

su - mastodon

Теперь загрузите исходный код Mastodon с помощью команды git и переключитесь на последнюю стабильную версию Mastodon. На момент написания этой статьи стабильная версия Mastodon — v4.0.2.

git clone https://github.com/mastodon/mastodon.git live && cd live  
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

загрузить mastodon

Затем выполните следующую команду, чтобы настроить развертывание Mastodon и установить зависимости Ruby.

bundle config deployment 'true'  
bundle config without 'development test'  
bundle install -j$(getconf _NPROCESSORS_ONLN)

Установка зависимостей Ruby для Mastodon займет время. Ниже приведен аналогичный вывод, который вы получите в вашем терминале.

настройка развертывания и установка зависимостей

После установки зависимостей Ruby для Mastodon выполните следующую команду yarn, чтобы установить зависимости JavaScript для Mastodon.

yarn install --pure-lockfile

Вы получите вывод, похожий на этот.

установить зависимости javascript

С установленными зависимостями Ruby и JavaScript вы затем настроите вашу установку Mastodon.

Выполните следующую команду, чтобы настроить Mastodon для производственной среды.

RAILS_ENV=production bundle exec rake mastodon:setup

Вас спросят о некоторых конфигурациях Mastodon.

  • Имя домена Mastodon? В этом примере используется домен ‘mastodon.howtoforge.local’.
  • Включить режим одного пользователя? Введите y.
  • Использовать Docker для запуска Mastodon? Введите n для нет.
  • Введите пользователя и пароль PostgreSQL и убедитесь, что вы получите сообщение ‘Конфигурация базы данных работает!’.
  • Конфигурация Redis? оставьте по умолчанию, нажав ENTER.
  • Включить загрузку файлов в облако? Введите n для нет.
  • Разрешить отправку электронной почты с localhost? Введите y для да, чтобы подтвердить, или n для нет. Это зависит от вашей среды, вы также можете использовать сторонний SMTP-сервер.
  • Сохранить конфигурацию? Введите y для да.
  • Для создания базы данных. Введите y, чтобы создать базу данных Mastodon.
  • Введите y, чтобы скомпилировать ресурсы и статические файлы для Mastodon.
  • Настроить администратора? Введите нового администратора и электронную почту для вашей установки Mastodon. И вы получите автоматически сгенерированный пароль на экране.

Конфигурация Mastodon для имени домена, PostgreSQL, сервера Redis и SMTP Mail сервера.

настроить mastodon

Mastodon генерирует ресурсы и статические файлы.

сгенерировать ресурсы

Администратор mastodon создан, и пароль также сгенерирован на экране терминала.

На этом этапе вы завершили установку и настройку Mastodon на Debian 11. На следующих этапах вы настроите Mastodon как службу systemd.

Запуск Mastodon как службы Systemd

По умолчанию Mastodon предоставляет образцы файлов служб systemd, которые доступны в директории ‘/home/mastodon/live/dist/‘.

Выполните следующую команду, чтобы скопировать файлы служб Mastodon в директорию ‘/etc/systemd/system‘.

sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/

Теперь перезагрузите менеджер systemd, чтобы применить изменения в systemd.

sudo systemctl daemon-reload

После этого запустите и включите службы Mastodon с помощью утилиты командной строки systemctl ниже.

sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming  
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming

настроить службу mastodon systemd

Службы Mastodon теперь должны работать и быть включенными. Проверьте с помощью следующей команды systemctl.

sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streaming

Вы получите вывод, похожий на следующие скриншоты.

Служба mastodon-web работает и включена.

служба mastodon-web

Служба mastodon-sidekiq также работает и включена.

служба sidekiq mastodon

Служба mastodon-streaming также работает и включена.

служба потокового mastodon

С всеми работающими и включенными службами Mastodon вы затем настроите Nginx как обратный прокси для Mastodon и сгенерируете SSL Letsencrypt.

Настройка Nginx как обратного прокси

На этом этапе вы настроите веб-сервер Nginx как обратный прокси для Mastodon. Вы также сгенерируете SSL Letsencrypt с помощью команды certbot и обеспечите безопасность Mastodon через защищенное HTTPS-соединение.

Скопируйте конфигурацию блока сервера по умолчанию Mastodon Nginx в ‘/etc/nginx/sites-available/mastodon’. Затем активируйте новую конфигурацию блока сервера ‘/etc/nginx/sites-available/mastodon‘.

sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon  
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon

Затем откройте файл конфигурации блока сервера Mastodon ‘/etc/nginx/sites-available/mastodon’ с помощью команды nano ниже.

sudo nano /etc/nginx/sites-available/mastodon

Измените имя домена по умолчанию на ваш домен Mastodon. В этом примере домен для Mastodon — ‘mastodon.howtoforge.local‘.

изменить домен

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду, чтобы сгенерировать SSL-сертификаты от Letsencrypt. Обязательно измените имя домена на ваше доменное имя.

sudo certbot --nginx -d mastodon.howtoforge.local

После генерации SSL-сертификатов выполните следующую команду, чтобы проверить конфигурацию Nginx. Если вы получите сообщение, такое как ‘тест успешен - синтаксис в порядке‘, это означает, что у вас правильная конфигурация. Затем перезапустите службу Nginx, чтобы применить новые изменения.

sudo nginx -t  
sudo systemctl restart nginx

проверить конфигурацию nginx

Наконец, выполните следующую команду systemctl, чтобы проверить службу Nginx и убедиться, что служба работает и включена.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Вы получите вывод, похожий на этот — служба Nginx в настоящее время работает и включена. Служба Nginx будет автоматически запускаться при загрузке.

проверить nginx

С завершением всех конфигураций ваш Mastodon теперь доступен через веб-браузер.

Доступ к установке Mastodon

Откройте веб-браузер и посетите доменное имя вашей установки Mastodon (т.е.: https://mastodon.howtoforge.local/). Теперь вы увидите домашнюю страницу Mastodon.

домашняя страница mastodon

Нажмите кнопку ‘Войти‘, чтобы подтвердить своего пользователя.

Теперь введите своего администратора и сгенерированный пароль для Mastodon. Затем нажмите Войти.

страница входа mastodon

Вы увидите домашнюю страницу пользователя Mastodon.

панель управления пользователя mastodon

Затем нажмите меню Настройки, чтобы получить страницу предпочтений пользователя. Затем нажмите меню Администрирование слева. И вы должны получить страницу администрирования Mastodon ниже.

Вы можете увидеть детали программного стека, который вы в настоящее время используете в вашей установке Mastodon.

администрирование mastodon

Заключение

Поздравляем! Вы завершили установку платформы микроблогов Mastodon на сервере Debian 11. Вы установили Mastodon с PostgreSQL в качестве сервера базы данных и Nginx в качестве обратного прокси. Вы также обеспечили развертывание Mastodon через защищенные HTTPS-соединения.

После всей установки вы теперь можете настроить правило Mastodon для поддержки федерации. Вы также можете добавить дополнительный уровень безопасности к вашей установке Mastodon.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.