Installation de l'environnement de développement Discourse sur Ubuntu

:warning: Ce guide est uniquement destiné à la configuration de l’environnement de développement Discourse. Si vous souhaitez installer Discourse dans un environnement de production, veuillez consulter : Install Discourse in production with the official supported instructions.

:information_source: Pour le texte original en anglais sur la configuration de l’environnement de développement, veuillez consulter : Set up a local Discourse Development Environment?.


Cet article est uniquement destiné à la configuration du développement sous Ubuntu. Comme Discourse est développé en Ruby, la configuration de l’environnement de développement Ruby est la plus simple sous Ubuntu. Par conséquent, le fonctionnement en production de Discourse est également officiellement recommandé sous Ubuntu. Bien que notre communauté fonctionne sans problème sous REHL car elle utilise des conteneurs Docker, il est recommandé d’utiliser un environnement Ubuntu si vous souhaitez développer Discourse.

Si vous utilisez Windows, vous devrez installer l’environnement WSL. WSL est un environnement basé sur Ubuntu fourni par Windows, principalement utilisé pour résoudre les problèmes de développement d’applications Linux sous Windows.

Cet article suppose que vous n’avez pas encore installé Ruby/Rails/Postgres/Redis dans votre environnement Ubuntu. Commençons la configuration de l’environnement de développement !

Bien que ce guide de développement suppose que vous utilisez un environnement de développement Ubuntu, tout système Linux basé sur Debian peut être utilisé.

Ce guide de développement a été vérifié sur Ubuntu 18 et ne nécessite aucune étape supplémentaire pour configurer l’environnement de développement.

:exclamation: L’utilisation de l’environnement de développement Ubuntu/Debian diffère. Vous pourriez avoir besoin de consulter les informations suivantes lors du développement sur Ubuntu/Debian :

Installation de l'environnement de test Discourse sur Ubuntu 20.04 et versions ultérieures

Sur Ubuntu 20.04 et versions ultérieures par défaut, OpenSSL 3.0.2 sera installé. Il peut être nécessaire de compiler à partir d’une version antérieure d’OpenSSL et de remplacer cette version (la version officiellement recommandée est OpenSSL-1.1.1n). Vous devrez également vérifier la version de Ruby installée. Vous pouvez utiliser la commande ruby --version pour vérifier la version de Ruby. Discourse utilise toujours la version Ruby 2. Si vous utilisez Ruby 3.x ou une version ultérieure, vous devrez rétrograder votre version de Ruby. Il est officiellement recommandé d’utiliser un outil de gestion de version Ruby pour rétrograder la version. Pour l’environnement d’exécution actuel de Discourse, la version Ruby 2.7.6 est considérée comme la plus appropriée pour le fonctionnement de Discourse. Veuillez consulter : Notes about Installing Discourse on Ubuntu 20.04 - #2 by SaraDev pour plus d’informations.

Installation de l'environnement de test Discourse sur les versions d'Ubuntu inférieures à 20.04

La section suivante a été ajoutée par @pfaffman le 16.05.22. Il est possible qu’il y ait une erreur, mais il est possible que vous ne la rencontriez pas.

NOTE: Veuillez consulter : Failed to build ruby 2.7.5 on ubuntu 22.04 · rbenv/ruby-build · Discussion #1940 · GitHub pour obtenir des informations pertinentes.

Fin des ajouts de @pfaffman.

D’après notre expérience de test, il peut y avoir des problèmes de compilation et des paquets introuvables dans la version Ubuntu 22. Nous n’avons configuré l’environnement de développement local que sur la version 20.04.

Installation des dépendances Discourse

En tant qu’utilisateur général, vous pouvez exécuter la commande suivante dans la console : ce script. La commande ci-dessus vous aidera à configurer rapidement Rails dans votre environnement de développement local.

La commande exécutée est :

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)

La commande ci-dessus installera les paquets suivants sur votre système local :

Si certains logiciels sont déjà installés sur votre système d’exploitation local, ou si vous ne souhaitez pas installer tous les logiciels, veuillez consulter le contenu de script et sélectionner les logiciels que vous ne souhaitez pas installer actuellement. Le script d’installation ci-dessus installera tous les logiciels nécessaires au fonctionnement de Discourse, qui fourniront le support pour le fonctionnement de Discourse.

