Надоело твиттер? Надоели фейсбуком? Злоупотребление онлайн и содержание NSFW сводят вас с ума? Просто хотите обменяться идеями подальше от ярости людей, которые противостоят вам?
Mastodon — это ответ А благодаря его природе с открытым исходным кодом, вы можете настроить свой собственный экземпляр Mastodon, позволяя общаться на любую тему и предоставляя своим пользователям некоторую безопасность и конфиденциальность от троллей всех видов.
Если вы не знакомы с Мастодонтом, вот основы. Тоты похожи на твиты и могут содержать до 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 (выход), затем войдите снова.
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
Выполните это три раза, копируя и вставляя каждый уникальный ключ в текстовый редактор. Когда все три будут готовы, запустите файл .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 используется в этой настройке в качестве обратного прокси.
Установите его с помощью:
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, то вы не сможете запустить Мастодонт, пока эти проблемы не будут решены.
Обратите внимание, что если ваш домен не настроен правильно с вашим регистратором доменов и с 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, чтобы зарегистрироваться и начать отправлять свои заявки. Это относится и к вам — но, конечно, вам понадобится аккаунт с повышенными правами доступа. Начните с создания учетной записи и нажмите ссылку в электронном письме с подтверждением.
Далее вернитесь в подкаталог мастодонта:
cd /home/mastodon/mastodon
Используйте эту команду для повышения вашего имени пользователя до уровня администратора:
docker-compose run --rm web rails mastodon:make_admin USERNAME=yourusername
Вернитесь к Мастодонту в окне браузера и получите доступ к настройкам вашей учетной записи. Найдите ссылку « Администрирование» для просмотра учетных записей пользователей и управления настройками Mastodon S ite, которые включают такие вещи, как заголовок и описание, а также цель / тема экземпляра.
Ваша собственная социальная сеть, обсуждающая ваши темы!
Твиттер подвергся критике в последние месяцы за его медлительность в борьбе с киберзапугиваниями и распространение счетов, пропагандирующих и прославляющих исламский экстремизм. Тем временем Facebook продолжает оставаться кошмаром .
Чтобы справиться с этим, вы можете присоединиться к Мастодонту. Мы думаем, что вы должны, так как вы по крайней мере увидите, как все можно сделать по-другому. И если вам это нравится, почему бы не установить свой собственный экземпляр?
Ты пробовал мастодонт? Вы создали свой собственный экземпляр? Расскажите нам, как все прошло.