Установка Discourse

user
discourse

(Евгений) #1

Установка DISCOURSE под Ubuntu 16.04

Требования

  1. Сервер Ubuntu 16.04
  2. Пользователь с доступом к sudo.
  3. Предварительно установленное приложение Docker.
  4. SMTP-сервер.
  5. Рекомендованный объем оперативки – 2 Гб.

Если у вас 1 Гб оперативной памяти, для корректной работы Discourse нужно создать своп-файл. Своп рекомендуется использовать на обычных жёстких дисках. На работе SSD-накопителей своп сказывается негативно и может привести к ухудшению производительности базового оборудования.

Загрузка Discourse

Чтобы начать загрузку Discourse, нужно развернуть оболочку root.

sudo -s

Создайте каталог /var/discourse для хранения всех файлов Discourse.

mkdir /var/discourse

Клонируйте официальный образ Discourse в этот каталог:
git clone https://github.com/discourse/discourse_docker.git /var/discourse

Настройка и запуск Discourse

Откройте каталог /var/discourse:

cd /var/discourse

Запустите встроенный сценарий настройки:

./discourse-setup

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

Настраиваем nginx

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

upstream app {
    server 127.0.0.1:4579;
}
server {
    listen 80;
    server_name toxu.ru;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://app;
    }
}
server {
    server_name www.toxu.ru;
    rewrite ^ http://toxu.ru$request_uri? permanent;
}

Обратите внимание, что в секции upstream надо указывать тот же порт, который Вы указывали в секции «expose» файла YML. После такой настройки и перезапуска nginx Ваш новый сайт на движке Discourse должен уже работать!

Посетите домен где установлен Discourse в браузере. И создайте пароль админ. аккаунт.

См: Установка Discourse под Windows 7


Установка Discourse под Windows 7
Обновление Discourse, несколько вопросов
(Герман) #2

Еще важное в Discourse, вот что:

Перезапуск Discourse в контейнере Docker

./launcher stop <имя приложения> && ./launcher start <имя приложения>

Шаг 1 (выполняется только перед первым удалением)

apt-get autoclean
apt-get autoremove

Шаг 2 В корневой папке Discourse выполняем:

./launcher cleanup


(Евгений) #3

Важное добавление.
Возможно, пригодится…

gzip  on;
gzip_http_version 1.0;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 9;
gzip_types
    application/atom+xml
    application/javascript
    application/json
    application/rss+xml
    application/vnd.ms-fontobject
    application/x-font-ttf
    application/x-web-app-manifest+json
    application/xhtml+xml
    application/xml
    font/opentype
    image/svg+xml
    image/x-icon
    text/css
    text/plain
    text/x-component;
gzip_disable "msie6";

(Герман) #4

Будет полезно посмотреть имена инфу о контейнерах в

docker ps -a

Для настройки nginx, если в Discourse несколько контейнеров лишние можно удалить (команда выше).


(Евгений) #5

Перевод сайта на https

Для движка Discourse это услуга бесплатно.

Что надо сделать для перевода?
1. В файл: containers/app.yml добавить недостающие шаблоны:

templates:

  • “templates/web.template.yml”
  • “templates/web.ssl.template.yml”
  • “templates/web.letsencrypt.ssl.template.yml”

2. В этот же файл добавить порт: 443

expose:

  • “80:80”
  • “443:443”

3. В этот же файл добавить свой Email для привязки

LETSENCRYPT_ACCOUNT_EMAIL: ‘you@example.com’

4. Пересобрать контейнер

./launcher rebuild имя_контейнера

Далее, посмотреть какие порты есть в nginx и есть ли http:// - изменить.
Рестарт nginx

Готово!


Форумы discourse, в чем разница?
(Евгений) #10

Данная документация есть по ссылкам выше, на официальном сайте поддержки.


(Виталий) #11

А разве в базе принудительно не надо ни чего менять? Там данные домена после 1 пункта изменятся?


(Андрей Белов) #12

Сообщение перенесено в новую тему: Как на сервер установить Ruby on Rails?


(yuran) #13

Можно чуть подробнее описать переход на https. Что это должен быть Email для привязки? Свою любую почту указать можно или что при установке почта админа в discourse? Или еще какая то…
Почитал немного на офсайте по https… что то дофига проблем с картинками, с социальной авторизацией, с SDN. Хотелось бы получить более исчерпывающую информацию по этому вопросу.


(Андрей Белов) #6

Перенос домен

1. изменить все упоминания о старом домене тут: /admin/site_setting
2. Изменить данные тут: app.yml
3. Изменить данные в Nginx
4. Выполнить команду: ./launcher rebuild app

Сайт работает на новом домене.


(Геннадий) #7

Многие сталкиваются при установки Discourse, с изначальной ошибкой занесение данных о SMTP. В результате будучи администратором, они не могут получить письмо, ссылку на активации учетной записи и приступить к дальнейшей настроки платформы.

Выход:

./launcher enter app

Затем выполняем консольную команду для контейнера Discourse:

rake admin:create


(Petrenko) #8

Меня интересует документация по Discourse API.
Т.к. назрели вопросы для сторонних разработчиков.