This (port conflict) was handled in the script a while ago. Needing to proxy is a whole other deal there are howto topics on that.
This is the guide that the script links to but I don’t want to tear down my production website just to install discourse.
This guide assumes you already have Discourse working - if you don't, it may be hard to tell whether or not the configuration is working.
Puisque ce sujet a été utile, je vais m’y ajouter, même s’il date de trois ans. J’ai rencontré aujourd’hui le problème de port déjà utilisé et je suis quelque peu perplexe quant à ce qui s’est passé. Je vais simplement décrire la chronologie des événements au cas où quelqu’un d’autre tomberait sur la même situation.
Contexte : J’exécute Ubuntu 16.04.3 LTS (trop effrayé pour passer à 18.04) et Discourse 2.3.x (je ne sais pas exactement quelle version, je vous expliquerai pourquoi plus tard
).
J’ai apporté une modification (sans importance) à app.yml et reconstruit l’application.
J’ai également remarqué qu’Ubuntu souhaitait redémarrer (je n’ai pas vérifié la raison), alors j’ai redémarré Ubuntu.
Et je me suis retrouvé avec l’erreur de port.
J’ai découvert qu’Apache2 était soudainement en cours d’exécution, alors je l’ai désactivé :
root@Discourse:~# sudo update-rc.d apache2 disable
insserv: warning: current start runlevel(s) (empty) of script apache2' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script apache2’ overrides LSB defaults (0 1 6).
Le forum a fini par redémarrer, le port étant désormais libre.
Ce que je ne parviens pas à comprendre, c’est pourquoi cela s’est produit ? D’où venait Apache2 ?
J’aurais dû tester le forum immédiatement après le redémarration, zut. Maintenant, je ne sais pas si la mise à niveau de Discourse ou le redémarrage d’Ubuntu en est responsable (je pourrais probablement le trouver dans un journal, mais je ne suis plus très à l’aise avec Linux). J’ai même essayé de chercher sur le forum si Discourse 2.5 installe Apache2 de nos jours.
La bonne nouvelle, c’est que la mise à niveau de Discourse était depuis longtemps nécessaire. Je suis simplement très réticent à faire des mises à niveau de nos jours, car j’ai rencontré des problèmes comme celui-ci environ tous les deux projets au cours des cinq dernières années. J’adore toujours Discourse, cependant…
D’après votre description, la meilleure façon de savoir si une autre mise à jour va causer un problème est de mettre à jour trois jours de suite – cela devrait vraiment être assez simple pour que ce soit faisable !
En général, attendez-vous à ce que si cela fait plus d’un an depuis votre dernière mise à jour de Discourse, vous ayez besoin d’exécuter ./launcher rebuild app. Je recommande bien sûr de visiter /admin/upgrade plus fréquemment ![]()
Si votre app.yml appelait autre chose, vous devez :
./launcher stop irrelevant
Ou le renommer et le reconstruire.
Discourse n’installe rien en dehors du conteneur, à l’exception de Docker, qui est une prérequis pour l’installation.
Il est probable qu’Apache2 ait été installé après le dernier redémarrage et n’ait pas pu prendre le port tant que vous n’avez pas redémarré la machine. Utilisez grep sur votre historique bash pour vérifier quels paquets ont été installés manuellement.
Merci à tous pour vos idées.
J’ai effectivement utilisé l’outil de reconstruction de l’application. Et si Discourse n’installe rien de supplémentaire (je pensais que nginx et Apache2 seraient installés par défaut à cause d’une nouveauté)… hmm. Je n’ai certainement pas installé Apache2 moi-même.
Ah. Après avoir utilisé cette instance Ubuntu de DigitalOcean dédiée uniquement à Discourse pendant des années, j’ai en fait installé Subversion en janvier, apparemment sans redémarrer. Cette installation ajoute apparemment Apache, mais même en le désactivant, je conserve les fonctionnalités dont j’ai besoin.
Je ne suis plus habitué à ce que les installations ajoutent des éléments superflus (oui, je suis sûr qu’Apache est nécessaire pour quelque chose). Cela arrive plus souvent sur Windows ou Android, par exemple :D.
Désolé pour le dérangement. Après tout, c’est un cas d’usage réel, c’est toujours bon pour un développeur de les lire.