GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer des hôtes virtuels Apache sur Ubuntu 18.04

Qu'est-ce que l'hôte virtuel Apache ?

Hôte virtuel vous permet d'exécuter plusieurs sites Web à partir d'un seul serveur physique ou d'un serveur privé virtuel. Il existe deux types d'hôtes virtuels sur Apache :

  • Hébergement virtuel basé sur IP – chaque site Web individuel sur le serveur Apache utilise une adresse IP différente et unique.
  • Hôtes virtuels basés sur le nom – vous permet d'ajouter plusieurs domaines à l'aide d'une seule adresse IP.

Ce didacticiel vous montre comment configurer les hôtes virtuels Apache sur un système Ubuntu 18.04.

Prérequis

  • Ligne de commande/fenêtre de terminal
  • Utilisateur avec root ou sudo privilèges
  • Un domaine pointant vers une adresse IP de serveur public
  • Serveur Web Apache sur Ubuntu installé, configuré et actif
  • Pare-feu activé

Configurer plusieurs domaines sur une seule IP

Apache Virtual Host vous permet de maximiser vos ressources lors de la configuration d'un site Web. Avec ce logiciel puissant, vous pouvez utiliser un seul serveur et une seule adresse IP pour héberger plusieurs domaines différents.

Avant de pouvoir configurer les hôtes virtuels Apache, vous devez installer le serveur Web Apache. Pour cela, lancez la commande :

sudo apt-get install apache2

Si vous rencontrez des problèmes lors de la configuration du serveur Web, consultez notre tutoriel détaillé sur l'installation d'Apache sur Ubuntu.

Comment configurer un hôte virtuel basé sur le nom

Basé sur le nom l'hébergement virtuel permet au client de signaler le nom d'hôte au serveur, en tant qu'élément de l'en-tête HTTP. Cette fonctionnalité signifie qu'une machine peut héberger plusieurs sites Web partageant la même adresse IP.

Étape 1 :Créer une structure de répertoire

Chaque hôte virtuel doit disposer d'un répertoire pour stocker les données de l'hôte virtuel. Créez des répertoires et une structure de répertoires à l'emplacement suivant /var/www . Dans notre exemple, nous avons créé phxnap1.com et phxnap2.com répertoires, un pour chaque nom de domaine.

1. Saisissez la commande suivante et remplacez l'exemple de domaine par vos noms de domaine :

sudo mkdir -p /var/www/phxnap1.com/public_html
sudo mkdir -p /var/www/phxnap2.com/public_html

Dans les répertoires, nous avons également créé public_html . Ces répertoires vont stocker les fichiers de sites Web pour les domaines.

2. Ensuite, créez un exemple index.html page pour chaque domaine, en utilisant nano ou votre éditeur de texte préféré. Commencez par le premier domaine :

nano /var/www/phxnap1.com/public_html/index.html

3. Ajoutez l'exemple HTML suivant :

<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>

4. Enregistrez et quittez le fichier.

5. Ensuite, créez un exemple de page pour le deuxième domaine :

nano /var/www/phxnap2.com/public_html/index.html

6. Ajoutez les lignes suivantes au fichier :

<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>

7. Enregistrez et quittez le deuxième fichier HTML.

8. Pour éviter tout problème d'autorisation, modifiez la propriété du répertoire racine de votre document en www-data . La commande chown est utile dans ce cas :

sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com

Vous avez maintenant réussi à modifier la propriété du répertoire à l'utilisateur Apache .

Étape 2 :Créer un fichier de configuration d'hôte virtuel

Les fichiers de configuration d'Apache Virtual Host sont stockés dans /etc/apache2/sites-available répertoire.

1. Pour créer un fichier de configuration de base pour votre premier domaine, saisissez les informations du domaine dans la commande :

sudo nano /etc/apache2/sites-available/phxnap1.com.conf

2. Ajoutez le bloc de configuration suivant pour créer un fichier de configuration de base. Cet exemple utilise le premier domaine de test, phxnap1.com . Assurez-vous d'entrer le bon domaine pour votre site Web :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap1.com-access.log combined

</VirtualHost>
  • Nom du serveur – représente le domaine
  • Alias ​​du serveur – représente tous les autres domaines tels que les sous-domaines
  • DocumentRoot – le répertoire utilisé par Apache pour servir les fichiers du domaine
  • ErrorLog, CustomLog – désigne l'emplacement des fichiers journaux

Il n'y a pas de format établi. Cependant, nommer vos fichiers de configuration en fonction du nom de domaine est une "meilleure pratique".

4. Une fois que vous avez modifié le fichier de configuration pour le premier domaine, répétez le processus pour le reste. Dans notre cas, nous exécuterons :

sudo nano /etc/apache2/sites-available/phxnap2.com.conf

5. Ensuite, ajoutez le bloc de configuration comme dans l'exemple ci-dessus, en veillant à modifier les valeurs pour phxnap2.com :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap2.com-access.log combined

</VirtualHost>

Étape 3 :Activer les fichiers de configuration de l'hôte virtuel

Pour activer le fichier d'hôte virtuel, créez un lien symbolique entre le fichier d'hôte virtuel et le répertoire sites-enabled. Apache2 lit ce fichier lors du démarrage.

1. Utilisez l'assistant a2ensite pour activer le fichier d'hôte virtuel avec la commande :

sudo a2ensite phxnap1.com

La sortie apparaîtra comme :


2. Répétez le processus pour le deuxième domaine en tapant :

sudo a2ensite phxnap2.com

3. Ensuite, vérifiez que la syntaxe du fichier de configuration est correcte à l'aide de la commande :

sudo apachectl configtest

Le message dans le terminal confirmera que la syntaxe est correcte :"Syntaxe OK"

4. Redémarrez Apache2 pour que les modifications soient appliquées :

sudo systemctl restart apache2

5. La seule chose qui reste à faire est d'aller dans un navigateur Web et d'accéder à vos sites Web. Basé sur index.html fichier que nous avons créé précédemment, le message approprié doit apparaître pour chaque domaine.

phxnap1.com
phxnap2.com

Étape 4 :Configurer le pare-feu (facultatif)

Modifiez les paramètres de votre pare-feu pour améliorer la sécurité en créant une règle pour activer SSH sur Ubuntu :

sudo ufw allow OpenSSH

Ajoutez les règles pour autoriser l'accès à Apache.

sudo ufw allow in “Apache Full”

Ensuite, activez le pare-feu.

sudo ufw enable

Si vous voyez un message indiquant "La commande peut perturber les connexions SSH existantes." Appuyez sur y . Si le pare-feu fonctionne correctement, vous devriez voir "Le pare-feu est actif et activé au démarrage du système."


Ubuntu
  1. Comment configurer des hôtes virtuels Apache sur CentOS

  2. Configurer les hôtes virtuels Apache sur Ubuntu 18.04 - Processus étape par étape ?

  3. Ubuntu - Comment définir une adresse IP statique dans Ubuntu ?

  4. Comment configurer Apache avec HTTP/2 sur Ubuntu 16.04

  5. Comment configurer l'authentification par mot de passe Apache sur Ubuntu 18.08 ?

Comment configurer les hôtes virtuels Apache dans Ubuntu 18.04 LTS

Comment configurer l'hôte virtuel Apache sur Ubuntu 20.04 LTS

Comment installer Apache Server et configurer des hôtes virtuels sur Ubuntu 22.04

Comment configurer les hôtes virtuels Apache sur Debian 11

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04