Tutorial

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04 [Quickstart]

ApacheQuickstartUbuntu 18.04

Introduction

Ce tutoriel vous guidera dans la mise en place de plusieurs domaines et sites web en utilisant des hôtes virtuels Apache sur un serveur Ubuntu 18.04. Au cours de ce processus, vous apprendrez comment servir différents contenus à différents visiteurs en fonction des domaines qu'ils demandent.

Pour consulter une version plus détaillée de ce tutoriel, avec plus d'explications sur chaque étape, veuillez vous référer à Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04.

Conditions préalables

Afin de compléter ce tutoriel, vous devez avoir accès aux éléments suivants sur un serveur Ubuntu 18.04 :

  • Un utilisateur sudo sur votre serveur
  • Un serveur web Apache2, que vous pouvez installer avec sudo apt install apache2

Étape 1 - Créez la structure du répertoire

Nous allons d'abord créer une structure de répertoire qui contiendra les données du site que nous servirons aux visiteurs dans notre répertoire Apache de premier niveau. Nous utiliserons des exemples de noms de domaine, mis en évidence ci-dessous. Vous devez les remplacer par vos noms de domaine réels.

  • sudo mkdir -p /var/www/example.com/public_html
  • sudo mkdir -p /var/www/test.com/public_html

Étape 2 - Accordez les autorisations

Nous devons maintenant modifier les autorisations de notre utilisateur actuel non root afin de pouvoir modifier les fichiers.

  • sudo chown -R $USER:$USER /var/www/example.com/public_html
  • sudo chown -R $USER:$USER /var/www/test.com/public_html

De plus, nous veillerons à ce que l'accès soit autorisé en lecture au répertoire général du web et à tous les fichiers et dossiers qu'il contient, afin que les pages puissent être servies correctement.

  • sudo chmod -R 755 /var/www

Étape 3 - Créez des pages de démonstration pour chaque hôte virtuel

Pour créer du contenu à servir, nous allons faire une page index.html de démonstration pour chaque site. Nous pouvons ouvrir un fichier index.html dans un éditeur de texte pour notre premier site, en utilisant nano par exemple.

  • nano /var/www/example.com/public_html/index.html

Dans ce fichier, créez un document HTML spécifique au domaine, comme ceci :

/var/www/example.com/public_html/index.html
<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The example.com virtual host is working!</h1>
  </body>
</html>

Enregistrez et fermez le fichier, puis copiez ce fichier pour l'utiliser comme base pour notre deuxième site :

  • cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

Ouvrez le dossier et modifiez les éléments d'information pertinents :

  • nano /var/www/test.com/public_html/index.html
/var/www/test.com/public_html/index.html
<html>
  <head>
    <title>Welcome to Test.com!</title>
  </head>
  <body> <h1>Success! The test.com virtual host is working!</h1>
  </body>
</html>

Enregistrez et fermez également ce fichier.

Étape 4 - Créez de nouveaux fichiers d'hôtes virtuels

Apache est livré avec un fichier d'hôte virtuel par défaut appelé 000-default.conf, que nous utiliserons comme modèle. Nous allons le copier afin de créer un fichier d'hôte virtuel pour chacun de nos domaines.

Créer le premier fichier d'hôte virtuel

Commencez par copier le fichier pour le premier domaine :

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Ouvrez le nouveau fichier dans votre éditeur (nous utilisons nano ci-dessous) avec les privilèges root :

  • sudo nano /etc/apache2/sites-available/example.com.conf

Nous adapterons ce fichier pour notre propre domaine. Modifiez le texte surligné ci-dessous en fonction de votre situation personnelle.

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

À ce stade, enregistrez et fermez le fichier.

Copiez le premier hôte virtuel et personnalisez-le pour le deuxième domaine

Maintenant que nous avons établi notre premier fichier d'hôte virtuel, nous pouvons en créer un deuxième en copiant ce fichier et en l'ajustant si nécessaire.

Commencez par le copier :

  • sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Ouvrez le nouveau fichier avec les privilèges root dans votre éditeur :

  • sudo nano /etc/apache2/sites-available/test.com.conf

Vous devez maintenant modifier tous les éléments d'information pour référencer votre deuxième domaine. Le fichier final devrait ressembler à ceci, avec un texte surligné correspondant à vos propres informations de domaine pertinentes.

/etc/apache2/sites-available/test.com.conf
<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 5 - Activez les nouveaux fichiers hôtes virtuels

Avec nos fichiers d'hôtes virtuels créés, nous devons les activer. Nous utiliserons l'outil a2ensite pour atteindre cet objectif.

  • sudo a2ensite example.com.conf
  • sudo a2ensite test.com.conf

Ensuite, désactivez le site par défaut défini dans 000-default.conf :

  • sudo a2dissite 000-default.conf

Lorsque vous avez terminé, vous devez redémarrer Apache pour que ces changements prennent effet et utiliser l'état systemctl pour vérifier le succès du redémarrage.

  • sudo systemctl restart apache2

Votre serveur devrait maintenant être configuré pour desservir deux sites web.

Étape 6 - Mettez en place le fichier d'hôtes locaux (facultatif)

Si vous n'avez pas utilisé de noms de domaine réels que vous possédez pour tester cette procédure et que vous avez utilisé des exemples de domaines à la place, vous pouvez tester votre travail en modifiant temporairement le fichier d'hôtes sur votre ordinateur local.

Sur une machine Mac ou Linux locale, tapez ce qui suit :

  • sudo nano /etc/hosts

Pour une machine Windows locale, vous trouverez ici les instructions pour modifier votre fichier d'hôtes.

En utilisant les domaines utilisés dans ce guide, et en remplaçant l'IP de votre serveur par le texte your_server_IP, votre fichier devrait ressembler à ceci :

/etc/hosts
127.0.0.1   localhost
127.0.1.1   guest-desktop
your_server_IP example.com
your_server_IP test.com

Enregistrez et fermez le fichier. Cela permettra de diriger toute demande de example.com et test.com sur notre ordinateur et de l'envoyer à notre serveur.

Étape 7 - Testez vos résultats

Maintenant que vos hôtes virtuels sont configurés, vous pouvez tester votre configuration en allant sur les domaines que vous avez configurés dans votre navigateur web :

http://example.com

Vous devriez voir une page qui ressemble à celle-ci :

Exemple d'hôte virtuel Apache

Vous pouvez également visiter votre deuxième page et voir le fichier que vous avez créé pour votre deuxième site.

http://test.com

Test de l'hôte virtuel Apache

Si ces deux sites fonctionnent comme prévu, vous avez configuré deux hôtes virtuels sur le même serveur.

Si vous avez adapté le fichier hôte de votre ordinateur personnel, supprimez les lignes que vous avez ajoutées.

Tutoriels connexes

Voici des liens vers d'autres guides supplémentaires liés à ce tutoriel :

Creative Commons License