LinuxСоциальные медиа

Ваша собственная социальная сеть: как настроить экземпляр Mastodon в Linux

Ваша собственная социальная сеть: как настроить экземпляр Mastodon в Linux

Надоело твиттер? Надоели фейсбуком? Злоупотребление онлайн и содержание NSFW сводят вас с ума? Просто хотите обменяться идеями подальше от ярости людей, которые противостоят вам?

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

Ваша собственная социальная сеть: как настроить экземпляр мастодонта в Linux

Если вы не знакомы с Мастодонтом, вот основы. Тоты похожи на твиты и могут содержать до 500 символов (в отличие от ограничения в 140 символов в Twitter). Посмотрите наш недавний взгляд на Mastodon чтобы увидеть, как все это работает.

Что тебе понадобится

Для создания собственного экземпляра Мастодонта требуется следующее:

  • Веб-сервер под управлением Ubuntu Server 16.04. На Vultr.com вы можете найти недорогие серверные учетные записи менее чем за 10 долларов в месяц, хотя есть и другие решения.
  • Неиспользуемое доменное имя, указывающее на сервер. Это означает, что записи DNS на хосте веб-домена настроены для направления посетителей на IP-адрес сервера Ubuntu. Как это делается, зависит от поставщика, поэтому проверьте соответствующую документацию.
  • Учетная запись Mailgun для управления регистрациями в вашем экземпляре Mastodon. Это доступно бесплатно, но данные вашей кредитной карты необходимы для отправки первых 10000 электронных писем. Перейдите на страницу регистрации в Mailgun, чтобы создать учетную запись, и убедитесь, что вы следуете инструкциям по проверке домена, чтобы убедиться, что ваш новый / не использованный домен электронной почты указан как активный.

Настройка Мастодонта требует трех основных элементов:

  • Docker — полезное программное обеспечение виртуализации
  • Мастодонт — сама социальная сеть
  • Nginx (произносится EngineX) — многофункциональное программное обеспечение веб-сервера, используемое в данном случае в качестве обратного прокси

(Обратный прокси-сервер позволяет серверу получать ресурсы или данные с одного или нескольких других серверов от имени клиента. Во многих случаях это является мерой безопасности для защиты сервера.)

Вам также понадобится SSH-соединение с вашим сервером. Это доступно через терминал в Linux (или macOS). Если вы используете SSH в Windows , загрузите и установите PuTTY .

Установите соединение SSH и установите Docker

Вам нужно будет подключиться к вашему серверу через SSH и войти с обычными учетными данными администратора. Как только это будет сделано, создайте пользователя с именем «mastodon», назначьте привилегии root и переключитесь на нового пользователя:

adduser mastodon usermod -aG sudo mastodon su - mastodon 

Затем обновите базу данных пакетов и установите инструменты управления:

 sudo apt-get update sudo apt-get install apt-transport-https software-properties-common 

Для Docker репо нужен ключ GPG, который вы можете приобрести с

 sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 

Затем добавьте репозиторий Docker к источникам и обновите еще раз.

 sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update 

Для обеспечения правильной работы Docker необходимо установить собственный репозиторий, а не версию в официальном репозитории Ubuntu 16.04. Эта политика гарантирует, что произойдет:

 sudo apt-cache policy docker-engine 

Теперь вы можете установить Docker:

 sudo apt-get install -y docker-engine 

Подождите, пока это не завершится. Установка включает в себя демон, который запускает Docker при загрузке сервера. Проверьте статус с

 sudo systemctl status docker 

Вы увидите несколько строк текста — ищите «active (running)», чтобы убедиться, что все в порядке.

Настроить с помощью Docker Compose

Создание новой группы пользователей сэкономит время при вводе команды sudo при каждом запуске инструкции Docker в этой конфигурации. Сделать это с

 sudo usermod -aG docker $(whoami) 

Завершите это, выйдя из настройки SSH (выход), затем войдите снова.

Ваша собственная социальная сеть: как настроить экземпляр мастодонта в Linux muo linux mastodon install git

