Установка Discourse в Ubuntu 20.04

Автор выбрал фонд Free and Open Source Fund для получения пожертвования в рамках программы Write for DOnations.

Введение

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

Предварительные требования

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

  • Один сервер Ubuntu 20.04 с не менее чем 2 ГБ оперативной памяти, пользователем non-root user с привилегиями sudo и брандмауэром. Настроить сервер можно с помощью руководства Начальная настройка сервера Ubuntu 20.04.
  • Docker, установленный на сервере. Для этого воспользуйтесь инструкцией из шага 1 руководства по установке Docker для Ubuntu 20.04.
  • Домен (или субдомен) с доступной записью А, указывающей на IP-адрес вашего сервера. Если вы управляете DNS на DigitalOcean, вы можете следовать этому руководству для привязки вашего IP-адреса к вашему домену. В этом обучающем руководстве мы будем использовать имя discourse.your_domain.
  • Почтовый сервер SMTP. Если вы не хотите запускать собственный почтовый сервер, вы можете использовать другую службу, например бесплатную учетную запись на Mailgun.

Шаг 1 — Загрузка Discourse

Перед загрузкой и установкой Discourse создайте каталог /var/discourse. В нем будут храниться файлы, связанные с Discourse:

sudo mkdir /var/discourse 

Затем клонируйте официальный образ Docker Discourse в /var/discourse:

sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse 

Теперь, когда у вас в наличии образ Discourse Docker, вы можете перейти к установке и настройке платформы.

Шаг 2 — Установка и настройка Discourse

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

cd /var/discourse 

Теперь запустите следующий скрипт настройки:

sudo ./discourse-setup 

Скрипт установки Discourse задаст вам следующие вопросы:

  • Имя хоста для вашего экземпляра Discourse?

Введите discourse.your_domain или любое имя хоста, которое вы выбрали для своей платформы.

  • Адрес электронной почты учетной записи администратора?

Выберите адрес электронной почты, который вы хотите использовать для учетной записи администратора Discourse. Он может не иметь никакой связи с вашим доменом Discourse, вы можете использовать любой удобный адрес электронной почты.

Обратите внимание, что этот адрес электронной почты будет использоваться в качестве адреса администратора Discourse по умолчанию. Затем вам потребуется повторно использовать этот адрес электронной почты при настройке Discourse из панели управления.

  • Адрес сервера SMTP?

  • Имя пользователя SMTP?

  • Порт SMTP?

  • Пароль SMTP?

Введите данные вашего сервера SMTP для этих вопросов. Если вы используете Mailgun, адрес сервера SMTP будет smtp.mailgun.org, а в качестве имени пользователя и пароля необходимо использовать учетные данные SMTP для вашего домена на вкладке доменов Mailgun.

В заключение скрипт установки Discourse предложит вам подтвердить все эти настройки. После подтверждения скрипт создаст файл конфигурации с именем app.yml. Процесс установки начнется автоматически.

Примечание. Если вам потребуется изменить или исправить эти настройки после установки, внесите изменения в файл /containers/app.yml​​​ и выполните команду ./launcher rebuild app. В противном случае изменения не вступят в силу.

Установка Discourse занимает от 2 до 8 минут, после чего ваш экземпляр будет запущен. Теперь вы можете открыть браузер и создать учетную запись администратора.

Шаг 3 — Регистрация учетной записи администратора

Перейдите на discourse.your_domain в любом удобном вам браузере. Вы увидите заставку с поздравлениями.

Заставка с поздравлениями от Discourse

При получении ошибки 502 Bad Gateway подождите 1-2 минуты, а затем обновите браузер. Возможно, установка Discourse еще не была завершена.

После загрузки страницы нажмите синюю кнопку Register (Регистрация). Вы увидите форму под названием Register Admin Account (Регистрация учетной записи администратора) со следующими полями:

  • Email (Электронная почта): из выпадающего меню выберите адрес электронной почты, который вы предоставили ранее.
  • Username (Имя пользователя): укажите имя пользователя.
  • Password (Пароль): укажите надежный пароль.

Затем нажмите синюю кнопку Register (Регистрация) в форме для отправки данных. Вы увидите диалог с надписью Confirm your Email (Подтвердите ваш адрес электронной почты). Проверьте папку входящих сообщений почты и найдите письмо подтверждения. Если вы не получили письмо, воспользуйтесь кнопкой Resend Activation Email (Отправить письмо активации повторно). Если вам все равно не удалось зарегистрировать новую учетную запись администратора, ознакомьтесь с контрольным списком устранения проблем электронной почты Discourse.

После регистрации учетной записи администратора будет запущен мастер настройки, который поможет выполнить базовую конфигурацию Discourse. Вы можете сделать это сейчас или нажать Maybe Later (Возможно позже), чтобы пропустить этот шаг.

Мастер настройки Discourse

После этого вы увидите несколько тем и краткое руководство по началу работы для администратора Discourse. Краткое руководство отмечено маркером READ ME FIRST (ЧИТАТЬ ПЕРВЫМ) и содержит советы по дальнейшей настройке установки Discourse.

Главная страница Discourse и ссылка на краткое руководство по началу работы для администратора

Теперь ваша платформа Discourse готова к использованию. Если вам потребуется обновить Discourse в будущем, вы можете воспользоваться командной строкой, получив последнюю версию кода из репозитория Git и выполнив повторную сборку приложения:

cd /var/discourse sudo git pull sudo ./launcher rebuild app 

Также вы можете обновить Discourse в браузере. Перейдите на http://discourse.your_domain/admin/upgrade, нажмите Upgrade to the Latest Version (Обновить до последней версии) и следуйте инструкциям.

Страница обновления Discourse

Заключение

Теперь вы можете осуществлять управление вашим форумом Discourse и разрешить регистрацию пользователей. Дополнительную информацию о возможностях Discourse см. на официальной странице Discourse.