Установка 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 -Вы получите вывод, похожий на следующий.

После добавления репозитория 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
С добавленными репозиториями 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.

Затем выполните следующую команду, чтобы добавить директорию ‘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-build’ выполните следующую команду, чтобы установить Ruby v3.0.4, которая требуется для текущей версии Mastodon.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4После завершения установки вы получите вывод, похожий на этот.

Теперь выполните следующую команду, чтобы установить версию Ruby по умолчанию на 3.0.4. Затем проверьте с помощью команды ruby, как показано ниже. Вы увидите, что Ruby v3.0.4 установлена на вашем сервере Debian.
rbenv global 3.0.4
ruby --version
Наконец, вам необходимо установить 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.
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 вы готовы установить 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 и установить зависимости 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Вы получите вывод, похожий на этот.

С установленными зависимостями 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 на 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 теперь должны работать и быть включенными. Проверьте с помощью следующей команды systemctl.
sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streamingВы получите вывод, похожий на следующие скриншоты.
Служба mastodon-web работает и включена.

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

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

С всеми работающими и включенными службами 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
Наконец, выполните следующую команду systemctl, чтобы проверить службу Nginx и убедиться, что служба работает и включена.
sudo systemctl is-enabled nginx
sudo systemctl status nginxВы получите вывод, похожий на этот — служба Nginx в настоящее время работает и включена. Служба Nginx будет автоматически запускаться при загрузке.

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

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

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

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

Заключение
Поздравляем! Вы завершили установку платформы микроблогов Mastodon на сервере Debian 11. Вы установили Mastodon с PostgreSQL в качестве сервера базы данных и Nginx в качестве обратного прокси. Вы также обеспечили развертывание Mastodon через защищенные HTTPS-соединения.
После всей установки вы теперь можете настроить правило Mastodon для поддержки федерации. Вы также можете добавить дополнительный уровень безопасности к вашей установке Mastodon.
Get new posts in your inbox
No spam. Unsubscribe anytime.