Docker Compose предназначен для управления запуском многоконтейнерных приложений Docker. На github.com/docker/compose/releases вы найдете последнюю версию выпуска. Запишите число, так как вам нужно будет ввести его в следующей команде, заменив его на «xxx»:

 sudo curl -o /usr/local/bin/docker-compose -L "https://github.com/docker/compose/releases/download/xxx/docker-compose-$(uname -s)-$(uname -m)" 

Сделайте его исполняемым:

 sudo chmod +x /usr/local/bin/docker-compose 

Вы можете проверить, что Docker Compose установлен с

 docker-compose -v 

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

Установить мастодонта

Вся подготовка сделана. Теперь вы готовы к установке Мастодонта. Перейдите в подкаталог мастодонта:

 cd /home/mastodon 

Затем, клонируйте mastodon.git в каталог, затем откройте папку и сделайте копию файла .env.production.sample.

 git clone https://github.com/tootsuite/mastodon.git cd mastodon cp .env.production.sample .env.production 

Вы можете использовать этот файл в данный момент. Сначала создайте образ Docker.

 docker-compose build 

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

 docker-compose run --rm web rake secret 

Ваша собственная социальная сеть: как настроить производство мастодонтов в Linux

Выполните это три раза, копируя и вставляя каждый уникальный ключ в текстовый редактор. Когда все три будут готовы, запустите файл .env.production в nano.

 sudo nano .env.production 

Найдите следующие поля: PAPERCLIP_SECRET, SECRET_KEY_BASE и OTP_SECRET. Каждый из них должен иметь один из секретных ключей, вставленных против них.

Добавьте свои настройки Mailgun

Пришло время добавить детали для вашей учетной записи электронной почты Mailgun. Перейдите на https://app.mailgun.com/app/domains и щелкните домен. Найдите имя пользователя и пароль по умолчанию для SMTP и скопируйте данные в файл .env.production в виде записей для SMTP_LOGIN и SMTP_PASSWORD.

Затем найдите SMTP_FROM_ADDRESS и убедитесь, что запись для него имеет имя, начинающееся с «уведомлений», например notifications@domain.name. Наконец, найдите LOCAL_DOMAIN и добавьте имя домена, которое вы используете для этого проекта.

Когда закончите, нажмите CTRL + X, чтобы сохранить и закрыть, затем перестройте Docker.

 docker-compose build 

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

 docker-compose run --rm web rails db:migrate docker-compose run --rm web rails assets:precompile 

Эти команды займут некоторое время для завершения. Как только вы закончите, включите контейнер:

 docker-compose up -d 

Включить Nginx

Nginx используется в этой настройке в качестве обратного прокси.

Ваша собственная социальная сеть: как настроить экземпляр мастодонта в Linux muo linux мастодонт установить nginx

Установите его с помощью:

 sudo apt-get install nginx 

У Nginx есть профиль по умолчанию, который вам нужно удалить:

 sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default 

Создать новый профиль с

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

Далее вам нужно создать символическую ссылку для доступа к профилю:

 sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon 

Затем у вас есть файл конфигурации для копирования в текстовый редактор. Посетите эту страницу Github и скопируйте содержимое, затем вставьте в

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

Открыв файл, найдите каждый экземпляр example.com и замените его именем домена, которое вы используете. Убедитесь, что вы опускаете «www».

Ваша собственная социальная сеть: как настроить экземпляр Mastodon на Linux.

Нажмите CTRL + X, чтобы сохранить и выйти.

Получите сертификат SSL и запустите Mastodon!

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

Начните с установки certbot PPA, а затем и самого certbot:

 sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot 

Затем остановите Nginx, чтобы можно было генерировать сертификаты SSL.

 sudo systemctl stop nginx.service 

Выполните это с помощью приведенной ниже команды, заменив example.com вашим собственным доменным именем.

 sudo letsencrypt certonly --standalone -d example.com 

Следуйте инструкциям, чтобы завершить процесс. Когда вы закончите, вернитесь в каталог мастодонта:

 cd /home/mastodon/mastodon 

Следующий шаг — временно остановить Docker:

 docker-compose down 

Ваша собственная социальная сеть: как настроить экземпляр Mastodon в Linux

Мы почти закончили — просто выполните эти команды по очереди:

 docker-compose build docker-compose run --rm web rails assets:precompile docker-compose run --rm web rails db:migrate docker-compose up -d 

