GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Qu'est-ce que les hôtes virtuels Apache ?

Hôte virtuel terme fait référence à la méthode d'exécution de plusieurs sites Web tels que host1.domain.com, host2.domain.com ou www.domain1.com, www.domain2.com etc., sur un seul système. Il existe deux types d'hébergement virtuel dans Apache, à savoir basé sur IP hébergement virtuel et basé sur le nom hébergement virtuel. Avec l'hébergement virtuel basé sur IP, vous pouvez héberger plusieurs sites Web ou domaines sur le même système, mais chaque site Web/domaine a une adresse IP différente. Avec l'hébergement virtuel basé sur le nom, vous pouvez héberger plusieurs sites Web/domaines sur la même adresse IP. L'hébergement virtuel peut être utile si vous souhaitez héberger plusieurs sites Web et domaines à partir d'un seul serveur physique ou VPS. J'espère que vous avez compris l'idée de base des hôtes virtuels Apache. Aujourd'hui, nous allons voir comment configurer les hôtes virtuels Apache dans Ubuntu 18.04 LTS.

Télécharger - Ebook gratuit :"Livre de recettes du serveur HTTP Apache"

Configurer les hôtes virtuels Apache dans Ubuntu 18.04 LTS

L'adresse IP de mon boîtier de test est 192.168.225.22 et le nom d'hôte est ubuntuserver .

Tout d'abord, nous verrons comment configurer des hôtes virtuels basés sur le nom dans le serveur Web Apache.

Configurer des hôtes virtuels basés sur le nom

1. Installer le serveur Web Apache 

Assurez-vous d'avoir installé le serveur Web Apache. Pour l'installer sur Ubuntu, exécutez :

$ sudo apt-get install apache2

Une fois apache installé, testez s'il fonctionne ou non en parcourant la page de test apache dans le navigateur.

Ouvrez votre navigateur Web et pointez-le vers http://IP_Address ou http://localhost . Vous devriez voir une page comme ci-dessous.

Bon! Le serveur Web Apache est opérationnel !

2. Créer un répertoire Web pour chaque hôte

Je vais créer deux hôtes virtuels, à savoir ostechnix1.lan et ostechnix2.lan .

Créons un répertoire pour le premier hôte virtuel ostechnix1.lan. Ce répertoire est nécessaire pour stocker les données de nos hôtes virtuels.

Pour ce faire, saisissez :

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

De même, créez un répertoire pour le deuxième hôte virtuel ostechnix2.lan comme indiqué ci-dessous.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Les deux répertoires ci-dessus appartiennent à l'utilisateur root. Nous devons changer la propriété de l'utilisateur normal.

Pour ce faire, exécutez :

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Ici, $USER fait référence à l'utilisateur actuellement connecté.

Ensuite, définissez les autorisations de lecture sur le répertoire racine d'Apache, c'est-à-dire /var/www/html/ à l'aide de la commande :

$ sudo chmod -R 755 /var/www/html/

Nous le faisons parce que nous avons déjà créé un répertoire séparé pour chaque hôte virtuel pour stocker leurs données. Nous avons donc défini le répertoire racine apache en lecture seule pour tous les utilisateurs, à l'exception de l'utilisateur racine.

Nous avons créé les répertoires requis pour stocker les données de chaque hôte virtuel, configurer les autorisations appropriées. Il est maintenant temps de créer des exemples de pages qui seront servies à partir de chaque hôte virtuel.

3. Créez des pages Web de démonstration pour chaque hôte

Créons un exemple de page pour le site ostechnix1.lan. Pour ce faire, exécutez :

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Ajoutez-y les lignes suivantes :

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Enregistrez et fermez le fichier.

De même, créez une page d'exemple pour le site ostechnix2.lan :

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Ajoutez-y les lignes suivantes :

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Enregistrez et fermez le fichier.

4. Créer un fichier de configuration pour chaque hôte

Ensuite, nous devons créer des fichiers de configuration pour chaque hôte virtuel. Faisons d'abord cela pour le site ostechnix1.lan.

