13     Installation du conteneur du serveur Web

Un serveur web est un logiciel qui permet de « servir » les pages que vous consultez lorsque votre navigateur se connecte à un site Internet.

Pour rappel, sur mon serveur vont tourner 3 Blogs (et peut-être d’autres applications web dans le futur), mais un utilisateur navigant sur Internet pourra joindre ces blogs via :

·      http(s)://pierre-ange.delbary-rouille.net/blog ,

·      http(s)://salammbo.delbary-rouille.net/blog ,

·      http(s)://moira.delbary-rouille.net/blog .

Pour cela, avant même d’arriver sur l’application qui gère le blog, il faut un mécanisme qui oriente correctement la requête de l’utilisateur : ainsi, il faudra au niveau du serveur, faire la différence entre les requêtes qui concernent pierre-ange.delbary-rouille.net/blog, salammbo.delbary-rouille.net/blog et moira.delbary-rouille.net/blog.

Ce « travail » sera effectué par un service qui fera tourner ce que l’on appelle un « reverse proxy » : une espèce de serveur web qui en fonction de l’url, orientera la requête vers telle ou telle application. Schématiquement, cela ressemble à ceci :

« nginx » est le « reverse proxy » que nous allons utiliser. Quand une requête arrive, en fonction de l’url demandée, nginx orientera celle-ci soit vers pierre-ange.delbary-rouille.net/blog, salammbo.delbary-rouille.net/blog ou moira.delbary-rouille.net/blog.

 

En plus de ceci, « nginx » va gérer à notre place les « certificats » des sites web. Les certificats permettent d’attester de la « propriété », la « sûreté » d’un site web : en gros, quand quelqu’un va aller sur https://pierre-ange.delbary-rouille.net, le certificat indiquera au navigateur qu’il s’agit bien de « mon » serveur qui répond, et que la connexion est sécurisée. Les certificats sont obtenus auprès d’une autorité de régulation tierce. Nous choisirons Letsencrypt qui fournit des certificats gratuitement, mais qui doivent être renouvelés tous les 90 jours.

 

Le schéma présente également website1 et website2 (on pourrait ajouter website3), puisqu’il s’agit des sites web qui vont tourner derrière pierre-ange.delbary-rouille.net/blog, salammbo.delbary-rouille.net/blog et moira.delbary-rouille.net/blog

 

Tous les services décrits ci-dessus seront hébergés dans un unique conteneur Docker. Nous aurons donc ici besoin d’un conteneur contenant les services :

·      Pour le reverse proxy nginx,

·      Pour la gestion des certificats ssl,

·      Pour le site de blog de Pierre-Ange,

·      Pour le site de blog de Salammbô,

·      Pour le site de blog de Moïra.

 

Pour mettre en place notre conteneur, nous allons utiliser Portainer, et aurons besoin de créer des fichiers de configuration pour Nginx, WordPress et la gestion des certificats.