Это руководство было протестировано на чистой установке Fedora 31 и 33, но может работать и на более старых версиях, которые также используют dnf в качестве инструмента управления пакетами. Это не официальное руководство, но оно может быть полезно для других разработчиков, использующих Fedora. В значительной степени оно основано на руководстве по разработке для Ubuntu, с изменениями для различных пакетов в dnf. Предполагается, что у вас еще не установлены какие-либо из пакетов, хотя большинство из них будут пропущены инструментами, если они уже установлены.
Если вы хотите установить Discourse для продуктивной среды, используйте инструкции по установке docker на github.
Установка необходимых системных и разработческих пакетов
sudo dnf update
sudo dnf install -y "@development-tools" git rpm-build zlib-devel ruby-devel readline-devel libpq-devel ImageMagick sqlite sqlite-devel nodejs npm curl gcc g++ bzip2 openssl-devel libyaml-devel libffi-devel zlib-devel gdbm-devel ncurses-devel optipng pngquant jhead jpegoptim gifsicle oxipng
Установка необходимых пакетов npm
sudo npm install -g svgo pnpm
Установка и настройка postgres
sudo dnf install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb --unit postgresql
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo -u postgres -i createuser -s $USER
Установка и настройка redis
sudo dnf install redis
sudo systemctl enable redis
sudo systemctl start redis
Установка rbenv, ruby-build и ruby
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
~/.rbenv/bin/rbenv init
printf 'export PATH="$HOME/.rbenv/bin:$PATH"\n' >> ~/.bashrc
printf 'eval "$(rbenv init - --no-rehash)"\n' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
# подтвердите правильность установки
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
rbenv install 2.7.1
rbenv global 2.7.1
rbenv rehash
Установка зависимостей Ruby
gem update --system
gem install bundler mailcatcher rails
Клонирование кода Discourse
git clone https://github.com/discourse/discourse.git ~/discourse
cd ~/discourse
Установка зависимостей Discourse
bundle install
pnpm install
Создание необходимых баз данных и загрузка схемы
bundle exec rake db:create db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate
Проверка установки путем запуска тестов
bundle exec rake autospec
Запуск приложения
bundle exec rails server
Теперь вы должны иметь возможность увидеть страницу настройки Discourse по адресу http://localhost:3000.
Для дальнейшей настройки см. существующие официальные руководства по установке.
Этот документ находится под контролем версий - предложите изменения на github.