Installation de Discourse sur Lightsail

Bonjour le monde, j’essaie de lancer mon premier forum Discourse et j’ai besoin d’aide…

Les paramètres dans app.yml semblent tous corrects. J’ai essayé de redémarrer, mais Discourse est inaccessible. Toute astuce pour m’aider à démarrer le dépannage serait grandement appréciée.

Je ne suis pas très sûr pour Lightsail, mais dans le cas d’AWS, lorsque un domaine ne pointe pas correctement vers leur adresse IP, 90 % du temps, les groupes de sécurité sont en cause. Pouvez-vous essayer d’ouvrir les ports nécessaires (80, 443, 587, etc.) dans le groupe de sécurité AWS pour votre VPS ?

Merci pour votre réponse. J’ai ouvert ces ports (le 443 et le 587 étaient fermés) et j’ai reconstruit l’application, mais toujours pas de succès. Je soupçonne que le problème vient du côté DNS, mais je ne suis pas sûr de ce que je peux changer d’autre. Pour le moment, je n’ai pas configuré becomeachiron.com, seulement le sous-domaine. Il est probable que cela puisse poser problème pour le sous-domaine, mais je ne sais pas où l’héberger sur Lightsail.

Comment avez-vous configuré uniquement le sous-domaine ?

Nous avons récemment migré vers Discourse et Amazon Lightsail (j’ai donc peu d’expertise dans ce domaine). J’ai exactement la même configuration et j’ai pu installer Discourse sans aucun problème.

J’ai d’abord installé l’AMI Debian officielle d’Amazon, puis configuré le nom d’hôte avec mon domaine (discourse.becomeachiron.com), et enfin mis à jour Debian vers la dernière version :

sudo apt update
sudo apt upgrade

Ensuite, j’ai suivi les instructions pour installer Discourse (installer Git, puis Discourse).

Aucun problème, cela a fonctionné.

J’ai dû ouvrir le port 443 pour que HTTPS fonctionne (et le configurer dans Discourse).

Le problème que vous décrivez semble lié au DNS et à la résolution d’adresse IP.

Dans Lightsail, une machine dispose de trois adresses IP :

  • L’adresse IP privée statique, accessible uniquement depuis les machines du réseau interne situées dans la même région que vous.
  • L’adresse IP publique dynamique, attribuée automatiquement au lancement de l’instance ; elle est perdue à chaque arrêt de la machine et une nouvelle vous est attribuée au redémarrage.
  • L’adresse IP publique statique que vous pouvez attribuer à la machine. Cette adresse est permanente (mais vous êtes facturé pour celle-ci même si la machine est arrêtée ; le coût est très faible, mais vous payez à l’heure tant que la machine n’est pas en cours d’exécution).

Avez-vous attribué une adresse IP publique statique à votre machine ?

Si oui, c’est cette adresse IP que vous devez configurer dans votre DNS.

Si non, vous devez utiliser l’adresse IP publique et la modifier à chaque redémarrage de la machine, car elle change (je suppose que vous pouvez installer un client IP dynamique sur votre machine qui le fait automatiquement, si vous en trouvez un compatible avec le DNS d’Amazon).

Ensuite, vous devez attendre un certain temps pour que les modifications DNS se propagent.

Il semble que vous n’ayez pas encore configuré le domaine :

 pfaffman@balloon:~$ dig +short discourse.becomeachiron.com @NS-1041.AWSDNS-02.ORG

ne renvoie rien. Ce lien permet de vérifier la propagation, mais pour l’instant, aucun enregistrement de votre sous-domaine n’existe sur les serveurs de noms AWS.

Il n’y a aucun enregistrement car il semble qu’il n’utilise pas les DNS d’Amazon ; il indique que cela fonctionne avec les DNS de Google.

Il doit donc le configurer dans Google.

discourse.becomeachiron.com se résout actuellement en 99.79.192.57

Merci à tous pour vos réponses. Idéalement, j’aimerais héberger Discourse sur le domaine principal et non sur un sous-domaine, mais tous les tutoriels que je trouve insistent sur l’utilisation d’un sous-domaine. Est-ce une nécessité ?

Je suis aussi en train de me creuser la tête avec tout ça en ce moment :slight_smile:

J’ai lu qu’il est possible d’utiliser le domaine nu, sans www ni sous-domaine Discourse.

Cependant, ce n’est pas la configuration par défaut et cela semble ne pas être si simple. Peut-être vaut-il mieux essayer d’abord la méthode par défaut, comme vous l’avez fait.

Je le répète : avez-vous configuré une adresse IP statique pour votre instance Lightsail ?

Par défaut, elle est dynamique.

Si ce n’est pas le cas, créez une adresse IP statique.

Accédez au panneau Lightsail, sélectionnez votre instance et ouvrez l’onglet « Réseau ».
Puis sélectionnez « Créer une adresse IP statique ».

Votre instance recevra une nouvelle adresse IP permanente.

Ensuite, allez sur Google DNS et enregistrez cette adresse IP avec le nom de votre machine.

Voici où j’en suis actuellement :

