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.
Afin de compléter ce tutoriel, vous devez avoir accès aux éléments suivants sur un serveur Ubuntu 18.04 :
sudo apt install apache2
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
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
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 :
<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
<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.
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.
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.
<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.
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.
<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é.
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.
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 :
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.
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 :
Vous pouvez également visiter votre deuxième page et voir le fichier que vous avez créé pour votre deuxième site.
http://test.com
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.
Voici des liens vers d’autres guides supplémentaires liés à ce tutoriel :
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.