Toutes les machines où se trouvent des sites web et/ou des redirections d’URLs, il y a un serveur HA Proxy qui va recevoir toutes les requêtes en HTTP (port 80) et HTTPS (port 443). Ainsi, une seule machine peut s’occuper de plusieurs sites web. Voici quelques raisons pourquoi HA Proxy est ajouté au déploiement:
Simplification de la gestion des certificats pour HTTPS en les ayant tous à ce niveau plutôt qu’au niveau applicatif.
Permettre de rendre le site disponible sur une ou plusieurs machines (celles avec HA Proxy) tout en partageant la charge sur plusieurs machines en exécutant l’application du site (comme Apache PHP) sur plusieurs machines.
Pour servir des sites en HTTPS, il faut un certificat (qui peut être gratuit ou payant) et comme c’est HA Proxy qui reçoit les requêtes, c’est celui-ci qui possède tous les certificats. Ensuite, la connexion entre HA Proxy et l’application du site web n’est normalement pas cryptée si ces deux applications sont sur la même machine.
Pour les redirections d’URLs, un processus Apache est lancé pour toutes les redirections HTTP et un autre processus pour toutes les redirections HTTPS.
graph LR
R[Apache HTTP Redirection]
RS[Apache HTTPS Redirection]
PHP[Apache PHP]
HA[HA Proxy]
HA --> R
HA --> RS
HA --> PHP
Diagramme des ressources à gérer
La ressource Website
permet de définir un site web qui est accessible par HTTP ou HTTPS. Pour supporter les deux protocoles, il faut créer deux Website. Ainsi, le site en HTTP pourrait être une redirection à HTTPS et le HTTPS pourrait être le site lui-même.
peut être considérée comme l’application HA Proxy et c’est pourquoi toute sa configuration (comme le certificat HTTPS) est présente dessus et elle ne fait que pointer à une application qui répond aux requêtes.
La ressource ApachePhp est l’application qui contient les fichiers PHP et qui répond aux requêtes. Sans un Website qui pointe dessus, le site en tant que tel n’est pas accessible hors de la machine.
Mettre la version 7.4.3-1 ou une plus récente (vérifier via le lien dans l’éditeur)
Pour Répertoire de base, mettre le chemin du répertoire de l’utilisateur Unix et y ajouter un sous-répertoire
Pour Utilisateur Unix, choisir l’utilisateur Unix précédemment créé
Pour Sites web qui pointent vers cette application, choisir le site web précédemment créé
Ajouter Parties (pour la base de données), choisir l’attachement de la base de données précédemment créé
Pour Installé sur les machines, choisir la même machine que celle où l’utilisateur Unix est installé
Cliquer sur Créer
Extras
Pour envoyer des courriels
Envoyer des courriels avec PHP est parfois plus compliqué que nécessaire. C’est parce qu’il dépend de l’application Sendmail et de la configuration que l’administrateur place dans “php.ini”. Dans ce fichier, il est possible de mettre plusieurs arguments différents à passer à Sendmail et cela a des impacts différents pour l’application PHP pour choisir certains paramètres comme le courriel qui doit aller dans le champ “From”.
supporte un courriel “From” à utiliser si aucun n’est spécifié,
supporte les différents arguments
et supporte les différents en-têtes.
Ce programme envoie le tout à l’application msmtp et c’est pourquoi il faut attacher un fichier de configuration de msmtp en suivant les étapes ci-dessous.
Email Relay
Prérequis: avoir un compte courriel qui permet d’envoyer des courriels en tant que l’adresse “From” que vous désirez. Cela peut être votre compte GMail, AWS SES, Sendgrid, votre compte courriel sur Foilen Cloud ou n’importe quelle autre plateforme qui permet l’envoie en SMTP.