Подождите, пока эти команды завершатся, затем восстановите Nginx:

 sudo systemctl restart nginx.service 

Теперь, если все прошло нормально, вы сможете открыть окно браузера и перейти к новому экземпляру Mastodon, чтобы увидеть, как он работает!

Любые проблемы здесь, к сожалению, будут означать повторение того, что вы уже сделали. Если файл .env.production исправен и Mailgun работает, то просто продолжите шаги, следуя последнему сохранению файла .env.production. Обратите внимание, что если ваш домен не настроен правильно с регистратором домена и с Mailgun, то вы не сможете запустить Мастодонт, пока эти проблемы не будут решены.

Обратите внимание, что если ваш домен не настроен правильно с вашим регистратором доменов и с Mailgun, вы не сможете запустить Mastodon, пока эти проблемы не будут решены.

Вы работаете: автоматизируйте задачи и управляйте мастодонтом

Мы мучительно близки к концу сейчас. Еще несколько минут, и вы сможете опубликовать свой экземпляр Mastodon.

Определенные задачи должны быть автоматизированы. Перейдите в каталог мастодонта и создайте новый каталог для заданий cron — инструкции, которые выполняются в заданное время.

 cd /home/mastodon nano mastodon_cron 

В текстовом файле добавьте:

 cd /home/mastodon/mastodon docker-compose run --rm web rake mastodon:media:clear docker-compose run --rm web rake mastodon:push:refresh docker-compose run --rm web rake mastodon:push:clear docker-compose run --rm web rake mastodon:feeds:clear 

Выйдите с помощью CTRL + Y , затем введите:

 sudo chmod +x mastodon_cron && sudo crontab -e 

Откроется файл crontab — своего рода управляющий индекс всех запланированных (cron) сценариев. Введите эту строку в конце:

 0 0 * * * /home/mastodon/mastodon_cron > /home/mastodon/mastodon_log 

Нажмите CTRL + X, чтобы сохранить и выйти.

Обновить SSL

Хотя сертификат SSL настроен, срок его действия истекает через 90 дней. Это решение cron, которое автоматически обновляет сертификат. вход

 sudo crontab -e 

… Затем прокрутите до конца файла и добавьте их в строки:

 0 1 * * 1 /usr/bin/letsencrypt renew >> /home/mastodon/letsencrypt.log 5 1 * * 1 /bin/systemctl reload nginx 

Снова нажмите CTRL + X, чтобы сохранить и выйти; Инструкция продлит сертификат старше 60 дней, в 1:00 в понедельник. Затем он перезагрузит Nginx.

Администрация Мастодонта

Теперь все готово. Любой может отправиться в ваш экземпляр Mastodon, чтобы зарегистрироваться и начать отправлять свои заявки. Это относится и к вам — но, конечно, вам понадобится аккаунт с повышенными правами доступа. Начните с создания учетной записи и нажмите ссылку в электронном письме с подтверждением.

Ваша собственная социальная сеть: как настроить экземпляр Mastodon в Linux

Далее вернитесь в подкаталог мастодонта:

 cd /home/mastodon/mastodon 

Используйте эту команду для повышения вашего имени пользователя до уровня администратора:

 docker-compose run --rm web rails mastodon:make_admin USERNAME=yourusername 

Вернитесь к Мастодонту в окне браузера и получите доступ к настройкам вашей учетной записи. Найдите ссылку « Администрирование» для просмотра учетных записей пользователей и управления настройками Mastodon S ite, которые включают такие вещи, как заголовок и описание, а также цель / тема экземпляра.

Ваша собственная социальная сеть, обсуждающая ваши темы!

Твиттер подвергся критике в последние месяцы за его медлительность в борьбе с киберзапугиваниями и распространение счетов, пропагандирующих и прославляющих исламский экстремизм. Тем временем Facebook продолжает оставаться кошмаром .

Чтобы справиться с этим, вы можете присоединиться к Мастодонту. Мы думаем, что вы должны, так как вы по крайней мере увидите, как все можно сделать по-другому. И если вам это нравится, почему бы не установить свой собственный экземпляр?

Ты пробовал мастодонт? Вы создали свой собственный экземпляр? Расскажите нам, как все прошло.

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux