Installation avancée pour développeur : bug avec rake db:create db:migrate

Bonjour à tous,

J’espère que quelqu’un pourra m’aider avec le bug que je rencontre lors de mon installation, comme suit :

Debian 10
PHP 7.3.6
Nginx

Je suis ce guide :

https://github.com/discourse/discourse/blob/master/docs/DEVELOPER-ADVANCED.md

Mais à chaque fois, lors de la migration de la base de données, j’obtiens l’erreur suivante — j’ai également essayé différentes versions, toujours le même problème :

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate
rake aborted! NoMethodError: undefined method `keys' for nil:NilClass/var/www/discourse/app/models/global_setting.rb:57:in `load_defaults'/var/www/discourse/config/application.rb:32:in `<top (required)>'/var/www/discourse/Rakefile:5:in `require'/var/www/discourse/Rakefile:5:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `eval'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `<main>'

J’ai également cherché d’autres guides ou toute autre ressource sur le web, mais rien n’explique comment corriger cette erreur ni comment poursuivre l’installation.

J’ai aussi essayé la méthode d’installation via Docker — qui fonctionnait lors de la configuration — MAIS elle n’est pas compatible avec mon ISPConfig utilisé : Discourse sur un sous-domaine est partiellement cassé et, après l’enregistrement du compte administrateur, l’assistant ne se poursuit pas et affiche systématiquement une page blanche.

Merci d’avance et cordialement,

Mat

Ce guide est destiné à la configuration d’environnements de développement… et non de serveurs de production. Pour les serveurs, nous ne prenons officiellement en charge que nos guides Docker : discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

Je ne pense pas qu’il soit fiable, voire possible, d’installer Discourse sur un serveur de production en utilisant un guide conçu à des fins de développement.


Peut-être pourriez-vous essayer de contourner le problème lié au FAI ou envisager d’héberger Discourse avec un fournisseur externe ?

Merci pour votre réponse rapide.

Concernant le « guide », il ne servait qu’à donner une idée. Comme mentionné, j’ai essayé avec Docker, mais sans succès pour le faire fonctionner correctement.

J’ai configuré le proxy inverse et tout le reste.

La configuration s’est déroulée sans problème, MAIS Discourse a été endommagé en termes de style, et après l’inscription de l’administrateur, seule une page blanche s’affiche. De plus, l’assistant ne démarre pas ou ne continue pas. J’ai également vérifié dans la base de données et dans l’application Ruby : le compte administrateur est/était actif.

IspConfig m’indique que cela n’est pas lié à leur panneau de contrôle, mais qu’il s’agit d’un problème lié à Discourse. De plus, Docker n’est pas pris en charge par IspConfig.

Je pense que le problème concerne les paramètres de vhost Nginx, mais je ne sais pas quelle partie je dois insérer dans le panneau de contrôle IspConfig (comme c’est le cas avec d’autres, par exemple Plesk). J’ai également lu les publications ici et essayé différentes choses.

C’est pourquoi j’ai essayé de l’installer sans Docker, ce qui est possible par exemple grâce à ce guide : Install Discourse Forum on Ubuntu 18.04 Without Docker

Rien de spécial ne sera fait, car cela est similaire à la configuration par défaut via Docker.

Ce dont j’ai besoin pour vous aider : quelle est l’erreur qui se produit lors de la migration de la base de données mentionnée ci-dessus ?

Je ne trouve rien à ce sujet sur le web, et j’aimerais utiliser Discourse pour mon site WordPress, ce qui serait une intégration parfaite pour les commentaires et un support supplémentaire.

Si vous avez une idée pour faire fonctionner Discourse avec Docker et IspConfig, ce serait également parfait. C’est mon propre serveur, je peux l’utiliser de toutes les façons possibles.

Le seul problème global est que je DOIS installer IspConfig avant Discourse, car IspConfig a besoin d’un serveur propre pour fonctionner à 100 %. Installer d’abord Discourse avec Docker, puis essayer d’installer IspConfig et le reste ensuite, n’est pas possible.

Merci d’avance.

Voir Run other websites on the same machine as Discourse - #281

Il sera difficile, voire impossible, de le faire fonctionner avec ispconfig. Si vous souhaitez exécuter Discourse avec ispconfig, vous devriez demander de l’aide à ispconfig.

J’ai essayé cette méthode tirée du post « Exécuter d’autres sites web sur la même machine que Discourse » pour le faire fonctionner avec Docker, mais après plusieurs heures, aucun succès.

Ma dernière idée est maintenant de procéder sans Docker, car Docker n’est pas pris en charge par ISPConfig, mais j’ai besoin d’aide concernant le message d’erreur suivant :

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate

rake aborted! NoMethodError: méthode `keys’ non définie pour nil:NilClass

/var/www/discourse/app/models/global_setting.rb:57:in load_defaults'/var/www/discourse/config/application.rb:32:in <top (required)>‘/var/www/discourse/Rakefile:5:in require'/var/www/discourse/Rakefile:5:in <top (required)>’/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in eval’/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `’

J’ai essayé la version 2.4 beta, qui est également installée avec Docker, ainsi que d’autres versions différentes disponibles sur GitHub.

Merci d’avance.

ISPConfig n’est pas pris en charge par la communauté Discourse.

Rien de bon ne peut résulter de l’exécution d’une installation de développement pour un site de production. Pour 5 $ par mois, vous pouvez simplement obtenir un droplet Digital Ocean (ou équivalent) et cela fonctionnera.