Copiez le fichier d'hôte virtuel par défaut appelé 000-default.conf contenu dans les nouveaux fichiers d'hôte virtuel comme ci-dessous.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix2.lan.conf

N'oubliez pas que vous devez enregistrer tous les fichiers de configuration avec .conf extension à la fin, sinon cela ne fonctionnera pas.

Maintenant, modifiez les fichiers de configuration pour qu'ils correspondent à nos hôtes virtuels.

Modifier ostechnix.lan1.conf fichier :

$ sudo vi /etc/apache2/sites-available/ostechnix1.lan.conf

Éditez/modifiez les correspondances des valeurs ServerAdmin, ServerName, ServerAlias ​​et DocumentRoot avec l'hôte virtuel.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

   ServerAdmin [email protected]
   ServerName ostechnix1.lan
   ServerAlias www.ostechnix1.lan
   DocumentRoot /var/www/html/ostechnix1.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Enregistrez et fermez le fichier.

Ensuite, modifiez ostechnix2.lan.conf fichier :

$ sudo vi /etc/apache2/sites-available/ostechnix2.lan.conf

Apportez les modifications nécessaires.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

    ServerAdmin [email protected]
    ServerName ostechnix2.lan
    ServerAlias www.ostechnix2.lan
    DocumentRoot /var/www/html/ostechnix2.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Enregistrez/fermez le fichier.

5. Activer les fichiers de configuration de l'hôte virtuel

Après avoir apporté les modifications nécessaires, désactivez le fichier de configuration de l'hôte virtuel par défaut, c'est-à-dire 000.default.conf , et activez tous les fichiers de configuration d'hôte virtuel nouvellement créés, comme indiqué ci-dessous.

$ sudo a2dissite 000-default.conf
$ sudo a2ensite ostechnix1.lan.conf
$ sudo a2ensite ostechnix2.lan.conf

Redémarrez le serveur Web apache pour que les modifications prennent effet.

$ sudo systemctl restart apache2

C'est ça. Nous avons configuré avec succès des hôtes virtuels dans Apache. Allons-y et vérifions s'ils fonctionnent ou non.

6. Tester les hôtes virtuels

Ouvrez le fichier /etc/hosts dans n'importe quel éditeur :

$ sudo vi /etc/hosts

Ajoutez tous vos sites Web/domaines virtuels un par un comme ci-dessous.

[...]
192.168.225.22   ostechnix1.lan
192.168.225.22   ostechnix2.lan
[...]

Veuillez noter que si vous souhaitez accéder aux hôtes virtuels à partir de n'importe quel système distant, vous devez ajouter les lignes ci-dessus dans le fichier /etc/hosts de chaque système distant.

Enregistrez et fermez le fichier.

Ouvrez votre navigateur Web et pointez-le vers http://ostechnix1.lan ou http://ostechnix2.lan .

page de test ostechnix1.lan :

page de test ostechnix2.lan :

Toutes nos félicitations! Vous pouvez désormais accéder à tous vos sites Web. À partir de maintenant, vous pouvez télécharger les données et les diffuser à partir de différents sites Web.

Comme vous l'avez remarqué, nous avons utilisé la même adresse IP (c'est-à-dire 192.168.225.22) pour héberger deux sites Web différents (http://ostechnix1.lan et http://ostechnix2.lan). C'est ce que nous appelons l'hébergement virtuel basé sur le nom. J'espère que cela t'aides. Je vais vous montrer comment configurer l'hébergement virtuel basé sur IP dans le prochain guide. D'ici là, restez à l'écoute !


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

  2. Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04

  3. Comment installer Apache Cordova sur Ubuntu 18.04 LTS

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

  5. Comment configurer l'hôte virtuel Apache sur Ubuntu

Comment configurer l'adresse IP dans Ubuntu 18.04 LTS

Comment configurer les hôtes virtuels Apache sur Rocky Linux

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 Ubuntu 18.04

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04