本指南已在 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 上 提出修改建议。