Установка discourse в Ubuntu 16.04

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
В статье рассматриваются установка 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
Источник: https://habr.com/ru/post/538174/


Интересные статьи

Интересные статьи

У каждой компании, даже самой малой есть потребность в проведении аутентификации, авторизации и учета пользователей (ААА). На начальном этапе ААА вполне себе хорошо реализуется на та...
На просторах интернета присутствует бесчисленное количество информации касательно настройки сервера на Ubuntu, но на каждом шагу можно встретить неочевидные для новичка моменты. Я х...
В интернет-магазинах, в том числе сделанных на готовых решениях 1C-Битрикс, часто неправильно реализован функционал быстрого заказа «Купить в 1 клик».
Эта публикация написана после неоднократных обращений как клиентов, так и (к горести моей) партнеров. Темы обращений были разные, но причиной в итоге оказывался один и тот же сценарий, реализу...
Добрый день уважаемые друзья! Сегодня мне бы хотелось рассказать, а главное, показать вам — как проходит операция по установке имплантата — со всеми инструментами и прочим. Если про процесс у...