GNU/Linux >> Tutoriels Linux >  >> Cent OS

Configurer les hôtes virtuels Apache sur CentOS 7

Avec le serveur Web Apache, vous pouvez diffuser du contenu Web sur Internet. Fondamentalement, lorsque vous utilisez le serveur Web Apache, vous pouvez utiliser des hôtes virtuels pour héberger plusieurs domaines sur un seul serveur. Apache divisera ses fonctionnalités et ses composants en unités individuelles afin que vous puissiez les personnaliser indépendamment. L'unité de base qui décrit un site ou un domaine individuel est appelée un hôte virtuel.

Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes Apache connexes.

Dans ce cadre, nous verrons comment mettre en place des Apache Virtual Hosts sur un serveur CentOS 7.


Comment créer des hôtes virtuels Apache sur CentOS ?

Avant de poursuivre cette procédure, vous devez vous assurer que les conditions préalables suivantes sont remplies :

  • Un serveur CentOS 7 avec un utilisateur non root avec des privilèges sudo.
  • Apache doit être installé et configuré, comme indiqué dans Comment installer Apache sur le serveur CentOS 7.
  • Un nom de domaine doit pointer vers l'adresse IP de votre serveur.


1. Créer la structure du répertoire

Pour commencer, nous allons créer un répertoire dans lequel les fichiers du site Web d'un domaine stockeront et répondront aux visiteurs. Généralement, il s'appelait DocumentRoot. Vous pouvez définir la racine du document à n'importe quel emplacement de votre choix, mais il est préférable de définir la structure des répertoires. Généralement dans tous /var/www:

/var/www/
 ├── example1.com
 │   └── public_html
 ├── linuxapt.com
 │   └── public_html

Ici, nous devons créer un répertoire séparé dans le répertoire /var/www pour chaque domaine que nous voulons héberger sur notre serveur :

$ sudo mkdir -p /var/www/example1.com/public_html

Pour tester cela, nous allons créer un fichier index.html dans le répertoire racine des documents du domaine. Cette page sera affichée par défaut lorsque les visiteurs visiteront votre site.

Pour créer un nouveau fichier index.html à l'aide de votre éditeur de texte préféré, exécutez la commande :

$ sudo vi /var/www/example1.com/public_html/index.html

Ensuite, ajoutez-y les lignes ci-dessous :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Welcome!!</title>
  </head>
  <body>
    <h1>Success! example1.com set up completed!</h1>
  </body>
</html>

Étant donné que toutes les commandes sont exécutées en tant qu'utilisateur sudo, les fichiers et répertoires nouvellement créés appartiennent à l'utilisateur root. Nous allons modifier la propriété des répertoires racine des documents pour éviter les problèmes d'autorisation pour notre utilisateur habituel. Ainsi, l'utilisateur régulier peut modifier les fichiers de nos répertoires Web sans aucun problème :

$ sudo chown -R apache: /var/www/example1.com


2. Créer des fichiers d'hôte virtuel

Il existe plusieurs façons de configurer un hôte virtuel. Vous pouvez créer un fichier séparé pour chaque directive d'hôte virtuel ou vous pouvez ajouter toutes les directives d'hôte virtuel dans un seul fichier. Il est recommandé de créer un fichier séparé pour chaque domaine car c'est la maintenabilité.

Sur CentOS, Apache chargera tous les fichiers .conf du répertoire /etc/httpd/conf.d/ en raison de sa configuration par défaut. Nous allons donc maintenant créer un hôte virtuel séparé.

Maintenant, créez un nouveau fichier à l'aide de l'éditeur de texte de votre choix en exécutant :

$ sudo vi /etc/httpd/conf.d/example1.com.conf
<VirtualHost *:80>
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    <Directory /var/www/example1.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/example1.com-error.log
    CustomLog /var/log/httpd/example1.com-access.log combined
</VirtualHost>

Notez ce qui suit :

  • ServerName :il doit s'agir de votre nom de domaine et correspondre à la configuration de l'hôte virtuel.
  • ServerAlias :tous les autres domaines ou sous-domaines qui doivent également correspondre à cet hôte virtuel, généralement le sous-domaine www.
  • DocumentRoot :chemin du répertoire de l'hôte virtuel à partir duquel Apache servira les fichiers du domaine.
  • Options :cette directive contrôle les fonctionnalités du serveur disponibles dans un répertoire spécifique.
  • -Index :cela empêchera les listes de répertoires.
  • FollowSymLinks :Apache suivra les liens symboliques si cette option est activée.
  • AllowOverride :spécifie quelles directives déclarées dans le fichier .htaccess peuvent remplacer les directives de configuration.
  • ErrorLog, CustomLog :spécifie l'emplacement des fichiers journaux.


Ici, vous pouvez donner n'importe quel nom à votre fichier de configuration, mais il est recommandé de donner le même nom de fichier que le nom de domaine.

Vérifiez maintenant la syntaxe par type :

$ sudo apachectl configtest

Vous verrez une sortie comme celle-ci :

Output
Syntax OK

Vous devez redémarrer le service apache2 pour activer les hôtes virtuels nouvellement créés :

$ sudo systemctl restart httpd

Enfin, vous pouvez vérifier en accédant à votre domaine (http://example1.com) sur un navigateur Web et il verra quelque chose comme ceci :

Success! example1.com set up completed!



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

  2. Installer le serveur Web Apache CentOS 6 / RHEL 6

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

  4. Installer et configurer Apache Cassandra 4.0 dans Centos 8

  5. Comment configurer OpenSSH sur CentOS 7

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

Installer Apache OpenOffice sur CentOS 8

Comment configurer les hôtes virtuels Apache sur Rocky Linux

Comment configurer l'hôte virtuel Apache sur CentOS 8

Comment installer Apache avec l'hôte virtuel sur CentOS 8

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04