Je sais qu’il est recommandé d’exécuter Discourse sur son propre serveur, mais je finance ce projet de ma poche. C’est essentiellement un passe-temps, avec peu de perspectives ou d’intention de monétisation à court terme, du moins.
Je pensais donc, au lieu d’acheter un autre VPS, de demander une deuxième adresse IP et d’exécuter WordPress sur un serveur virtuel Apache basé sur l’IP, ce qui aiderait à maintenir les coûts bas.
Si vous êtes familier avec la configuration d’un proxy inverse, vous n’avez pas besoin de la deuxième adresse IP.
Vous pouvez exécuter à la fois Discourse et WordPress en écoutant sur des sockets Unix (ou des ports supérieurs) et faire fonctionner un logiciel de proxy inverse devant (je recommande Caddy) pour servir sur la même adresse IP votre blog.example.com et forum.example.com.
Cela dit, si vous n’êtes pas familier avec ce type de configuration, exécuter chacun sur son propre VPS est beaucoup plus simple, car vous pouvez simplement suivre la vaste documentation disponible pour chacun.
Est-ce que la configuration que vous recommandez peut fonctionner sans problème ?
J’ai fait quelque chose avec HAProxy lorsque j’essayais initialement Discourse. J’étais un peu novice, et je le suis encore en ce qui concerne les serveurs et tout le reste, mais je l’ai fait quand même, et j’en ai appris un peu sur HAProxy en cours de route. Si je me souviens bien, il y avait des problèmes avec SSL, et le comportement de Discourse était quelque peu instable, mais je suppose que j’ai fait quelque chose de mal.
Ma question est donc : est-il possible de réaliser la configuration que vous recommandez sans instabilité et sans problèmes “étranges”, sans avoir besoin d’un réglage extrême ?
Je me souviens que lorsque j’ai effectué mes tests, j’ai suivi le guide Apache. Ce qui n’est pas clair dans l’article, c’est savoir si SSL doit être désactivé lors de la reconstruction de Discourse (et si la désactivation s’effectue simplement en ne saisissant pas d’adresse e-mail pour Let’s Encrypt), ainsi que quels ports doivent être « exposés » dans app.yml de Discourse (le guide montre uniquement à quoi doit ressembler la ligne…
“8888:80” # transfert du port hôte 8888 vers le port conteneur 80 (http)
… mais ne dit rien concernant la ligne suivante immédiate dans le fichier app.yml (celle qui, par défaut, ressemble…
“443:443” # https
… et à quoi elle devrait ressembler).
PS. En examinant le fichier app.yml pour rédiger ce post, j’ai remarqué que les lignes suivantes y figurent :
##Décommentez ces deux lignes si vous souhaitez ajouter Let’s Encrypt (https)
“templates/web.ssl.template.yml”
“templates/web.letsencrypt.ssl.template.yml”
… cependant, à l’heure actuelle, mon application Discourse fonctionne avec SSL activé, mais ces lignes sont décommentées. Dans quelle mesure le fait de commenter ces lignes est-il crucial pour ma configuration actuelle (sans proxy) ou pour ma configuration souhaitée (avec un proxy et apache-wordpress) ?
Si vous n’êtes pas familier avec les reverse proxies et que vous pouvez facilement obtenir une seconde adresse IP, ce n’est pas une mauvaise solution. Il suffit de faire quelque chose comme ceci :
Merci, cela a fonctionné pour moi. Mon fournisseur de VPS propose des « adresses IP flottantes » peu coûteuses en plus de l’adresse IP principale configurée sur le VPS. Cette solution est très élégante pour moi. Elle devrait être mieux documentée, car elle est si simple.
D’abord, achetez une adresse IP flottante et liez-la à mon VPS.
Ensuite, configurez le serveur pour l’utiliser :
vim /etc/network/interfaces.d/60-my-floating-ip.cfg
auto eth0:1
iface eth0:1 inet static
address votre.IP.Flottante
netmask 32
Puis enregistrez. Redémarrez le réseau :
sudo service networking restart
Maintenant, j’ai deux adresses IP : j’utilise l’adresse IP principale pour configurer plusieurs sites nginx. Veuillez noter les lignes de configuration dans /etc/nginx/sites-enabled :
Je ne sais pas s’il est approprié de citer des noms, mais le serveur est hébergé sur Hetzner Cloud et la fonctionnalité d’adresse IP flottante est très pratique et correctement tarifiée.
Je sais que c’est un sujet ancien, mais je voulais vous remercier, cela pourrait me faire économiser des jours de travail sur un problème similaire auquel je suis confronté. Merci de partager ces informations inestimables avec tout le monde !!