Configurer des hôtes virtuels avec Apache
Publié : 06 mai 2014, 09:57
Information :
Les opérations décrites ici ont été réalisées sous Ubuntu Server 12.04.4 LTS, avec un serveur Apache (2.2.22) déjà installé et fonctionnel. Si le serveur n'est pas joignable par un nom de domaine, la mise en place d'un DNS sera nécessaire (point non abordé ici).
Les opérations décrites ici ont été réalisées sous Ubuntu Server 12.04.4 LTS, avec un serveur Apache (2.2.22) déjà installé et fonctionnel. Si le serveur n'est pas joignable par un nom de domaine, la mise en place d'un DNS sera nécessaire (point non abordé ici).
[*]Contexte 2>[*]Généralités 3>
Lorsque plusieurs sites Internet doivent être hébergés sur la même machine, l'une des solutions consiste à faire des serveurs virtuels. Plusieurs méthodes existent pour différencier des serveurs virtuels :- Leur attribuer une adresse IP différente des autres
- Les faire écouter un port différent des autres
- Leur attribuer un nom de domaine particulier
[*]Principe de fonctionnement 3>
Chaque hôte virtuel aura son propre nom de domaine. En réalité, il s'agira plutôt de sous-domaines, mais cela n'a pas d'importance car la configuration se fait de la même manière.
Afin de fournir des réponses appropriées en fonction du serveur demandé, Apache se base sur les informations contenues dans l'en-tête HTTP des requêtes entrantes.
Par exemple, prenons deux sites (site1 et site2) hébergés sur la même machine, avec deux sous-domaines (site1.domain.org et site2.domain.org) pointant vers cette machine. Suivant l'adresse demandée par le client (par exemple un navigateur), le serveur sera capable de renvoyer les données adéquates.
[*]Modifications à faire sur la configuration existante 2>
A partir du moment où plusieurs hôtes virtuels sont configurés, l'hôte initialement présent sur la machine doit être configuré également comme un hôte virtuel. Il convient donc d'ajouter une ligne dans son fichier de configuration (par défaut : /etc/apache2/sites-available/default), entre les balises <VirtualHost ...></VirtualHost> :Si le site initial doit rentrer dans l'exemple (site1 - site2) du chapitre précédent, remplacer «site.domain.org» par «site1.domain.org» (ou toute autre valeur appropriée).Code : Tout sélectionner
ServerName site.domain.org
[*]Création des fichiers de configuration des nouveaux hôtes 2>
Pour chaque hôte virtuel, un fichier de configuration est nécessaire. Par défaut, ces fichiers sont à placer dans /etc/apache2/sites-available. Les noms des fichiers sont au choix de l'utilisateur, mais il est toutefois recommandé de choisir des noms représentatifs pour chaque hôte.
Chacun de ces fichiers doit contenir au minimum les lignes suivantes :Il faut ensuite activer les sites souhaités. Il existe une commande permettant de le faire :Code : Tout sélectionner
<VirtualHost *:80> ServerAdmin admin_address@server.com ServerName site.domain.org DocumentRoot /path/to/site/root/folder </VirtualHost>
Il faut ensuite recharger la configuration d'Apache :Code : Tout sélectionner
sudo a2ensite /etc/apache2/sites-available/site_a_activer
Code : Tout sélectionner
sudo service apache2 reload
[*]Vérification du fonctionnement 2>