Installation de Discourse sur Ubuntu 16.04

Cet article aborde l'installation du discours dans un environnement de développement, puis en production, le lancement de sidekiq et la configuration initiale (à l'exception de la configuration email nécessaire pour activer les comptes par email et envoyer des notifications, ainsi que https).



Installation dans un environnement de développement



1. Connectez-vous au SGBD PostgreSQL en utilisant psql -U postgres et créez la base de données discourse_development et l'utilisateur discourse_user , à qui nous accordons des droits d'accès à cette base de données.



create database discourse_development;
create user discourse_user;
alter user discourse_user with encrypted password 'your_preferred_password';
alter database discourse_development owner to discourse_user;

      
      





Ensuite, également dans la console psql , connectez-vous à la base de données créée, exécutez quelques commandes et quittez.



\c discourse_development;
create extension hstore;
create extension pg_trgm;
\q
      
      





2. Clonez les fichiers de discours . Si votre version de PostgreSQL est inférieure à 12 ( psql --version ), restaurez-les à la version 2.4.0.beta11 , qui a été publiée le 13 février 2020 (si j'ai lu correctement le journal git ).



Pour ça. d'abord, il y a une équipe



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





Pour revenir à la version de février, entrez



git checkout 2136d4b5d535ca1fb83bd015502741d53301a61f
      
      





3. Installez les gems avec la commande bundle install , après avoir supprimé / renommé Gemfile.lock



4. Dans config / database.yml, ajoutez les valeurs de nom d'utilisateur et de mot de passe , ainsi que les lignes encoding: utf8 et template: template0 et exécutez bundle exec rake db: migrate .



5. Démarrez le serveur Web pour Rails avec la commande



UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb
      
      





6. Mise en place d' un nginx serveur proxy inverse, ajouter dans config / environnements / development.rb ligne config.hosts << "discourse.domain.name"









Capture d' écran 1. Le contenu du fichier /etc/nginx/sites-enabled/discourse.conf



Note 1 Lignes emplacement / actifs / {... et les emplacement / images / {... sont nécessaires pour s'exécuter dans un environnement de production, il est en fait trop tôt pour les ajouter pour s'exécuter dans un environnement de développement.



Redémarrez nginx avec la commande /etc/init.d/nginx restart



7. Redémarrez unicorn : pour arrêter, entrez kill -QUIT `cat tmp / pids / unicorn.pid`, pour redémarrer, entrez la commande de l'élément 5. Terminé.



Installation dans un environnement de développement



1. Nous créons une base de données de la même manière, seul le nom de la base de données est spécifié non pas discourse_development , mais discourse .



2. Créez le fichier config / discourse.conf avec la commande



cp config/discourse_defaults.conf config/discourse.conf
      
      





Ensuite, nous spécifions les valeurs db_name , db_username , db_password , ainsi que hostname (discourse, discourse_user, your_preferred_password, discourse.domain.name, respectivement).



3. Installez les packages requis avec la commande



sudo apt install optipng pngquant jhead jpegoptim gifsicle 
      
      





et exécutez la commande, pour l'exécution de laquelle nous les avons installés sans erreur:



RAILS_ENV=production bundle exec rake db:migrate 
      
      





4. Installez un autre package nécessaire pour la commande suivante en utilisant



sudo apt install brotli
      
      





et entrez la commande, pour laquelle nous l'avons installée sans erreur



RAILS_ENV=production bundle exec rake assets:precompile
      
      





5. Ajoutez les lignes location / assets / {... et location / images / {... (voir capture d'écran 1) au fichier de configuration nginx , si elles ne sont pas encore là, et redémarrez nginx .



6. Arrêtez la licorne (voir la commande ci-dessus) et démarrez-la dans l'environnement de production avec la commande



RAILS_ENV=production UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb
      
      





Lancement de Sidekiq



1. Créez un compte administrateur avec la commande



RAILS_ENV=production bundle exec rake admin:create
      
      





et redémarrez la licorne .



2. Pour exécuter sidekiq dans le fichier config / sidekiq.yml, copiez les lignes de configuration de l'environnement de développement pour l'environnement de production (voir capture d'écran 2) et ajoutez la ligne à config / environnements / production.rb (dans le cas où Redis 3.0.6 est installé sur le système d'exploitation)



Redis.exists_returns_integer = false









Capture d'écran 2.



Après cela, exécutez sidekiq avec la commande



bundle exec sidekiq -C config/sidekiq.yml
      
      





3. Vérifiez l'existence du processus en cours sidekiq avec la commande



ps aux | grep sidekiq
      
      





La configuration initiale



En ouvrant l'adresse de votre forum dans le navigateur et en vous y connectant avec les identifiants de la clause 1 de la partie "Lancement de sidekiq", vous pouvez voir les sujets de la configuration initiale et les lire.





Capture d'écran 3. Après autorisation dans le discours



Instructions utilisées lors de la rédaction de l'article :



Installer le logiciel Discourse Forum sur Ubuntu 18.04 sans Docker



All Articles