Serveur Apache HTTP Version 2.4
Description: | Permet de configurer dynamiquement l'h�bergement virtuel de masse |
---|---|
Statut: | Extension |
Identificateur�de�Module: | vhost_alias_module |
Fichier�Source: | mod_vhost_alias.c |
Ce module permet de cr�er des serveurs virtuels configur�s
dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de
l'en-t�te Host:
de la requ�te HTTP comme partie du nom
de chemin afin de d�terminer les fichiers � servir. Ceci facilite la
gestion d'un grand nombre de serveurs virtuels poss�dant des
configurations similaires.
Si les modules mod_alias
ou
mod_userdir
sont utilis�s pour traduire les URIs
en noms de fichiers, ils l'emportent sur les directives du module
mod_vhost_alias
d�crites ci-dessous. Par
exemple, la configuration suivante fera correspondre
/cgi-bin/script.pl
�
/usr/local/apache2/cgi-bin/script.pl
dans tous les cas :
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ VirtualScriptAlias /never/found/%0/cgi-bin/
Toutes les directives de ce module ins�rent une cha�ne dans un
nom de chemin. La cha�ne ins�r�e (que nous appellerons maintenant le
"nom") peut �tre soit le nom du serveur (voir la directive
UseCanonicalName
pour les
d�tails sur la mani�re dont il est d�termin�), soit l'adresse IP du
serveur virtuel h�berg� par le serveur sous la forme d'un quadruplet
d'octets s�par�s par des points. L'insertion est contr�l�e par des
sp�cificateurs inspir�s de printf
et poss�dant de
nombreux formats :
%% |
ins�re un % |
%p |
ins�re le num�ro de port du serveur virtuel |
%N.M |
ins�re le nom (en partie) |
N
et M
permettent de sp�cifier des
sous-cha�nes du nom. N
s�lectionne un des composants du
nom s�par�s par des points, et M
s�lectionne des
caract�res � l'int�rieur de ce que N
a s�lectionn�.
M
est optionnel et sa valeur par d�faut est 0 s'il
n'est pas sp�cifi� ; le point doit �tre pr�sent si et seulement si
M
l'est aussi. Les modes d'insertion sont les suivants
:
0 |
le nom en entier |
1 |
la premi�re partie |
2 |
la seconde partie |
-1 |
la derni�re partie |
-2 |
l'avant-derni�re partie |
2+ |
toutes les parties � partir de la seconde |
-2+ |
toutes les parties jusqu'� l'avant-derni�re |
1+ et -1+ |
identique � 0 |
Si N
ou M
est plus grand que le nombre
de parties disponibles, seul un caract�re de soulignement est
ins�r�.
Pour des serveurs virtuels simples � base de nom, utilisez les directives suivantes dans le fichier de configuration de votre serveur :
UseCanonicalName Off VirtualDocumentRoot /usr/local/apache/vhosts/%0
Une requ�te pour
http://www.example.com/repertoire/fichier.html
concernera alors la ressource
/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html
.
Pour un tr�s grand nombre de serveurs virtuels, il est avantageux
d'organiser les fichiers de fa�on � r�duire la taille du r�pertoire
vhosts
. Pour ce faire, ins�rez les lignes suivantes
dans votre fichier de configuration :
UseCanonicalName Off VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
Une requ�te pour
http://www.domaine.example.com/repertoire/fichier.html
concernera alors la ressource
/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html
.
Une r�partition plus r�guli�re des fichiers peut �tre obtenue en partant de la fin d'un composant du nom, comme dans l'exemple suivant :
VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
La requ�te pr�c�dente concernerait alors
/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html
.
Vous pouvez �galement utiliser :
VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
La requ�te pr�c�dente concernerait alors
/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html
.
Une demande tr�s courante des utilisateurs concerne la possibilit� de
faire correspondre plusieurs racines de documents � plusieurs
domaines, sans avoir � se pr�occuper de la longueur ou du nombre de
parties du nom d'h�te faisant partie de la requ�te. Si le nom d'h�te
de la requ�te est sub.www.domain.example.com
au lieu de
simplement www.domain.example.com
, alors en utilisant
%3+, la racine des documents sera
/usr/local/apache/vhosts/domain.example.com/...
au
lieu du r�pertoire example.com
attendu. Dans ce genre
de situation, il peut s'av�rer pr�f�rable d'utiliser la combinaison
%-2.0.%-1.0
qui fournira toujours le nom de domaine et
le tld, par exemple example.com
sans tenir compte du
nombre de sous-domaines ajout�s au nom d'h�te. Dans ces conditions,
il est possible d'�laborer une configuration qui associera les
sous-domaines de premier, second et troisi�me niveau au m�me
r�pertoire :
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
Dans l'exemple ci-dessus, www.example.com
,
www.sub.example.com
ou example.com
correspondront tous au r�pertoire
/usr/local/apache/vhosts/example.com
.
Pour l'h�bergement virtuel � base d'adresse IP, vous pouvez ins�rer les lignes suivantes dans votre fichier de configuration :
UseCanonicalName DNS VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
Si l'adresse IP de www.domaine.example.com
est
10.20.30.40, une requ�te pour
http://www.domaine.example.com/repertoire/fichier.html
concernera la ressource
/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html
.
Une requ�te pour
http://www.domaine.example.com/cgi-bin/script.pl
concernera la ressource
/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl
.
Si vous voulez ins�rer le caract�re .
dans une
directive VirtualDocumentRoot
, et si cela cr�e un
conflit avec un sp�cificateur %
, vous pouvez contourner
le probl�me de la mani�re suivante :
VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
Une requ�te pour
http://www.domaine.example.com/repertoire/fichier.html
concernera alors la ressource
/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html
.
Les sp�cificateurs de format %V
et %A
de la directive LogFormat
s'av�rent tr�s utiles
lorsqu'ils sont utilis�s en conjonction avec ce module.
Description: | Permet une configuration dynamique de la racine des documents d'un serveur virtuel donn� |
---|---|
Syntaxe: | VirtualDocumentRoot r�pertoire-interpol�|none |
D�faut: | VirtualDocumentRoot none |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_vhost_alias |
La directive VirtualDocumentRoot
vous
permet de sp�cifier o� le serveur HTTP Apache pourra trouver vos
documents en se basant
sur le nom du serveur. Le r�sultat de l'expansion du
r�pertoire-interpol� est utilis� comme racine de
l'arborescence des documents d'une mani�re similaire � l'argument de
la directive DocumentRoot
. Si
r�pertoire-interpol� a pour valeur none
, la
directive VirtualDocumentRoot
est d�sactiv�e.
Cette directive ne peut pas �tre utilis�e dans le m�me contexte que
la directive VirtualDocumentRootIP
.
VirtualDocumentRoot
l'emporte sur
toute directive DocumentRoot
d�finie dans le m�me contexte ou dans des contextes enfants. Le fait de
d�finir une directive VirtualDocumentRoot
dans le
contexte du serveur principal va effectivement l'emporter sur toute
directive DocumentRoot
d�finie dans
un serveur virtuel quelconque, si vous n'avez pas d�fini
VirtualDocumentRoot
� None
dans ce
serveur virtuel.
Description: | Configuration dynamique de la racine des documents pour un serveur virtuel donn� |
---|---|
Syntaxe: | VirtualDocumentRootIP r�pertoire-interpol�|none |
D�faut: | VirtualDocumentRootIP none |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_vhost_alias |
La directive VirtualDocumentRootIP
est
identique � la directive VirtualDocumentRoot
� l'exception
pr�s qu'elle utilise l'adresse IP du serveur virtuel pour
l'interpolation du r�pertoire � la place du nom du serveur.
Description: | Configuration dynamique du r�pertoire des scripts CGI pour un serveur virtuel donn� |
---|---|
Syntaxe: | VirtualScriptAlias r�pertoire-interpol�|none |
D�faut: | VirtualScriptAlias none |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_vhost_alias |
La directive VirtualScriptAlias
vous
permet de sp�cifier o� Apache httpd pourra trouver les scripts CGI selon une
m�thode similaire � celle qu'utilise la directive VirtualDocumentRoot
pour les
autres documents. Elle recherche des requ�tes dont l'URI commence
par /cgi-bin/
, comme le ferait la directive ScriptAlias
.
Description: | Configuration dynamique du r�pertoire des scripts CGI pour un serveur virtuel donn� |
---|---|
Syntaxe: | VirtualScriptAliasIP r�pertoire-interpol�|none |
D�faut: | VirtualScriptAliasIP none |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_vhost_alias |
La directive VirtualScriptAliasIP
est
identique � la directive VirtualScriptAlias
�
l'exception pr�s qu'elle utilise l'adresse IP du serveur virtuel
pour l'interpolation du r�pertoire � la place du nom du serveur.