Nous migrons vers un nouveau droplet DigitalOcean et avons essayé d’utiliser l’image du marketplace. Lors de l’exécution du script de configuration, il échoue rapidement car notre nom de domaine pointe toujours vers notre instance actuelle en production.
Je dois mettre cette nouvelle installation en ligne afin de pouvoir restaurer sa sauvegarde, puis mettre à jour les enregistrements DNS par la suite.
Voici l’erreur :
Vérification de votre nom de domaine . . .
AVERTISSEMENT : Le port 443 de l'ordinateur ne semble pas accessible via le nom d'hôte : x
AVERTISSEMENT : La connexion à x (port 80) échoue également.
Cela suggère que x se résout vers une adresse IP qui ne permet pas d'atteindre
la machine sur laquelle vous installez Discourse.
La première chose à faire est de confirmer que x se résout vers l'adresse IP de ce serveur.
Vous le faites généralement au même endroit où vous avez acheté le domaine.
Si vous êtes certain que l'adresse IP se résout correctement, il pourrait s'agir d'un problème de pare-feu.
Une recherche web sur « ouvrir les ports VOTRE SERVICE CLOUD » pourrait aider.
Le nom de domaine répond bien sur les ports 80 et 443, ce qui suggère que ce message d’erreur est également incorrect.
Nous (l’équipe Discourse) ne gérons pas l’image du marché DO, je crains donc que nous ne puissions que très peu vous aider à résoudre ce problème spécifique.
Oui, nous gérons cela. Je n’ai pas examiné le code, j’ai supposé que la vérification provenait de l’image du marketplace.
./discourse-setup est conçu comme un moyen simple de configurer Discourse, évitant ainsi la nécessité de modifier manuellement un fichier texte lors du lancement d’un nouveau site Discourse. Votre cas d’utilisation n’est pas “typique” et n’est pas géré par le script de configuration.
Dans votre cas, votre meilleure option serait probablement de copier le fichier containers/app.yml de votre serveur actuel vers le nouveau. Sinon, vous pouvez modifier le fichier manuellement vous-même, comme suggéré aux lignes 75/76 :
Où puis-je trouver le fichier app.yml par défaut ? Je souhaite démarrer avec une installation neuve et par défaut.
De plus, comment démarrer le serveur sans le script de configuration ? L’accès à l’adresse IP reste toujours sans réponse, car je ne peux pas exécuter le script de configuration.
Le fichier par défaut se trouve dans samples/standalone.yml. Également sur GitHub.
En supposant que vous suivez le guide d’installation officiel, après les commandes de la section « Installer Discourse », vous devrez effectuer les étapes suivantes :
Copiez le fichier YAML par défaut depuis samples vers containers :
Mais maintenant, je ne peux pas importer la sauvegarde car je ne peux pas activer mon compte administrateur temporaire :
(6) Le chargement du script ‘’ a été refusé car il viole la directive suivante de la politique de sécurité du contenu (CSP) : “script-src ”. Notez que ‘script-src-elem’ n’a pas été défini explicitement, donc ‘script-src’ est utilisé comme solution de repli.
Existe-t-il un moyen direct de restaurer à partir d’une sauvegarde ou de désactiver la CSP jusqu’à ce moment-là ?
cd /var/discourse
sudo ./launcher enter app
rails c
SiteSetting.content_security_policy = false
exit
exit
Notez que je recommanderais d’abord d’essayer la restauration de la sauvegarde via l’interface en ligne de commande : cela résout le problème réel que vous rencontrez (restaurer une sauvegarde) plutôt que l’obstacle actuel (la CSP).
Il semble que vous ayez un index corrompu. Avez-vous effectué une mise à niveau sur l’instance existante ? Cela pourrait peut-être aider.
Il existe quelque part un sujet avec des instructions pour copier les fichiers de la base de données brute (et de Let’s Encrypt) depuis l’ancienne instance. C’est probablement ce que je ferais.
Les mises à niveau sur l’instance existante génèrent constamment des erreurs (différentes de celle-ci), c’est pourquoi je migre vers une nouvelle instance.