Esta guía ha sido probada con una instalación nueva de Fedora 31 y 33, pero puede funcionar en versiones anteriores que también utilicen dnf como herramienta de gestión de paquetes. Esta no es una guía oficial, pero puede ser útil para otros desarrolladores que usen Fedora. En gran parte se basa en la guía de desarrollo de Ubuntu, con modificaciones para los diferentes paquetes de dnf. Se asume que no tienes ninguno de los paquetes instalados, aunque la mayoría se omitirá mediante las herramientas si ya está instalado.
Si estás buscando instalar Discourse para un entorno de producción, prefiere las instrucciones de instalación con docker en github.
Instalación de los paquetes del sistema y de desarrollo requeridos
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
Instalación de los paquetes npm requeridos
sudo npm install -g svgo pnpm
Instalación y configuración de 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
Instalación y configuración de redis
sudo dnf install redis
sudo systemctl enable redis
sudo systemctl start redis
Instalación de rbenv, ruby-build y 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
# confirmar que la instalación es correcta
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
Instalación de las dependencias de Ruby
gem update --system
gem install bundler mailcatcher rails
Clonado del código de Discourse
git clone https://github.com/discourse/discourse.git ~/discourse
cd ~/discourse
Instalación de las dependencias de Discourse
bundle install
pnpm install
Creación de las bases de datos requeridas y carga del esquema
bundle exec rake db:create db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate
Prueba de la instalación ejecutando las pruebas
bundle exec rake autospec
Ejecución de la aplicación
bundle exec rails server
Ahora deberías poder ver la página de configuración de Discourse en http://localhost:3000.
Para más información sobre la configuración, consulta las guías de instalación oficiales existentes.
Este documento está bajo control de versiones: sugiere cambios en github.