Configurer des Virtual Hosts sur Linux - Guide débutant

Configurer des Virtual Hosts sur Linux – Guide débutant

Le principe des Serveurs Virtuels consiste à faire fonctionner un ou plusieurs serveurs Web sur une même machine. Dans ce tutoriel nous allons voir comment configurer des Virtual Host avec Centos et Apache en 7 étapes.

Le principe des Virtual Hosts

Les serveurs virtuels peuvent être soit « par-IP » où une adresse IP est attribuée pour chaque serveur Web, soit « par-nom » où plusieurs noms de domaine se côtoient sur des mêmes adresses IP. L’utilisateur final ne perçoit pas qu’en fait il s’agit d’un même serveur physique.

Apache a été le précurseur des serveurs proposant cette méthode de serveurs virtuels basés sur les adresses IP. Les versions 1.1 et suivantes proposent les deux méthodes de serveurs virtuels : par-IP et par-nom. Cette deuxième méthode est parfois également appelée host-based ou serveur virtuel non-IP.

Configurer des Virtual Hosts sur Linux - Guide débutant

Etape 1 Créer un nouveau répertoire

Le pré-requis est simple, il suffit d’avoir installé et paramétrer Apache. (Voir tutoriel)

La première étape consiste à créer un répertoire du nom du domaine (généralement) dans l’arborescence Apache. Ce répertoire accueillera tous les fichiers du site. Cet emplacement sera la racine dans votre fichier virtuel Apache.

#mkdir /var/www/test.quick-tutoriel.com

La première étape consiste à créer un répertoire du nom du domaine (généralement) dans l'arborescence Apache.

Etape 2 : définir les permissions

Nous ne devons pas laisser les droits root sur les répertoires. Nous allons utiliser l’utilisateur spécial apache pour affecter les bons droits.

#chown –R apache:apache /var/www/test.quick-tutoriel.com/public_html/

Nous allons utiliser l'utilisateur spécial apache pour affecter les bons droits.

Ensuite il est nécessaire de s’assurer que tout le monde sera en mesure de lire les nouveaux fichiers.

#chmod 755 /var/www

configurer des Virtual Hosts sur CentOS, affecter les bonnes permissions sur le répertoire

Etape 3 : Créer une page

Vous devez créer une page index.html dans le répertoire idoine. Nous pouvons rajouter du texte pour s’assurer, lors de nos tests que les redirections fonctionnent correctement.

#vim /var/www/test;quick-tutoriel.com/public_html/index.html

Vous pouvez prendre ce modèle par exemple (A vous ensuite de l’adapter en fonction de vos besoins)

<html>
<head>
<title>test.quick-tutoriel.com</title>
</head>
<body>
<h1>Success: You Have Set Up a Virtual Host</h1>
</body>
</html>

Etape 4 : Configurer des Virtual Hosts

L’activation des hôtes virtuels se fait dans le fichier de configuration http.conf. Editer-le.

#vim /etc/httpd/conf/httpd.conf

Assurez-vous que la ligne suivante ne soit pas en commentaire :

#Listen 12.34.56.78:80
Listen 80

L'activation des hôtes virtuels se fait dans le fichier de configuration http.conf.

Déplacez-vous à la fin du fichier et repérez une section nommée NameVirtualHost *:80

Activer les hôtes virtuels dans le fichier http.conf

C’est ici que vous gérez vous hôtes virtuels. Voyons maintenant les lignes les plus importantes :

  • NameVirtualHost : Décommentez cette ligne pour activer la gestion des virtual hosts. * indique que toute les ip passant par le port 80 seront un hôte virtuel. Généralement vous n’avez qu’une IP sur votre serveur, si l’étoile vous gêne, vous pouvez la remplacer par l’adresse IP du serveur
  • <VirtualHost *:80></VirtualHost> : permet de définir les paramètres « virtuels » de votre site. Si vous avez remplacé * par une IP, il faut faire pareil ici.
  • Document Root : élément clé de la gestion des hôtes virtuel, vous devez lui indiquer le chemin complet saisi plus haut.
  • Server Name : autre élément clé, vous devez indiquer ici le nom de domaine de votre hôte.
  • ServerAlias : vous pouvez utiliser cet argument supplémentaire, non obligatoire, pour indiquer une variante du nom de domaine. Typiquement on l’utilise soit pour enlever ou pour rajouter les www à un site.
  • Server admin : vous indiquer ici le contact pour le site, généralement on met l’adresse mail du contact.
  • The Error Logs and Custom Logs : permet de définir un emplacement personnalisé pour les fichiers de log des erreurs.
Une fois tous les arguments saisis, enregistrer les modifications.

Etape 5 : Redémarrer le serveur Apache

Pour que les modifications soient prises en compte vous devez redémarrer le serveur Apache.

# service httpd restart

Redémarrer le serveur Apache pour la prise en compte des Virtual Hosts dans le fichier http.conf

Etape 6 : Configuration des hôtes

Si vous n’avez pas plusieurs noms de domaine à disposition pour les faire pointer vers l’IP de votre serveur Apache, vous pouvez soit éditer le fichier hosts et rajouter des noms de domaine factices. Cela ne marchera qu’avec un navigateur local.

#vim /etc/hosts

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost

#Virtual Hosts 
12.34.56.789 test.quick-tutoriel.com

Si vous avez un nom de domaine, vous pouvez créer plusieurs sous-domaines et affecter l’adresse IP de votre serveur. Par exemple avec Cpanel dans Editeur avancé de zone DNS.

Configuration des hôtes et des virtual hosts

Configuration des hôtes et des virtual hosts

Etape 7 : Test de la configuration

Lancer votre navigateur et taper un de vos noms de domaine, vous devez arriver sur le bon virtual host.

Nom de domaine : test.quick-tutoriel.com

Lancer votre navigateur et taper un de vos noms de domaine, vous devez arriver sur le bon virtual host.

Nom de domaine : emailpoubelle.quick-tutoriel.com :

Lancer votre navigateur et taper un de vos noms de domaine, vous devez arriver sur le bon virtual host.

En fonction du domaine, Apache redirige vers le bon virtual host. Vous pouvez le voir dans le nom dans l’onglet.

Astuce du pro

Si vous laisser tel quel, si vous taper l’adresse IP du serveur, vous tomberez sur le premier hôte virtuel défini dans votre configuration. Pour pallier à ce souci (si cela en est un), vous pouvez définir un hôte virtuel bidon. Comme cela, si vous tapez l’adresse du serveur vous arrivez sur une page classique d’Apache. Vous pouvez aussi personnaliser cette page.

Pour arrivez à cette configuration rajouter un hôte virtuel bidon. Voici ma config de base :

<VirtualHost *:80>
DocumentRoot /var/www/
ServerAdmin root@example.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
</VirtualHost>

En tapant l’IP du serveur vous devriez arriver sur quelque chose de similaire.

Si vous laisser tel quel, si vous taper l'adresse IP du serveur, vous tomberez sur le premier hôte virtuel défini dans votre configuration.

Signature Manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *