27
2019
Configuration d’apache de façon générique avec mod_macro
Definition
Le mod_macro d’apache permet de standardisé les virtualhost en permettant l’utilisation de macro ( Fonction / variables ).
Installation
Le mod_macro est un module de base et est installé avec apache.
Pour l’activer éditer le fichier /etc/httpd/conf.modules.d/00-base.conf
Et ajouter la ligne :
LoadModule macro_module modules/mod_macro.so
Recharger apache :
systemctl httpd reload
Configuration
A présent, créez ou ouvrez un fichier conf pour créer ou modifier un virtualhost. Par exemple, /etc/httpd/conf.d/vhosts.conf.
Le principe est simple. Prenez votre virtualhost de base :
<VirtualHost 192.168.0.1:80>
ServerName app1.domaine.fr
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/# Logging
LogLevel warnErrorLog /var/log/httpd/app1.domaine.fr-error_log
CustomLog /var/log/httpd/app1.domaine.fr-access_log combined</VirtualHost>
Imaginons que vous ayez plusieurs applications du même type. Le virtualhost doit être identique pour chaque application. Les seules différences que vous avez sont par exemple le fqdn (app1.domaine.fr) et le port (8080)
Dans ce cas vous pouvez créer un virtualhost générique pour les applications suivantes :
- FQDN : app1.domaine.fr Port : 8080
- FQDN : app2.domaine.fr Port : 8081
- FQDN : app3.domaine.fr Port : 8082
- FQDN : app4.domaine.fr Port : 8083
- FQDN : app5.domaine.fr Port : 8084
Voici ce que ça donnerait :
<Macro VHost $servername $port>
<VirtualHost 192.168.0.1:80>
ServerName $servername
ProxyPass / http://127.0.0.1:$port/
ProxyPassReverse / http://127.0.0.1:$port/# Logging
LogLevel warnErrorLog /var/log/httpd/$servername-error_log
CustomLog /var/log/httpd/$servername-access_log combined
</VirtualHost>
</Macro>Use VHost app1.domaine.fr 8080
Use VHost app2.domaine.fr 8081
Use VHost app3.domaine.fr 8082
Use VHost app4.domaine.fr 8083
Use VHost app5.domaine.fr 8084
Ici nous avons créé une macro (Fonction entre les deux balises Macro) qui utilise deux variables $port et $servername. Les valeurs seront automatiquement remplis au démarrage d’apache avec les valeurs définis par Use VHost.
Important : La Macro doit être défini avant de l’utiliser. C’est à dire au dessus du Use.
Pensez à redémarrer apache puis testez.
D’un point de vue administration je trouve ça vraiment pratique.
A vous de jouer
Articles similaires
Laissez un commentaire
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans