Comment configurer des Virtual Hosts sur CentOS – Guide débutants.

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 gérer les 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. Ses 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.

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

configurer des Virtual Hosts sur CentOS.

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/

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

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 : Activer les hôtes virtuels

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

Activer les hôtes virtuels dans le fichier 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

tester vos virtual hosts

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

tester vos virtual hosts

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.

Ajouter un un virtual host bidon pour augmenter la sécurité de votre serveur web

That’s All.

Laisser un commentaire

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