Fermeture du forum (PAS de suppression)

Bonjour à tous,

Je ne suis actuellement pas en mesure d’administrer mon forum et je souhaite le fermer pendant un certain temps car il a besoin d’un nouveau lien SSL, ce que je n’ai pas encore compris comment faire. Je ne veux pas que nos utilisateurs risquent d’être piratés.
Est-il possible d’empêcher tout le monde d’accéder au forum pendant un certain temps sans le supprimer complètement ?

J’apprécierais vraiment votre aide. Merci !

1 « J'aime »

Avez-vous envisagé de mettre votre site en mode lecture seule ? Vous trouverez cette option dans la section des sauvegardes des paramètres d’administration votre-nom-de-site/admin/backups. Cela rendra votre site en lecture seule afin que les utilisateurs ne puissent pas publier, etc.

2 « J'aime »

S’il s’agit d’une installation standard, une reconstruction devrait permettre d’obtenir un nouveau certificat SSL.

Si vous ne pouvez pas ou ne voulez pas le faire, vous pourriez le mettre en mode lecture seule comme suggéré.

Vous pourriez également faire un ./launcher stop app pour arrêter le conteneur.

1 « J'aime »

Salut Ondrej,

Merci pour votre réponse. J’ai lu cela, mais cela n’empêche toujours pas les utilisateurs d’accéder au forum, ce qui pose déjà un problème car il n’est actuellement pas sécurisé (pas de https en tête du lien, c’est-à-dire pas de certificat de sécurité).

Si votre intention est de le réactiver une fois que vous aurez le temps de configurer SSL, je vous suggère d’essayer d’abord d’utiliser les modèles SSL intégrés. Discourse vous permet très facilement d’obtenir et d’utiliser Let’s Encrypt pour SSL, il vaut donc probablement la peine d’essayer avant de devoir l’arrêter.

Si vous souhaitez l’essayer, supprimez le # des deuxième et troisième lignes de votre fichier app.yml, près du début :

## Décommentez ces deux lignes si vous souhaitez ajouter Let's Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

Ensuite, trouvez #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com plus bas dans le même fichier, supprimez à nouveau le # et remplacez également l’adresse e-mail d’exemple.

Enfin, reconstruisez Discourse et il devrait obtenir un certificat Let’s Encrypt et configurer HTTPS, redirigeant tout depuis HTTP.

cd /var/discourse
./launcher rebuild app
4 « J'aime »

Comment avez-vous installé Discourse ?

Malheureusement, je ne sais pas comment installer Discourse ni comment cela fonctionne en général. Mon père a mis en place le forum pour son entreprise, mais il est décédé cette année. Nous avons un serveur avec Linode et il est possible que Discourse y soit installé.

Merci Simon pour votre explication détaillée. Mon père a créé ce site web, mais il est décédé cette année. Je n’ai aucune idée de comment installer et configurer Discourse et je ne connais rien aux sites web en général. Où puis-je trouver ce fichier appl.yml ? Mon père aurait-il installé Discourse sur notre serveur de domaine ? Nous utilisons Linode et il y a un « Linode » appelé « Discourse » dessus. Je ne sais tout simplement pas ce que cela signifie et comment accéder à l’installation.
Merci de votre aide.

1 « J'aime »

Désolé pour votre perte. :pray:

Tout d’abord, je vous suggère fortement de vous assurer que les « sauvegardes » sont activées pour ce Linode « Discourse ». Ce devrait être votre première étape immédiate.

Deuxièmement, assurez-vous que les sauvegardes de Discourse sont également activées sur https://yoursitedomain.com/admin/backups

Troisièmement, vous voudrez peut-être essayer d’exécuter une mise à jour à partir du panneau d’administration de l’interface utilisateur, directement depuis votre navigateur Web, car cela pourrait résoudre vos problèmes : https://yoursitedomain.com/admin/upgrade

3 « J'aime »

C’est terrible. Je suis désolé d’apprendre cela. Si vous ne savez pas comment vous connecter en ssh à ce serveur, le plus simple est de faire une sauvegarde, de faire une nouvelle installation et de restaurer la sauvegarde.

Si vous pouvez obtenir un accès ssh au serveur, vous pouvez effectuer les opérations en ligne de commande décrites ici.

Théoriquement, ils devraient pouvoir réinitialiser le mot de passe SSH de Linode :
https://www.linode.com/docs/guides/accounts-and-passwords/#resetting-the-root-password

2 « J'aime »

Cela semble assez facile et permettrait de récupérer la configuration de messagerie fonctionnelle. Je ferais probablement une nouvelle installation, car celle-ci semble cassée.

Je ne suis pas sûr d’être d’accord avec ça. Par défaut, tel qu’indiqué dans le fichier app.yml d’exemple inclus, les modèles web.ssl ou web.letsencrypt.ssl ne sont pas utilisés et l’absence de redirection HTTP décrite par @Mads me semble simplement indiquer que ce défaut a été conservé, c’est-à-dire qu’il n’a jamais eu de SSL.

