このガイドは、Fedora 31および33のクリーンインストールでテストされていますが、dnfをパッケージ管理ツールとして使用する古いバージョンでも動作する可能性があります。これは公式ガイドではありませんが、Fedoraを使用している他の開発者にとって役立つかもしれません。これは主にUbuntu開発ガイドに基づき、dnfの異なるパッケージに合わせて変更されています。パッケージのいずれもまだインストールされていないことを前提としていますが、ほとんどはツールによってスキップされます。
開発環境にDiscourseをインストールしたい場合は、githubのdockerインストール手順を参照してください。
必要なシステムおよび開発パッケージのインストール
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
これで、http://localhost:3000 でDiscourseセットアップページが表示されるはずです。
詳細な設定については、既存の公式インストールガイドを参照してください。
このドキュメントはバージョン管理されています。変更の提案はgithubで行ってください。