Esta guía es solo para configurar el entorno de desarrollo de Discourse. Si necesita instalar Discourse en un entorno de producción, consulte la página: Install Discourse in production with the official supported instructions.
Para obtener la configuración original en inglés del entorno de desarrollo, consulte: Set up a local Discourse Development Environment?.
Este artículo se centra en la configuración para el desarrollo en entornos Ubuntu, ya que Discourse está desarrollado en Ruby y el entorno de desarrollo de Ruby es más fácil de configurar en Ubuntu. Por lo tanto, la ejecución en producción de Discourse también es recomendada oficialmente en Ubuntu. Aunque nuestra comunidad se ejecuta en un entorno REHL sin problemas debido al uso de contenedores Docker, si desea desarrollar Discourse, se recomienda utilizar un entorno Ubuntu.
Si está utilizando un sistema Windows, necesitará instalar el entorno WSL. WSL es un entorno basado en Ubuntu proporcionado por Windows, utilizado principalmente para resolver problemas de desarrollo de aplicaciones Linux en Windows.
Este artículo asume que aún no ha instalado Ruby/Rails/Postgres/Redis en su entorno Ubuntu. ¡Comencemos con la configuración del entorno de desarrollo!
Aunque esta guía de desarrollo asume que está utilizando un entorno de desarrollo Ubuntu, cualquier sistema Linux basado en Debian puede ser utilizado.
Esta guía de desarrollo ha sido verificada en Ubuntu 18 y no requiere ningún paso adicional para completar la configuración del entorno de desarrollo.
Debido a las diferencias en el uso del entorno de desarrollo Ubuntu/Debian, es posible que necesite consultar la siguiente información al desarrollar en Ubuntu/Debian:
Instalación del entorno de prueba de Discourse en Ubuntu 20.04 y versiones posteriores
En Ubuntu 20.04 y versiones posteriores, se instalará OpenSSL 3.0.2 por defecto. Es posible que necesite compilar desde una versión anterior de OpenSSL y reemplazar esta versión (la versión recomendada oficialmente es OpenSSL-1.1.1n). También debe verificar la versión de Ruby que ha instalado; puede usar el comando ruby --version para ver la versión de Ruby. Discourse todavía utiliza la versión 2 de Ruby. Si está utilizando Ruby 3.x o una versión posterior, deberá degradar su versión de Ruby. Se recomienda utilizar una herramienta de control de versiones de Ruby para degradar la versión. Para el entorno de ejecución actual de Discourse, la versión recomendada oficialmente es Ruby 2.7.6. Consulte: Notes about Installing Discourse on Ubuntu 20.04 - #2 by SaraDev para obtener más información.
Instalación del entorno de prueba de Discourse en versiones de Ubuntu anteriores a 20.04
La siguiente sección fue añadida por @pfaffman el 22.05.16. Es posible que haya un error, pero es posible que no lo encuentre.
NOTA: Consulte: Failed to build ruby 2.7.5 on ubuntu 22.04 · rbenv/ruby-build · Discussion #1940 · GitHub para obtener información relevante.
Fin de las adiciones de @pfaffman.
Según nuestra experiencia de prueba, la versión Ubuntu 22 puede tener problemas de compilación y de paquetes no encontrados. Solo hemos completado la configuración del entorno de desarrollo local en 20.04.
Instalación de dependencias de Discourse
Como usuario general, puede ejecutar el siguiente comando en la consola: este script. El comando anterior le ayudará a configurar rápidamente Rails en su entorno de desarrollo local.
El comando a ejecutar es:
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)
El comando anterior instalará los siguientes paquetes en su sistema local:
- Git
- rbenv
- ruby-build
- Ruby (estable)
- Rails
- PostgreSQL
- SQLite
- Redis
- Bundler
- MailHog
- ImageMagick
Si ya tiene instalado algún software en su sistema operativo local o no desea instalar todo el software, consulte el contenido de script y seleccione el software que no desea instalar actualmente. El script de instalación anterior instalará todo el software necesario para la ejecución de Discourse, y estos paquetes proporcionarán soporte para la ejecución de Discourse.
Una vez que haya completado la instalación de todas las dependencias de Discourse, podemos proceder a instalar Discourse.
La imagen anterior muestra la interfaz de instalación en Ubuntu. El proceso de instalación de todo el software consume bastante tiempo, pudiendo tardar más de 5 minutos, dependiendo de su sistema.
Clonar Discourse
Clonar Discourse en la carpeta ~/discourse
git clone https://github.com/discourse/discourse.git ~/discourse
~ define la carpeta Home actual, lo que significa que el programa Discourse se copiará en su carpeta home.
Dado que estamos utilizando el subsistema WSL, en realidad clonamos los archivos en mi unidad D.
Configurar la Base de Datos
Cree un usuario con el mismo nombre que su nombre de usuario del sistema Ubuntu:
sudo -u postgres createuser -s "$USER"
Si recibe un error al ejecutar el comando anterior:
createuser: error: could not connect to database template1: could not connect to server: No such file or directory
Consulte la página: iSharkFly - 飞鲨.
Iniciar Discourse
Cambie al directorio donde clonó Discourse:
cd ~/discourse
Instalar las gems necesarias
source ~/.bashrc
bundle install
Instalar también las dependencias JS necesarias
yarn install
Hasta este punto, ha instalado todas las gems y dependencias necesarias. Intente ejecutar los siguientes comandos:
bundle exec rake db:create
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate
Si encuentra algún error durante la ejecución, consulte: iSharkFly - 飞鲨.
Intente ejecutar el siguiente comando:
bundle exec rake autospec
Su proyecto debería pasar todas las pruebas.
Esta prueba consume mucho tiempo y se puede omitir, de lo contrario, podría llevar varias horas.
Ejecute el siguiente comando para iniciar el servidor:
bundle exec rails server
Una vez que haya completado los pasos de instalación anteriores, debería poder acceder a su instalación local de Discourse a través de http://localhost:3000.
A partir de Discourse 2.5+, EmberCLI es una opción obligatoria para el entorno de desarrollo local:
Si accede directamente al puerto 3000 a través de la interfaz, obtendrá la siguiente pantalla de aviso:
En la terminal de su consola, ingrese (
cd ~/discourse) a la carpeta y ejecute:
bin/ember-cli
Debería poder ver su instalación local de Discourse visitando la dirección http://localhost:4200.
Es importante tener en cuenta que estos 2 servidores deben iniciarse simultáneamente. EmberCLI accede al puerto 3000 a través de un proxy inverso.
Crear una nueva cuenta de administrador
Antes de iniciar sesión en el entorno de desarrollo, debe crear una cuenta de administrador. Ejecute el siguiente comando para crearla:
RAILS_ENV=development bundle exec rake admin:create
Siga las indicaciones de la línea de comandos para crear esta cuenta de administrador.
Deberá ingresar su dirección de correo electrónico y contraseña.
Configurar el correo electrónico
Ejecute MailHog:
mailhog
Una vez que haya completado todos los pasos anteriores, su entorno de desarrollo local de Discourse estará configurado. Ahora puede iniciar sesión en Discourse como administrador.
Si desea desarrollar plugins para Discourse, consulte: Developing Discourse Plugins - Part 1 - Create a basic plugin para obtener una guía.