Cela semble assez prometteur comme étant le serveur hébergeant Discourse. Si vous souhaitez toujours l’arrêter, vous pouvez simplement éteindre ce Linode, mais selon la façon dont il a été configuré, il pourrait y avoir d’autres choses sur ce serveur également.

Comme l’a dit @sdpiowa, vous pouvez réinitialiser le mot de passe comme décrit dans le lien qu’il a fourni. Faites défiler jusqu’en bas jusqu’à Resetting the Root Password. Vous n’avez pas besoin de le faire si vous avez déjà le mot de passe root pour ce serveur.

Avec le mot de passe root à portée de main, le moyen le plus simple d’accéder au serveur sera d’utiliser la console LISH sur le gestionnaire cloud de Linode.

https://www.linode.com/docs/guides/using-the-lish-console/

À la dernière étape, lorsque vous verrez login: dans la console, vous taperez root et appuierez sur entrée, puis vous taperez le mot de passe et appuierez à nouveau sur entrée. À ce stade, vous devriez avoir un shell et pouvoir exécuter des commandes sur le serveur - notez que vous devriez faire attention à ne pas faire d’erreurs ici, la plupart du temps une erreur mènera simplement à une erreur et rien ne se passera, mais des erreurs dans un shell root peuvent avoir des effets secondaires dommageables.

Avant d’aller plus loin, assurez-vous de créer une sauvegarde manuelle de Discourse et une fois qu’elle est terminée, prenez un instantané manuel dans le gestionnaire cloud de Linode. De cette façon, vous savez que vous avez tout ce dont vous avez besoin pour récupérer si quelque chose tourne mal.

Commencez par changer de répertoire pour vous placer au bon endroit :

cd /var/discourse

Les images Linode ont généralement nano installé, qui est un éditeur de texte assez facile à utiliser. Modifiez le fichier app.yml :

nano containers/app.yml

Vous ne pourrez probablement pas utiliser votre souris pour déplacer le curseur, utilisez donc les touches fléchées pour vous déplacer dans le fichier et apporter les modifications décrites précédemment. Une fois que vous avez terminé, appuyez sur CTRL+X pour quitter et il vous sera demandé si vous souhaitez enregistrer, appuyez sur Y pour répondre oui et il vous sera demandé un nom de fichier, appuyez simplement sur entrée et il enregistrera le fichier et quittera nano.

Enfin, reconstruisez Discourse et ne fermez pas la fenêtre LISH après avoir lancé ceci :

./launcher rebuild app

Si tout se passe bien, probablement 10 à 20 minutes plus tard, Discourse sera de nouveau opérationnel avec SSL.

Cela fait très longtemps que le https n’est plus activé par défaut. Il est fort probable que le système d’exploitation soit également obsolète.

À mon avis, la solution la plus simple et la plus sûre pour un novice est une nouvelle installation, mais vous avez généreusement fourni des instructions qui promettent de l’aider à résoudre ce problème !

Merci à tous pour votre aide et vos explications détaillées ! J’ai peut-être trouvé quelqu’un qui peut m’aider et je ne manquerai pas de lui montrer vos conseils. J’apprécie vraiment :slight_smile:

4 « J'aime »

Vous êtes géniaux !

Merci pour toutes ces informations.

Matt, aidant Mads, administrateur système raisonnablement expérimenté, assez à l’aise avec *nix, Docker m’a obligé à creuser un peu plus, mais j’ai réussi.

Le journal Letsencrypt disait :

The CA is processing your order, please just wait. (1/30)
community.fruityknitting.com:Verify error:Fetching https://community.fruityknitting.com/.well-known/acme-challenge/9NEyZhZzZQ9FwGrqGqDNblLiwtOQQGlYr-9nSFUwKhw: Connection refused**

La configuration Nginx avait une redirection immédiate du port 80 vers https et ensuite je pense qu’Andrew a demandé à Discourse de vérifier un compte valide via Patreon, cette redirection du port 80 avec la redirection Patreon a probablement empêché Letsencrypt de valider le fichier local.

J’ai arrêté la redirection Nginx du port 80, redémarré Nginx et relancé :
/shared/letsencrypt/acme.sh --cron --home /shared/letsencrypt

Et succès.

J’apprécie les commentaires utiles de tout le monde.

Meilleurs vœux.

3 « J'aime »

La redirection Patreon n’était pas en https ?

C’était Robert, peut-être plus clairement énoncé comme suit :

Redirection inconditionnelle de Nginx du 80 vers le 443, puis l’application Discourse redirigeant immédiatement vers Patreon pour une session ou un cookie ou quelque chose, je suppose…

Suffisant pour casser la validation Letsencrypt.

Ça vous semble correct ?

Je pense que c’est une fonctionnalité intégrée pour forcer toute communication via https à partir de toute connexion entrante via http.
La chose concernant Patreon semble un peu « bizarre » ?
Qu’est-ce qu’elle essaie de faire que vous ne pourriez pas faire dans la couche applicative à 100 % via https ?
Pourquoi le proxy inverse doit-il s’en soucier ?

Essayez, Robert…
https://community.fruityknitting.com/