Пошаговое руководство по установке Mastodon на сервер Ubuntu 24.04

watch 3m, 13s
views 2

10:57, 28.07.2026

Содержание статьи
arrow

  • Откройте для себя уникальные возможности Mastodon
  • Особенности Mastodon
  • Что понадобится перед началом (необходимые условия)
  • Шаг 1: Настройте базу данных PostgreSQL как профессионал
  • Шаг 2: Установка Ruby в Ubuntu 24.04
  • Шаг 3: Скачайте Mastodon и подготовьте его к настройке
  • Шаг 4: Запустите Mastodon и запустите свой инстанс.
  • Шаг 5: Настройка обратного прокси Nginx для Mastodon
  • Шаг 6: Защитите свой сайт Mastodon с помощью HTTPS
  • Резервное копирование и восстановление базы данных Mastodon
  • Устраняйте ошибки выполнения Mastodon как профессионал
  • Обновление PostgreSQL для Mastodon
  • Заключение

Откройте для себя уникальные возможности Mastodon

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

В этом руководстве мы подробно расскажем о процессе установки Mastodon на сервере Ubuntu 24.04 — от настройки базы данных до конфигурации Nginx и обеспечения безопасности сервера с помощью HTTPS.

Особенности Mastodon

  • Полный контроль над вашими данными.
  • Децентрализация, поскольку Mastodon не контролируется какой-либо одной организацией.
  • Автономность инстансов Mastodon.
  • Адаптивный и интуитивно понятный веб-дизайн.
  • Бесплатный и с открытым исходным кодом.
  • Поддержка официальных мобильных приложений Mastodon для iOS и Android.

Что понадобится перед началом (необходимые условия)

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Сервер Ubuntu 24.04 с доступом root и объёмом оперативной памяти не менее 2 ГБ.
  • Доменное имя с настройками DNS, указывающими на IP-адрес вашего сервера.
  • Служба SMTP.
  • SSL-сертификаты (в этом руководстве мы будем использовать Let’s Encrypt).
  • Базовые навыки работы с терминальными командами.

Шаг 1: Настройте базу данных PostgreSQL как профессионал

Войдите на сервер через SSH.

Добавьте репозиторий upstream:

echo "deb [signed-by=/etc/apt/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

Перенесите открытый ключ PostgreSQL:

sudo mkdir -p /etc/apt/keyrings/

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/keyrings/postgresql.asc

Обновите индекс репозитория и установите PostgreSQL:

sudo apt update

sudo apt upgrade

sudo apt install -y postgresql postgresql-contrib

Создайте базу данных и пользователя Mastodon: 

sudo -u postgres psql CREATE USER mastodon WITH CREATEDB PASSWORD 'securepassword'; CREATE DATABASE mastodon_production OWNER mastodon; \q

Обязательно замените 'securepassword' на надёжный пароль.

Шаг 2: Установка Ruby в Ubuntu 24.04

Поскольку репозиторий Ubuntu 24.04 содержит пакет ruby, а Mastodon требует Ruby версии 3.0–3.2, можно выполнить следующую команду:

sudo apt install ruby ruby-dev

Проверьте номер версии Ruby с помощью следующей команды:

ruby -v

Результат должен выглядеть следующим образом:

ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux-gnu]

Шаг 3: Скачайте Mastodon и подготовьте его к настройке

Создайте пользователя mastodon:

sudo adduser mastodon --system --group --disabled-login

Установите инструмент git:

sudo apt install git

Склонируйте репозиторий кода Mastodon с GitHub с помощью следующей команды:

git clone https://github.com/tootsuite/mastodon.git

Создайте каталог /var/www/ (пропустите этот шаг, если он уже существует):

sudo mkdir -p /var/www/

Переместите каталог mastodon в /var/www/:

sudo mv mastodon/ /var/www/

Установите mastodon в качестве владельца:

sudo chown mastodon:mastodon /var/www/mastodon/ -R

Загрузите последнюю стабильную версию Mastodon:

