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

Устали от Twitter? Надоел Facebook? Оскорбления в Интернете и контент NSFW вас раздражают? Просто хотите обменяться идеями вдали от взглядов противников?

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

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

Что вам понадобится

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

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

Для настройки Mastodon требуются три основных элемента:

  • Docker — полезное программное обеспечение для виртуализации
  • Mastodon — сама социальная сеть
  • 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  

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

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

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

  sudo usermod -aG docker $ (whoami)  

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

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/xx. x/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  

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

  docker-compose run --rm web rake secret  

Выполните это три раза, копируя и вставляя каждый уникальный ключ в текстовый редактор. Когда все три готовы, запустите файл .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», например notifications@domain.name. Наконец, найдите LOCAL_DOMAIN и добавьте доменное имя, которое вы используете для этого проекта.

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

  сборка docker-compose  

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

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

Для выполнения этих команд потребуется некоторое время.. Когда вы закончите, включите контейнер:

  docker-compose up -d  

Включить Nginx

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.

Нажмите 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  

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

  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 , то вы не сможете запустить Mastodon, пока эти проблемы не будут решены.

Обратите внимание, что Если ваш домен неправильно настроен с помощью вашего регистратора доменов и 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 обновить >>/home/mastodon/letsencrypt. log 
5 1 * * 1/bin/systemctl reload nginx

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

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

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

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

  cd/home/mastodon/mastodon  

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

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

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

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

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

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

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

.

Оцените статью
oilgasindustry.ru
Добавить комментарий