Comment configurer les hôtes virtuels dans Nginx sur Ubuntu ⋆ ALexHost SRL

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills
11.02.2025

Comment configurer les hôtes virtuels dans Nginx sur Ubuntu

La configuration d’hôtes virtuels dans Nginx vous permet d’héberger plusieurs sites web sur un seul serveur, chaque site web ayant son propre nom de domaine. Les hôtes virtuels de Nginx sont configurés à l’aide de “blocs de serveur” qui définissent les paramètres de chaque site web. Ce guide vous aidera à configurer les hôtes virtuels sur un serveur Ubuntu avec Nginx.

1. Conditions préalables

  • Nginx est installé : Assurez-vous que Nginx est installé sur votre serveur. Si ce n’est pas le cas, installez-le avec :
    sudo apt update
    sudo apt install nginx
  • Noms de domaine : Faites pointer les noms de domaine que vous souhaitez héberger vers l’adresse IP de votre serveur. Vous pouvez modifier votre fichier /etc/hosts à des fins de test.

2. Configurer des répertoires pour chaque site web

Chaque site web doit avoir son propre répertoire pour stocker ses fichiers. Créons des répertoires pour deux sites web, exemple1.com et exemple2.com.

sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html

Attribuez la propriété de ces répertoires à l’utilisateur Nginx (www-data) afin de vous assurer que Nginx dispose des autorisations nécessaires.

sudo chown -R www-data:www-data /var/www/example1.com/html
sudo chown -R www-data:www-data /var/www/example2.com/html

Définissez les autorisations appropriées :

sudo chmod -R 755 /var/www

3. Créer un exemple de contenu

Pour tester les hôtes virtuels, ajoutez des exemples de fichiers HTML pour chaque site.

Exemple1.com :

echo "<h1>Welcome to Example1.com!</h1>" | sudo tee /var/www/example1.com/html/index.html

Example2.com:

echo "<h1>Welcome to Example2.com!</h1>" | sudo tee /var/www/example2.com/html/index.html

4. Création des fichiers de configuration de l’hôte virtuel

Nous allons maintenant créer un fichier de configuration du bloc serveur (hôte virtuel) pour chaque site web. Nginx stocke ces fichiers de configuration dans le répertoire /etc/nginx/sites-available/.

Étape 1 : Créer la configuration pour Example1.com

Créez un nouveau fichier de configuration pour exemple1.com :

sudo nano /etc/nginx/sites-available/example1.com

Ajoutez la configuration suivante :

server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

Étape 2 : Créer la configuration pour Example2.com

Créez un fichier de configuration pour example2.com :

sudo nano /etc/nginx/sites-available/example2.com

Ajoutez la configuration suivante :

server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

5. Activer les hôtes virtuels

Nginx utilise des liens symboliques pour activer les hôtes virtuels. Liez les fichiers de configuration de sites-available à sites-enabled :

sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/

6. Tester la configuration

Pour vous assurer qu’il n’y a pas d’erreurs de syntaxe dans votre configuration, exécutez le programme :

sudo nginx -t

Si tout est correct, vous verrez un message de confirmation. S’il y a des erreurs, Nginx affichera des détails pour vous aider à résoudre le problème.

7. Redémarrer Nginx

Après avoir confirmé la configuration, redémarrez Nginx pour appliquer les changements :

sudo systemctl restart nginx

8. Accéder aux sites web

Si les noms de domaine sont dirigés vers votre serveur, vous devriez maintenant être en mesure d’accéder à chaque site :

  • http://example1.com
  • http://example2.com

Pour les tests locaux, vous pouvez éditer votre fichier /etc/hosts pour faire correspondre les noms de domaine à l’adresse IP de votre serveur. Ajoutez des entrées telles que :

127.0.0.1 exemple1.com 127.0.0.1 exemple2.com

Enregistrez et fermez le fichier, puis essayez d’accéder aux sites dans votre navigateur.

9. Activation du protocole HTTPS pour chaque site (facultatif)

Pour des connexions sécurisées, vous pouvez configurer des certificats SSL à l’aide de Let’s Encrypt. Pour activer HTTPS :

Installez certbot :

sudo apt install certbot python3-certbot-nginx

Exécutez la commande suivante pour obtenir et configurer les certificats SSL pour chaque domaine :

sudo certbot --nginx -d example1.com -d www.example1.com
sudo certbot --nginx -d example2.com -d www.example2.com

Suivez les instructions, et Certbot configurera automatiquement HTTPS dans votre configuration Nginx.

Conclusion

En configurant des hôtes virtuels dans Nginx sur Ubuntu, vous pouvez héberger plusieurs sites web sur un seul serveur, chacun avec sa propre configuration et son propre contenu. Cette configuration est efficace et évolutive, ce qui fait de Nginx un excellent choix pour héberger plusieurs sites sur le même serveur.

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills