本指南已在 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 vips 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 上提出。