本指南已在 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
创建所需的数据库并加载 schema
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 上建议更改。