cd /var/www/mastodon/

sudo -u mastodon git checkout v4.2.8

Установите bundler: менеджер зависимостей для Ruby:

sudo gem install bundler

Установите Node.js v18:

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

sudo apt install nodejs

Установите Yarn (менеджер пакетов Node.js):

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

sudo apt update

sudo apt -y install yarn

Установите пакеты для компиляции исходного кода:

sudo apt install redis-server optipng pngquant jhead jpegoptim gifsicle nodejs imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev libidn11-dev libicu-dev libjemalloc-dev

Установите пакеты зависимостей для Mastodon:

sudo -u mastodon bundle config deployment 'true'

sudo -u mastodon bundle config without 'development test'

sudo -u mastodon bundle install -j$(getconf _NPROCESSORS_ONLN)

sudo -u mastodon yarn install

Запустите мастер настройки:

sudo -u mastodon RAILS_ENV=production bundle exec rake mastodon:setup

Сначала вам будет задан ряд вопросов.

  • Доменное имя: Выберите доменное имя для вашего экземпляра Mastodon.
  • Включить однопользовательский режим: Включите однопользовательский режим, если хотите, чтобы посетители могли регистрироваться на вашем экземпляре Mastodon.
  • Используете ли вы Docker для запуска Mastodon: Нет.
  • Хост PostgreSQL: 127.0.0.1
  • Порт PostgreSQL: 5432
  • База данных PostgreSQL: mastodon
  • Пользователь PostgreSQL: mastodon
  • Пароль пользователя PostgreSQL: Пароль для пользователя mastodon был создан на шаге 1.
  • Хост Redis: 127.0.0.1
  • Порт Redis: 6379
  • Пароль Redis: Нажмите Enter.
  • Хотите ли вы хранить загруженные файлы в облаке? Если вы хотите хранить файлы на собственном сервере, выберите «Нет».
  • Хотите ли вы отправлять электронные письма с localhost? Если это ваш почтовый сервер или вы настроили SMTP-ретранслятор, вы можете выбрать «Да», в противном случае введите свои учетные данные для входа на SMTP-сервер.
  • Адрес электронной почты, с которого будут отправляться письма: нажмите Enter, чтобы использовать адрес отправителя по умолчанию.
  • Отправить тестовое письмо с этой конфигурацией прямо сейчас. Выберите «Да», чтобы отправить тестовое письмо.
  • Отправить тестовое письмо на: введите адрес для тестового письма.
  • Сохранить настройки? Выберите «Да».

Далее нажмите «Да», чтобы настроить базу данных. Теперь, когда настройки сохранены, необходимо загрузить схему базы данных. Затем выберите «Да», чтобы скомпилировать CSS/JS-ресурсы. Наконец, скомпилируйте CSS/JS-ресурсы.

Теперь вы можете создать пользователя-администратора.

Шаг 4: Запустите Mastodon и запустите свой инстанс.

Скопируйте шаблоны служб systemd в каталог /etc/systemd/system/:

sudo cp /var/www/mastodon/dist/mastodon.service /etc/systemd/system/

Перейдите в каталог /var/www/mastodon/:

sudo sed -i 's/home\/mastodon\/live/var\/www\/mastodon/g' /etc/systemd/system/mastodon-.service

Замените /home/mastodon/.rbenv/shims/bundle на /usr/local/bin/bundle:

sudo sed -i 's/home\/mastodon\/.rbenv\/shims/usr\/local\/bin/g' /etc/systemd/system/mastodon-.service

Перезагрузите systemd, чтобы изменения вступили в силу:

sudo systemctl daemon-reload

Запустите службы systemd:

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

Проверьте статус:

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

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

sudo ss -lnpt | grep 3000

Если порт 3000 уже занят другим процессом, вам нужно отредактировать файл /etc/systemd/system/mastodon-web.service:

sudo nano /etc/systemd/system/mastodon-web.service

Измените номер порта на 3001, перезагрузите systemd и перезапустите Mastodon:

sudo systemctl daemon-reload

sudo systemctl restart mastodon-web

Шаг 5: Настройка обратного прокси Nginx для Mastodon

Установите веб-сервер Nginx из репозитория Ubuntu 24.04:

sudo apt install nginx

Скопируйте шаблон файла конфигурации Nginx:

sudo cp /var/www/mastodon/dist/nginx.conf /etc/nginx/conf.d/mastodon.conf

Отредактируйте новый файл:

sudo nano /etc/nginx/conf.d/mastodon.conf

Найдите строку server_name example.com в блоках сервера для порта 80 и порта 443. Измените имя сервера и добавьте запись DNS типа A для доменного имени:

server_name social.example.com;

Найдите следующую строку в блоках сервера для порта 80 и порта 443:

root /home/mastodon/live/public;

Измените её на:

root /var/www/mastodon/public;

Найдите следующие две строки:

# ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

Измените их на следующее:

ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

Сохраните и закройте файл. Создайте каталог кэша:

sudo mkdir -p /var/nginx/cache/

Проверьте конфигурацию Nginx:

sudo nginx -t

Перезапустите Nginx, чтобы изменения вступили в силу:

sudo systemctl reload nginx

Шаг 6: Защитите свой сайт Mastodon с помощью HTTPS

Используйте Let’s Encrypt для защиты вашего сайта с помощью HTTPS.

Установите Certbot:

sudo apt install certbot python3-certbot-nginx

Получите SSL-сертификат:

sudo certbot --nginx -d example.com

Настройте автоматическое продление:

sudo certbot renew --dry-run

Резервное копирование и восстановление базы данных Mastodon

Регулярное резервное копирование обеспечивает безопасность данных. Вот простой способ создания резервной копии.

Сделайте резервную копию базы данных:

sudo -u postgres pg_dump mastodon_production > mastodon_backup.sql

Восстановление из резервной копии:

sudo -u postgres psql mastodon_production < mastodon_backup.sql

Устраняйте ошибки выполнения Mastodon как профессионал

Основываясь на нашем опыте устранения ошибок Mastodon, попробуйте следующее для их решения:

  • Проверьте журналы с помощью journalctl -u mastodon или tail -f log/production.log.
  • Перезапустите службы: при необходимости перезапустите Nginx или службы Mastodon.
  • Обновите зависимости: поддерживайте Ruby, PostgreSQL и Mastodon в актуальном состоянии.

Обновление PostgreSQL для Mastodon

Если вам нужно обновить PostgreSQL, обязательно создайте резервную копию базы данных, прежде чем продолжить:

pg_dump -U mastodon mastodon_production > mastodon_backup.sql

Затем следуйте инструкциям по обновлению PostgreSQL, после чего повторно импортируйте данные.

Заключение

Поздравляем! Вы успешно установили и настроили Mastodon на своём сервере Ubuntu 24.04. Теперь, когда ваш экземпляр запущен, вы готовы приветствовать пользователей в новом децентрализованном социальном пространстве. Не забывайте следить за работой сервера, обновлять его и регулярно создавать резервные копии базы данных для бесперебойной и безопасной работы.

Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 16384 Linux

£ 42.76

£

При оплате за год

-10%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 65536 Linux

£ 115.48

£

При оплате за год

-7.2%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 4096 Windows

£ 17.97

£

При оплате за год

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 8192
OS
CentOS
Software
Software
Keitaro

£ 24.8

£

При оплате за год

-15.6%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
30 Mbps
DDoS Protected SSD-KVM 1024 Linux

£ 32.51

£

При оплате за год

-8.8%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 16384 Windows

£ 39.96

£

При оплате за год

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 4096 Windows

£ 15.48

£

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 8192 Linux

£ 98.81

£

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 2048 Linux

£ 6.59

£

При оплате за год

-15.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
60 Mbps
DDoS Protected SSD-wKVM 4096 Windows

£ 62.45

£

При оплате за год

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.