Ваша власна соціальна мережа: як налаштувати примірник Mastodon в Linux
Набридло твіттер? Набридли фейсбуком? Зловживання онлайн і вміст NSFW зводять вас з розуму? Просто хочете обмінятися ідеями подалі від люті людей, які протистоять вам?
- Що тобі знадобиться
- Встановіть з'єднання SSH і встановіть Docker
- Налаштувати за допомогою Docker Compose
- Встановити мастодонт
- Додайте параметри Mailgun
- Увімкнути Nginx
- Отримайте сертифікат SSL і запустіть Mastodon!
- Ви працюєте: автоматизуйте завдання і керуйте мастодонтом
- Оновити SSL
- Адміністрація Мастодонта
- Ваша власна соціальна мережа, що обговорює ваші теми!
- Ти пробував мастодонт? Ви створили свій власний екземпляр? Розкажіть нам, як все пройшло.
Mastodon - це відповідь А завдяки його природі з відкритим вихідним кодом, ви можете налаштувати свій власний екземпляр Mastodon, дозволяючи спілкуватися на будь-яку тему і надаючи своїм користувачам деяку безпеку і конфіденційність від тролів усіх видів.
Якщо ви не знайомі з Мастодонтом, ось основи. Тоти схожі на твіти і можуть містити до 500 символів (на відміну від обмеження 140 символів у Twitter). Подивіться наш недавній погляд на Mastodon щоб побачити, як все це працює.
Що тобі знадобиться
Для створення власного примірника Мастодонта потрібно наступне:
- Веб-сервер під управлінням Ubuntu Server 16.04. На Vultr.com ви можете знайти недорогі серверні облікові записи менш ніж за 10 доларів на місяць, хоча є й інші рішення.
- Невикористовувана доменна назва, що вказує на сервер. Це означає, що записи DNS на вузлі веб-домену налаштовані для направлення відвідувачів на IP-адресу сервера Ubuntu. Як це робиться, залежить від постачальника, тому перевірте відповідну документацію.
- Обліковий запис Mailgun для керування реєстраціями у вашому екземплярі Mastodon. Це доступно безкоштовно, але дані вашої кредитної картки необхідні для відправки перших 10000 електронних листів. Перейдіть на сторінку реєстрації в Mailgun, щоб створити обліковий запис, і переконайтеся, що ви дотримуєтеся інструкцій з перевірки домену, щоб переконатися, що ваш новий/не використаний домен електронної пошти вказаний як активний.
Параметри Мастодонта потребують трьох основних елементів:
- Docker - корисне програмне забезпечення віртуалізації
- Мастодонт - сама соціальна мережа
- Nginx (вимовляється EngceX) - багатофункціональне програмне забезпечення веб-сервера, що використовується в даному випадку як зворотний проксі
(Зворотний проксі-сервер дозволяє серверу отримувати ресурси або дані з одного або декількох інших серверів від імені клієнта. У багатьох випадках це є заходом безпеки для захисту сервера.)
Вам також знадобиться 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 і переконайтеся, що запис для нього має назву, що починається з «повідомлень», наприклад Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.. Нарешті, знайдіть 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 продовжує залишатися кошмаром.
Щоб впоратися з цим, ви можете приєднатися до Мастодонта. Ми думаємо, що ви повинні, так як ви принаймні побачите, як все можна зробити по-іншому. І якщо вам це подобається, чому б не встановити свій власний екземпляр?