Dans Lightsail

  • J’ai créé une adresse IP statique et l’ai associée à mon instance (merci, Fernando)
  • J’ai créé une zone DNS

Dans Google Domains

  • J’ai mis à jour les serveurs de noms avec ceux de la zone DNS
  • J’ai créé un sous-domaine et je l’ai pointé vers l’adresse IP statique

Discourse est correctement configuré — je peux y accéder via l’adresse IP publique. Sauf si j’ai oublié quelque chose, je dois maintenant attendre la propagation.

Vous faites une erreur.

Vos enregistrements SOA pointent vers des serveurs DNS AWS, pas Google, et vous indiquez que vous modifiez les enregistrements DNS chez Google.

becomeachiron.com
serveur de noms principal = ns-612.awsdns-12.net
adresse de messagerie responsable = awsdns-hostmaster.amazon.com
numéro de série = 1
rafraîchissement = 7200 (2 heures)
réessai = 900 (15 minutes)
expiration = 1209600 (14 jours)
TTL par défaut = 86400 (1 jour)

becomeachiron.com serveur de noms = ns-1041.awsdns-02.org
becomeachiron.com serveur de noms = ns-1824.awsdns-36.co.uk
becomeachiron.com serveur de noms = ns-216.awsdns-27.com
becomeachiron.com serveur de noms = ns-612.awsdns-12.net

Modifiez vos paramètres DNS chez Amazon DNS, ou mettez à jour vos enregistrements SOA pour qu’ils pointent vers Google si vous utilisez les DNS de Google.

Exact ! C’est bien ce que je voulais dire. Je pense que j’aurais dû inclure l’enregistrement whois. Vous l’avez mieux expliqué que moi.

Il faut donc soit modifier l’enregistrement whois, soit mettre à jour les serveurs de noms d’AWS.

Je ne t’avais pas compris, désolé.

Je suis perplexe… Je me suis inscrit via Google Domains, mais Lightsail a généré les serveurs de noms.

Vous pouvez enregistrer le nom de domaine auprès d’un registraire et utiliser les services DNS chez un autre fournisseur.

Lorsque vous achetez un nom de domaine, vous acquérez uniquement le nom et l’enregistrement SOA qui réside sur le serveur du registraire de domaine.

Les services DNS sont indépendants du fournisseur de noms de domaine.
L’enregistrement SOA indique où se trouvent vos serveurs DNS.

Bien sûr, de nombreux registraires de domaines proposent des services DNS inclus dans le prix, comme Google Domains.

Mais vous avez acheté des services DNS auprès d’Amazon Lightsail, ce qui a modifié votre enregistrement SOA chez Google.

Je n’ai pas acheté de services DNS auprès d’Amazon ; j’utilise des services DNS externes (à ma connaissance, Amazon facture les services DNS).

Dans ce cas, vous devez mettre à jour vos enregistrements DNS vous-même chez votre fournisseur (Google dans votre cas).
Dans ce cas, vous devez modifier l’enregistrement SOA pour revenir à la configuration par défaut des DNS de Google.

Ou vous pouvez utiliser les services DNS d’Amazon et mettre à jour les enregistrements avec eux. Dans ce cas, laissez l’enregistrement SOA tel quel et utilisez les outils d’Amazon pour modifier les enregistrements DNS.

Si vous utilisez un service de messagerie avec Amazon, il est possible que vous ayez accepté de modifier votre enregistrement SOA pour le pointer vers les services d’Amazon.

Ce dont vous avez essentiellement besoin, c’est de l’adresse IP publique de votre VPS Lightsail, puis de choisir où gérer votre DNS.

Si vous souhaitez les gérer via Amazon, vous pouvez utiliser Route 53, qui vous fournira des serveurs de noms à mettre à jour dans les paramètres de votre domaine chez votre registraire (par exemple, Google).

Sinon, vous pouvez modifier le fichier de zone actuel (dans la section « Gérer le DNS » de votre domaine) et y mettre à jour votre enregistrement A.

Comme mentionné précédemment, vous souhaitez héberger sur le domaine principal. Je peux vous aider à configurer cela. C’est tout comme une installation normale et c’est parfaitement acceptable de le faire, car parfois, les gens souhaitent simplement que leur forum soit sur un domaine différent.

Par exemple, un forum communautaire Twitter.

Merci encore à tous ! Je suis opérationnel : http://discourse.becomeachiron.com/

Je suis toujours en train de comprendre comment ces éléments fonctionnent exactement ensemble – je ne m’occupe pas régulièrement de DNS. Maintenant, je dois trouver un moyen de mettre mon domaine principal en ligne :slight_smile:

Il semble que vous utilisiez AWS Route53 pour gérer votre DNS.

Pour le domaine principal, suivez ces étapes :

  1. Créez un enregistrement Alias (A) pour le domaine principal (indiqué par @) pointant vers votre adresse IP Lightsail.
  2. Modifiez votre fichier app.yml pour utiliser le domaine principal.
  3. Reconstruisez.
  4. Exécutez un remappage de Discourse.

C’est tout ce que vous avez à faire.