Vous pouvez utiliser la fonction d'hôtes virtuels
d'Apache pour exécuter
différents serveurs pour différentes adresses IP,
différents noms d'hôte ou différents ports
sur le même ordinateur. Si vous vous intéressez
à l'utilisation d'hôtes virtuels pour
différentes adresses IP ou différents noms
d'hôte sur votre ordinateur, vous trouverez des
informations complètes dans la documentation relative
à Apache figurant sur votre
ordinateur ou sur le site
http://www.apache.org/docs/vhosts/.
 | Remarque |
|---|
| | Vous ne pouvez pas utiliser d'hôtes virtuels
basés sur le nom avec Red Hat Linux Secure Server parce que
l'établissement de la liaison SSL (lorsque le
navigateur accepte le certificat sécurisé du
serveur Web) se produit avant la demande HTTP identifiant
l'hôte virtuel nommé approprié. Si vous
voulez utiliser des hôtes virtuels basés sur le
nom, ils ne fonctionneront qu'avec votre serveur Web non
sécurisé.
|
Les hôtes virtuels sont configurés à
l'intérieur du fichier httpd.conf et
du fichier httpd.conf.ssl, comme
décrit à la
la section intitulée Directives de configuration. Lisez cette section
avant de commencer à changer la configuration des
hôtes virtuels sur votre ordinateur.
La configuration par défaut de Red Hat Linux Secure Server lance deux
serveurs Web : un Red Hat Linux Secure Server et un serveur Web non
sécurisé. Les deux serveurs utilisent les
mêmes adresse IP et nom d'hôte, mais scrutent des
ports différents et le Red Hat Linux Secure Server est un hôte
virtuel. Cette configuration vous permet de servir des
documents sécurisés et non
sécurisés avec un maximum d'efficacité.
Comme vous le savez, les transmissions HTTP
sécurisées sont plus lentes que les non
sécurisées, le nombre d'informations
échangées étant beaucoup plus important
dans le cas des transactions sécurisées. Ainsi,
l'utilisation de Red Hat Linux Secure Server pour un trafic Web non
sécurisé n'est pas appropriée.
Les directives de configuration spécifiquement
applicables à Red Hat Linux Secure Server figurent dans des balises de
l'hôte virtuel figurant dans le fichier
httpd.conf.ssl. Si vous devez modifier
quelque chose à la configuration de Red Hat Linux Secure Server, changez
les directives de configuration à l'intérieur
des balises de l'hôte virtuel dans le fichier
httpd.conf.ssl. Si vous voulez activer
certaines fonctions (par exemple, fichiers à inclure
côté serveur) pour Red Hat Linux Secure Server, elles devront
être activées à l'intérieur des
balises de l'hôte virtuel définissant Red Hat Linux Secure Server.
Le serveur Web non sécurisé est configuré
dans le fichier httpd.conf. Si vous
voulez modifier quelque chose concernant votre serveur Web non
sécurisé, modifiez les directives de
configuration du fichier httpd.conf.
Par défaut, les serveurs Web sécurisé et
non sécurisé partagent la même
DocumentRoot, directive de configuration
spécifiée dans le fichier httpd.conf
. Autrement dit, les serveurs Web
sécurisé et non sécurisé
recherchent au même endroit les fichiers HTML qu'ils
vont fournir en réponse à des demandes. Par
défaut, le DocumentRoot est
paramétré sur
/home/httpd/html.
Pour modifier le DocumentRoot de
manière à ce qu'il ne soit plus partagé
par les serveurs sécurisé et non
sécurisé, modifiez l'une des directives
DocumentRoot. La directive
DocumentRoot du fichier
httpd.conf définit le
DocumentRoot pour votre serveur Web non
sécurisé. La directive DocumentRoot
située dans les balises de l'hôte
virtuel du fichier httpd.conf.ssl
définissant Red Hat Linux Secure Server est destinée à votre
serveur Web sécurisé.
Si, pour une raison quelconque, vous voulez désactiver
le serveur Web non sécurisé sur votre
ordinateur, vous pouvez le faire. Red Hat Linux Secure Server scrute le port 443,
port par défaut pour les communications Web
sécurisées, tandis que votre serveur Web non
sécurisé scrute le port 80, port par
défaut pour des communications Web non
sécurisées. Pour faire en sorte que le serveur
Web non sécurisé cesse d'accepter des
connexions, recherchez dans le fichier
httpd.conf la ligne suivante :
Modifiez la ligne ci-dessus comme suit :
Commentez ensuite la ligne Listen 80 du fichier
httpd.conf.ssl :
Modifiez la ligne ci-dessus comme suit :
Une fois ces opérations accomplies, Red Hat Linux Secure Server acceptera
des connexions sur le port 443, port par défaut pour
des communications Web sécurisées. Toutefois,
votre serveur n'acceptera plus de connexions sur le port 80,
port par défaut pour les communications non
sécurisées, de sorte que le serveur Web non
sécurisé sera effectivement
désactivé.
La plupart des gens utiliseront probablement Red Hat Linux Secure Server sans en
modifier la configuration. Pour cela, ils utiliseront la
fonction d'hôtes virtuels intégrée, mais
ne devront faire aucune manipulation des directives
d'hôtes virtuels dans httpd.conf.
Toutefois, si vous voulez utiliser la fonction des hôtes
virtuels pour d'autres raisons, vous pouvez le faire.
Pour créer un hôte virtuel, vous devrez modifier
les lignes d'hôte virtuel, fournies à titre
d'exemple, dans le fichier httpd.conf, ou
créer votre propre section d'hôte virtuel.
N'oubliez pas que vous ne pouvez utiliser des hôtes
virtuels basés sur le nom qu'avec votre serveur Web non
sécurisé ; vous devrez utiliser des hôtes
virtuels basés sur adresse IP si vous avez besoin
d'autres hôtes virtuels compatibles SSL. Les exemples de
lignes se présentent comme suit :
#<VirtualHost ip.address.of.host.some_domain.com>
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error_log
# CustomLog logs/host.some_domain.com-access_log common
#</VirtualHost> |
Supprimez les commentaires de toutes les lignes. Ajoutez
ensuite les informations correctes concernant votre ordinateur
et/ou votre hôte virtuel à chaque ligne.
A la première ligne, remplacez
adresse.ip.domaine.com
par l'adresse IP de votre propre serveur. Remplacez
ServerName par un nom DNS
valable à utiliser pour
l'hôte virtuel. Autrement dit, n'inventez rien.
Interrogez votre Administrateur système si vous ne
savez pas comment obtenir un nom de domaine valable.
Vous devrez aussi supprimer le commentaire de l'une des lignes
NameVirtualHost dans le fichier
httpd.conf :
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78 |
Supprimez le commentaire d'une des lignes et remplacez le
l'exemple d'adresse IP par l'adresse IP (et le port, si
nécessaire) correspondant à cet hôte
virtuel.
Il est possible de placer de nombreuses autres directives de
configuration entre les balises de l'hôte virtuel, selon
la raison pour laquelle vous configurez un hôte virtuel.
Si vous configurez un hôte virtuel et voulez qu'il
scrute un port autre que celui par défaut (à
savoir le port 80 pour les Web non sécurisées,
ou le port 443 pour les communications Listen
sécurisées), vous devez configurer un hôte
virtuel pour ce port et ajouter une directive
Listen dans le fichier
httpd.conf, correspondant à ce
port.
Pour faire en sorte qu'un hôte virtuel travaille
spécifiquement pour ce port, ajoutez le numéro
de port à la première ligne de la configuration
de l'hôte virtuel. La première ligne doit
ressembler à ceci
<VirtualHost adresse_ip_du_serveur:12331> |
Cette ligne créerait un hôte virtuel scrutant le
port 12331. Ajoutez l'adresse IP de votre serveur et
substituez le numéro de port que vous voulez utiliser
à 12331 dans l'exemple
précédent.
Sous les lignes Listen du fichier
httpd.conf, ajoutez une ligne telle la
suivante, qui donnera pour instruction au serveur Web de
scruter le port 12331
Vous devez redémarrer votre serveur (voir la la section intitulée Démarrage et arrêt de votre serveur dans Chapitre 3) pour lancer un nouvel
hôte virtuel.
Vous trouverez sur le Web des informations plus
complètes sur la création et la configuration
d'hôtes virtuels basés sur le nom, à
l'adresse
http://www.apache.org/docs/vhosts/index.html.
Reportez-vous à la documentation relative à
l'hôte virtuel du groupe
Apache pour plus de détails
sur l'utilisation des hôtes virtuels.