diff --git a/Readme.md b/Readme.md index b73219e..fc2d6b5 100644 --- a/Readme.md +++ b/Readme.md @@ -4,31 +4,26 @@ Monter un serveur apache multi instance en utilisant l'archi apache - -## Architecture - -Chaque vhost est servi par une instance apache dédiée écoutant sur un port distinct. - -l'instance principale écoute sur 80 et 443 et fait office de reverse proxy + ssl offloading. Elle se contente de rediriger la requète vers la bonne instance en fonction du vhost appelé +Cette instance va: + * écouter sur le port 8801 + * tourner avec l'identité du compte/groupe site1 + * documentroot: /srv/site1/www + * errorlog: /srv/site1/logs/error_log + * accesslog: /srv/site1/logs/access_log # format combined ## Mise en oeuvre -l'étude du fichier d'unité _/usr/lib/systemd/system/httpd@.service_ nous permet de deviner qu'il est possible de créer plusieurs instances d'apache en déposant des fichiers **nom**.conf dans /etc/httpd/conf et de les gérer via l'unité httpd@**nom**.service +Copier le fichier /usr/share/doc/httpd/instance.conf comme /etc/httpd.conf/*site1*.conf -Le fichier /etc/httpd.conf/**nom**.conf va s'appuyer sur /usr/share/doc/httpd/instance.conf - -On peut s'appuyer pour le contenu de ce fichier sur la variable HTTPD_INSTANCE - -Il est donc _PRESQUE_ possible de rajouter une nouvelle instance à partir du vhost à héberger (par ex plop.fr) - - création du compte utilisateur et du group "plop.fr", rep perso /srv/plop.fr - - copie du fichier de conf d'une instance existante dans /etc/httpd/conf/plop.fr.conf - - changer le n° de port dans le fichier de conf - - lancer la nouvelle instance +Adapter ce fichier pour répondre aux objectifs ci-dessus +Il est possible de vérifier la syntaxe du fichier via la commande +```bash +export HTTPD_INSTANCE=site1 ; httpd -tf /etc/httpd/conf/site1.conf +``` ## Gestion du service -on utilise l'unité httpd@**nominstance**.service avec systemctl - +on utilise l'unité httpd@**site1**.service avec systemctl Pour que instance1 soit relancé avec l'instance principale: @@ -40,5 +35,6 @@ Y ajouter: ReloadPropagatedFrom=httpd.service ``` +## Configuration du serveur frontal - +Il suffit de définir un VirtualHost qui va rediriger toutes les requètes reçues sur l'instance concernée, en utilisantl les directives _proxypass_ et _proxypassreverse_