Problème d'installation de Discourse sur OVH VPS Ubuntu 22.04

La vérification automatique a lieu avant la délivrance d’un certificat.

1 « J'aime »

Qu’en est-il d’iptables ?

Voir cet exemple du guide d’installation d’essai d’Oracle : Install Discourse on Oracle Cloud Free Tier

Vous pouvez vérifier ces journaux :

/var/log/nginx/error.log
/var/log/apache2/error.log
/var/log/nginx/access.log
/var/log/apache2/access.log
/var/log/syslog
/var/log/dmesg

Et celui de Discourse à partir de docker logs your-container (ou) votre fichier journal si vous hébergez sans Docker.

Il y a trop de problèmes possibles ici :

  • Problème DNS ou SSL (plus courant).
  • Pare-feu, routage ou mauvaise configuration réseau.
  • Base de données, mise en cache, services Discourse.

Sans journaux ou plus d’informations, il est presque impossible de donner plus de conseils.

La prochaine étape est aussi simple que d’enregistrer le fichier de certificat sous ssl.crt et ssl par catégorie.key et de le faire glisser vers le répertoire du serveur /var/discourse/shared/standalone/ssl/ssl.crt et /var/discourse/shared/standalone/ssl/ssl.key

J’ai vu l’exemple que vous m’avez donné. J’ai suivi toutes les étapes.
La seule différence est lorsque j’exécute : netfilter-persistent save
Il ne répond rien contrairement à l’exemple où l’on peut voir qu’il répond run-parts : …
image
J’ai réessayé d’installer discourse depuis le début et j’ai exécuté ces 2 iptables avant :
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

J’obtiens ce problème :
Les ports 80 et 443 sont libres d’utilisation
‘samples/standalone.yml’ → ‘containers/app.yml’
Mémoire de 2 Go et 1 cœur de processeur physique détectés
configuration de db_shared_buffers = 256 Mo
configuration de UNICORN_WORKERS = 4
Paramètres de mémoire de containers/app.yml mis à jour.

Nom d’hôte pour votre Discourse ? [discourse.example.com]: mywebsite.fr

Vérification de votre nom de domaine . . .
AVERTISSEMENT : Le port 443 de l’ordinateur ne semble pas accessible via le nom d’hôte : mywebsite.fr.
AVERTISSEMENT : La connexion à http://mywebsite.fr (port 80) échoue également.

Cela suggère que mywebsite.fr résout vers une adresse IP qui n’atteint pas cette machine où vous installez discourse.

La première chose à faire est de confirmer que mywebsite.fr résout vers l’adresse IP de ce serveur.
Vous faites généralement cela au même endroit où vous avez acheté le domaine.

Si vous êtes sûr que l’adresse IP résout correctement, il pourrait s’agir d’un problème de pare-feu.
Une recherche sur le Web pour « ouvrir les ports VOTRE SERVICE CLOUD » pourrait vous aider.

Cet outil est conçu uniquement pour les installations les plus standard. Si vous ne parvenez pas à résoudre le problème ci-dessus, vous devrez modifier vous-même containers/app.yml, puis taper

Bonjour @satonotdead
J’ai vérifié, je n’ai pas ce dossier /var/log/nginx /var/log/apache2

Voici ma configuration de pare-feu sur mon fournisseur de VPS :

Je ne suis pas sûr de comprendre @xiaokong23357.
Voulez-vous dire que je peux installer la configuration http en décommentant la ligne https dans app.yml et ensuite faire cette étape manuellement :
sauvegarder le fichier certificat sous ssl.crt et la clé ssl par catégorie.key et le faire glisser vers le répertoire serveur /var/discourse/shared/standalone/ssl/ssl.crt et /var/discourse/shared/standalone/ssl/ssl.key

Bonjour,

J’ai modifié le fichier app.yml manuellement. J’ai maintenant le message suivant sur mon navigateur :

Bienvenue sur nginx !

Si vous voyez cette page, le serveur web nginx est installé et fonctionne avec succès. Une configuration supplémentaire est requise.

Pour la documentation en ligne et le support, veuillez vous référer à nginx.org.
Le support commercial est disponible sur nginx.com.

Merci d’utiliser nginx.

Et il semble que j’aie le SSL, car : /var/discourse/shared/standalone/ssl# ls -l
total 8
-rw-r–r-- 1 root root 0 Mar 3 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 Mar 3 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 Mar 3 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 Mar 3 01:01 mydomain.fr_ecc.key

Que puis-je faire maintenant s’il vous plaît ? Comment puis-je effectuer la configuration demandée ?

En fait, lorsque vous introduisez l’élément de modèle « templates/web.ssl.template.yml » dans app.yml, votre site Web a déjà commencé à utiliser la communication https, et j’ai dit ci-dessus comment configurer la méthode de configuration du certificat SSL.

1 « J'aime »

De plus, nginx est généralement utilisé lorsque vous exécutez plusieurs sites Web sur votre serveur, et vous pouvez choisir de l’ignorer si vous n’exécutez que discourse.

1 « J'aime »

Ce n’est pas grave car vous exécutez une instance unique, mais je posais juste la question car c’est quelque chose à vérifier.

Vous avez presque terminé, il suffit de vérifier l’étape de création des certificats SSL comme l’a dit Snow Love.

Je soupçonne que vous avez ignoré certaines des directives, un conseil amical → il vaut mieux prendre notre temps en lisant la documentation et les directives (pour notre propre temps, je veux dire).

Bonne chance :person_surfing:

@xiaokong23357 J’utilise uniquement Discourse. Comment puis-je l’ignorer ?

Bonjour @satonotdead

Désolé, de quelles directives parlez-vous ?
J’ai suivi ce document : discourse/INSTALL-cloud.md at main · discourse/discourse · GitHub

Comment puis-je faire cela : je dois vérifier l’étape de création des certificats SSL comme l’a dit Snow Love.

J’ai trouvé ceci dans /var/discourse/shared/standalone/ssl# ls -l
total 8
-rw-r–r-- 1 root root 0 Mar 3 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 Mar 3 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 Mar 3 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 Mar 3 01:01 mydomain.fr_ecc.key

Regarde-toi, je n’utilise pas nginx pour mon déploiement ici

Si vous devez utiliser nginx, mettez "-80:80" dans expose
#http "Modifier pour" - "9090:80" # http" garantit que nginx peut être proxifié vers discourse

Je ne comprends pas pourquoi j’ai ce problème nginx. Je n’ai jamais demandé à utiliser nginx.
Vous voulez dire que je dois modifier le fichier app.yml pour :
expose :

  • « 9090:80 » # http » garantit que nginx peut être proxifié vers discourse
  • « 443:443 » # https

Oui, pour utiliser nginx, vous devez modifier le port du proxy HTTP
Si vous n’utilisez pas nginx, changez le port HTTP 9090 en 80

@Titi quel est le résultat de l’exécution de cette commande ?

apt list | grep nginx

Je pense que, étant donné que vous avez obtenu la page d’index nginx générique par défaut, votre VPS a en fait nginx installé dessus et cela cause votre problème.

Discourse utilise également nginx en interne, mais il faudrait une installation gravement défectueuse pour que le nginx interne affiche cette page.

1 « J'aime »

La tâche la plus simple consiste à exécuter systemctl status nginx. Si le statut est actif, vous l’arrêtez avec systemctl stop nginx et pour être sûr qu’il le reste, vous exécutez systemctl disable nginx.

Et après tout cela, vous vérifierez à nouveau que vous exposez toujours 80:80 et 443:443 dans app.yml. C’est tout.

1 « J'aime »