Une fois que vous avez terminé l’installation de toutes les dépendances Discourse, nous pouvons procéder à l’installation de Discourse.


L’image ci-dessus montre l’interface d’installation sous Ubuntu. L’ensemble du processus d’installation du logiciel prend du temps, potentiellement plus de 5 minutes, selon votre système.

Clonage de Discourse

Clonez Discourse dans le dossier ~/discourse

git clone https://github.com/discourse/discourse.git ~/discourse

~ définit le dossier Home actuel, ce qui signifie que le programme Discourse sera copié dans votre dossier personnel.

Étant donné que nous utilisons le sous-système WSL, nous clonons en fait les fichiers sur mon disque D.

Configuration de la base de données

Créez un utilisateur portant le même nom que votre nom d’utilisateur système Ubuntu :

sudo -u postgres createuser -s "$USER"

Si vous recevez une erreur lors de l’exécution de la commande ci-dessus :

createuser: error: could not connect to database template1: could not connect to server: No such file or directory

Veuillez consulter : iSharkFly - 飞鲨.

Démarrage de Discourse

Basculez vers votre répertoire cloné de Discourse :

cd ~/discourse

Installez les gems nécessaires

source ~/.bashrc
bundle install

Installez également les dépendances JS nécessaires

yarn install

Jusqu’à cette étape, vous avez installé toutes les gems et dépendances nécessaires. Veuillez essayer d’exécuter les commandes suivantes :

bundle exec rake db:create 
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate

Si une erreur se produit lors de l’exécution, veuillez consulter : iSharkFly - 飞鲨.

Essayez d’exécuter la commande suivante :

bundle exec rake autospec

Votre projet devrait passer tous les tests.

Ce test prend beaucoup de temps et peut être ignoré, sinon cela prendrait probablement plusieurs heures.

Exécutez la commande suivante pour démarrer le serveur :

bundle exec rails server

Une fois ces étapes d’installation terminées, vous devriez pouvoir accéder à votre installation locale de Discourse via http://localhost:3000.

À partir de Discourse 2.5+, EmberCLI est devenu une option obligatoire pour l’environnement de développement local :

Si vous accédez directement au port 3000 via l’interface, vous obtiendrez l’écran d’invite suivant :


Dans votre terminal de console, accédez au dossier (cd ~/discourse) et exécutez :

bin/ember-cli

Vous devriez pouvoir afficher votre installation locale de Discourse en accédant à http://localhost:4200.

:warning: Il est important de noter que ces 2 serveurs doivent être démarrés simultanément. EmberCLI accède au port 3000 via un proxy inverse.

Création d’un nouveau compte administrateur

Avant de vous connecter à l’environnement de développement, vous devez créer un compte administrateur. Exécutez la commande suivante pour le créer :

RAILS_ENV=development bundle exec rake admin:create

Veuillez suivre les instructions de la ligne de commande pour créer ce compte administrateur.

Les informations à saisir sont l’adresse e-mail et le mot de passe.

Configuration de l’e-mail

Exécutez MailHog :

mailhog

Une fois toutes les étapes ci-dessus terminées, votre environnement de développement local Discourse sera configuré. Vous pouvez maintenant vous connecter à Discourse en tant que compte administrateur.

Si vous souhaitez développer des plugins pour Discourse, veuillez consulter : Developing Discourse Plugins - Part 1 - Create a basic plugin pour obtenir des instructions.


2 « J'aime »

Bonjour, quel utilisateur est désigné par le nom d’utilisateur du système Ubuntu ?

Vous n’avez pas besoin de le chercher vous-même, cette commande signifie que la variable d’environnement $USER est définie sur le nom d’utilisateur. Vous pouvez l’exécuter directement. Cette phrase explique ce que fait cette commande.

3 « J'aime »

C’est exact, merci.

C’est exactement ce que cela signifie.

1 « J'aime »

D’accord, merci de votre réponse patiente

Vous avez même traduit en chinois, je suis venu spécialement pour vous féliciter.