[Разработка веб-сайтов, Ruby on Rails, Agile] Установка discourse в Ubuntu 16.04

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
20-Янв-2021 01:32

В статье рассматриваются установка discourse в среде разработки, затем в среде эксплуатации, запуск sidekiq и начальная настройка (кроме настройки электронной почты, необходимой для активации аккаутнов по е-мэйл и рассылки уведомлений, а также https).
Установка в среде разработки
1. Подключаемся к СУБД PostgreSQL с помощью psql -U postgres и создаем базу данных discourse_development и пользователя discourse_user, которому даем права доступа к этой базе данных.
create database discourse_development;
create user discourse_user;
alter user discourse_user with encrypted password 'your_preferred_password';
alter database discourse_development owner to discourse_user;

Далее также в консоли psql подключаемся к созданной базе данных, выполняем пару команд и выходим.
\c discourse_development;
create extension hstore;
create extension pg_trgm;
\q

2. Клонируем файлы discourse. Если у Вас версия PostgreSQL ниже 12 (psql --version), откатываем их к версии 2.4.0.beta11, которая вышла 13 февраля 2020 года (если я правильно прочитал git log).
Для этого. во-первых, есть команда
git clone https://github.com/discourse/discourse.git

Для отката к февральской версии вводим
git checkout 2136d4b5d535ca1fb83bd015502741d53301a61f

3. Устанавливаем гемы командой bundle install, предварительно удалив/переименовав Gemfile.lock
4. В config/database.yml добавляем значения username и password, а также строки encoding: utf8 и template: template0 и запускаем bundle exec rake db:migrate.
5. Запускаем веб-сервер для Rails командой
UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb

6. Настраиваем обратный прокси-сервер nginx, добавляем в config/environments/development.rb строку config.hosts << "discourse.domain.name"

Скриншот 1. Содержимое файла /etc/nginx/sites-enabled/discourse.conf
Прим.1 Строки location /assets/ {… и location /images/ { ... нужны для запуска в среде эксплуатации, для запуска в среде разработки их добавлять вообще-то еще рано.
Перезапускаем nginx командой /etc/init.d/nginx restart
7. Перезапускаем unicorn: для остановки вводим kill -QUIT `cat tmp/pids/unicorn.pid`, для повторного запуска вводим команду из п.5. Готово.
Установка в среде разработки
1. Создаем базу данных аналогичным образом, только имя базы данных указываем не discourse_development, а discourse.
2. Создаем файл config/discourse.conf командой
cp config/discourse_defaults.conf config/discourse.conf

Затем указываем в нем значения db_name, db_username, db_password, а также hostname (discourse, discourse_user, your_preferred_password, discourse.domain.name соответственно).
3. Устанавливаем необходимые пакеты командой
sudo apt install optipng pngquant jhead jpegoptim gifsicle

и выполняем команду, для выполнения которой без ошибок мы их установили:
RAILS_ENV=production bundle exec rake db:migrate

4. Устанавливаем еще один необходимый для следующей команды пакет с помощью
sudo apt install brotli

и вводим команду, для выполнения которой без ошибок мы его установили
RAILS_ENV=production bundle exec rake assets:precompile

5. Добавляем строки location /assets/ { ... и location /images/ { ... (см. скриншот 1) в конфигурационный файл nginx, если их там еще нет и перезапускаем nginx.
6. Остановка unicorn (см. команду выше) и запуск его в среде эксплуатации командой
RAILS_ENV=production UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb

Запуск sidekiq
1. Создаем учетную запись администратора командой
RAILS_ENV=production bundle exec rake admin:create

и перезапускаем unicorn.
2. Для запуска sidekiq в файле config/sidekiq.yml копируем строки конфигурации для среды разработки для среды эксплуатации (см. скриншот 2) и добавляем в config/environments/production.rb строку (в случае когда в ОС установлена Redis 3.0.6)
Redis.exists_returns_integer = false

Скриншот 2.
После этого запускаем sidekiq командой
bundle exec sidekiq -C config/sidekiq.yml

3. Проверяем существование запущенного процесса sidekiq командой
ps aux | grep sidekiq

Начальная настройка
Открыв в браузере адрес Вашего форума и авторизовавшись на нем с учетными данными из п.1 части «Запуск sidekiq», Вы можете увидеть темы, посвященные начальной настройке, и прочитать их.

Скриншот 3. После авторизации в discourse
Используемая при написании статьи инструкция:
Install Discourse Forum Software on Ubuntu 18.04 Without Docker
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_razrabotka_vebsajtov (Разработка веб-сайтов), #_ruby_on_rails, #_agile, #_ruby_on_rails, #_discourse, #_vebrazrabotka (веб-разработка), #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
, #_ruby_on_rails, #_agile
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 06:06
Часовой пояс: UTC + 5