Je dispose d'un bloc assez long de directives de configuration d'autorisation dans un fichier de configuration Apache. <Directory>
dans le fichier de configuration d'un hôte virtuel.
Il possède des identifiants LDAP et un filtre complexe qu'il sera fastidieux de reproduire dans le fichier de configuration du serveur virtuel.
Voici un exemple simplifié :
ServerName server.domain.com
DocumentRoot /var/www/server.domain.com
<Directory /var/www/server.domain.com/>
AllowOverride FileInfo
Options +ExecCGI
# PASSWORD PROTECT
AuthType Basic
AuthBasicProvider ldap file
AuthName "INTERNAL"
AuthLDAPURL ldap://xxx
AuthLDAPBindDN uid=xxx,cn=xxx
AuthLDAPBindPassword xxx
AuthzLDAPAuthoritative on
AuthUserFile /var/www/server.domain.com/.htpasswd
Require valid-user
</Directory>
Alias /alias1 /var/www/alias1.domain.com
<Directory /var/www/alias1.domain.com>
# ?
</Directory>
Alias /alias2 /var/www/alias2.domain.com
<Directory /var/www/alias2.domain.com>
# ?
</Directory>
Alias /alias3 /var/www/alias3.domain.com
<Directory /var/www/alias3.domain.com>
# ?
</Directory>
</VirtualHost>
Maintenant, parce que la plupart des Auth*
doivent être utilisées à l'intérieur d'un Directory
o .htaccess
contexte, je suis obligé de répéter l'ensemble de l'opération. AuthType
... Require valid-user
pour chaque Alias
que j'ajoute.
Le seul moyen auquel je pense pour éviter cela est de diviser la section authentification dans un fichier séparé et d'y faire référence en utilisant l'option Include
.
Comme solution, le Include
fonctionnerait bien et serait facile à entretenir.
Existe-t-il une autre façon de procéder qui donne un fichier de configuration de serveur virtuel plus propre et moins répétitif ?
Juste au cas où il y aurait un moyen de faire ce genre de choses dans Apache que je n'aurais pas appris au cours des 15 dernières années !
EDIT : Je dois préciser que la raison pour laquelle j'utilise Alias
est pour faciliter le déploiement, je ne veux pas avoir à recréer des liens symboliques à chaque fois que je reconstruis ce système. DocumentRoot
répertoire. Je me rends compte cependant que l'utilisation de liens symboliques et de l'option Location
fournirait la cascade que je recherche pour éviter la répétition.
Le problème que j'ai, je suppose, est plus lié au fait que Alias
nécessite une correspondance Directory
pour pouvoir restreindre l'accès.