Установка Discourse локально на Windows

Установка Discourse локально на Windows нужна только программистам: это упрощает разработку плагинов для Discourse.
Для промышленной эксплуатации Discourse следуйте инструкции по установке на Debian, либо по аналогии установите на другую Unix-подобную операционную систему, либо обратитесь ко мне за платной услугой установки.

Шаг 1.

Настройте оперативный диск.

Шаг 2.

Установите VirtualBox.

Шаг 3.

Настройте VirtualBox для повышения скорости работы Discourse.

Шаг 4.

Установите Vagrant.

Шаг 5.

Установите Git.

Шаг 6.

Создайте локальную копию программного репозитория Discourse и сделайте папку рабочей копии текущей.

Шаг 7.

Настройте Vagrantfile для Discourse.

Шаг 8.

Настройте VirtualBox на использование NFS.

Шаг 9.

Установите плагин vagrant-vbguest для автоматического обновления VirtualBox Guest Additions.
Для этого надо выполнить в консоли команду:

vagrant plugin install vagrant-vbguest

Шаг 10.

Перед запуском виртуальной машины Discourse рекомендую выгрузить из оперативной памяти все ненужные для разработки Discourse программы и сервисы.
В частности, рекомендую выгрузить из оперативной памяти программные сервисы обычной среды разработки, такие как Apache и MySQL.
Все программные сервисы, используемые Discourse, находятся внутри виртуальной машины, так что Ваши обычные сервисы Discourse задействовать всё равно не будет, а за оперативную память и другие ресурсы компьютера они могут конкурировать с виртуальной машиной.
Чем больше у виртуальной машины будет оперативной памяти — тем быстрее она будет работать.
В частности, у себя на компьютере перед запуском Discourse останавливаю сервисы Apache и MySQL:

net stop MySQL
net stop Apache2.4

Шаг 11.

Запустите виртуальную машину.

Шаг 12.

Подключитесь к виртуальной машине по протоколу SSH.

Шаг 13.

Виртуальная машина для Discourse работает под управлением Ubuntu.
Там установлена устаревшая версия: Ubuntu 12 (выпущена в апреле 2012 года).
Ubuntu предложит себя обновить, и я рекомендую согласиться: всё-таки, за 3 года разработчики, вероятно, что-то сделали в плане оптимизации системы, и это может ускорить работу Discourse.
Обновить Ubuntu можно командой:

do-release-upgrade

Шаг 14.

Узнать используемую версию виртуальной Ubuntu можно командой:

lsb_release -a

Шаг 15.

Обновите Discourse.

Шаг 16.

Запустите Discourse как приложение Ruby on Rails.

Шаг 17.

Вы можете открыть Ваш форум в браузере, следуя инструкции предыдущего шага.

Шаг 18

Далее Вы можете получить полномочия администратора Discourse и начать настраивать Ваш форум (либо импортировать данные с промышленного сервера).

За год в среде разработки накопились некоторые замечания:

Замечание 1

Год назад на шаге 13 я рекомендовал (см. выше) обновлять виртуальную операционную систему (Ubuntu).
Теперь это не рекомендация, а обязательное требование, потому что для компиляции некоторых гемов Ruby требуется свежая версия компилятора GCC.

Замечание 2

Разработчики Discourse сами не используют описанную мной среду разработки: Windows + VirtualBox + Vagrant.
Они используют либо Linux, либо OSX, либо Windows c VMware.
По этой причине самая свежая версия Discourse может сразу не заработать в описанной мной среде: ведь разработчики её в ней не тестироли.
Тем не менее, многие сторонние разработчики используют описанную мной среду, поэтому более стабильные версии (хотя бы из ветки beta) обычно работают, либо для них уже есть какие-либо рекомендации: что нужно поправить, чтобы заработало.
Поэтому если самый последний код не работает, то попробуйте вместо него самую свежую версию бета, она обычно не старее недели-двух.

Замечание 3

У меня неправильно работала компиляция браузерных файлов посредством sprockets из-за дефекта:

Поэтому я сделал форк sprockets версии 3.6.0 и добавил заплатку: https://github.com/mage2pro/sprockets
Свою версию назвал 3.6.1 и подключил её в Gemfile так:

gem 'sprockets', '3.6.1', :git => 'https://github.com/mage2pro/sprockets.git'