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