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

Comment configurer les hôtes virtuels Apache sur CentOS 7

Apache Virtual Hosts permet à plusieurs sites Web de s'exécuter sur un serveur Web. Avec les hôtes virtuels, vous pouvez spécifier la racine du document du site (le répertoire qui contient les fichiers du site Web), créer une politique de sécurité distincte pour chaque site, utiliser différents certificats SSL pour chaque site et bien plus encore.

Dans ce didacticiel, nous fournirons des instructions étape par étape sur la configuration des hôtes virtuels Apache sur un serveur CentOS 7.

Prérequis #

Assurez-vous que vous remplissez les conditions préalables suivantes avant de poursuivre ce didacticiel :

  • Vous avez un nom de domaine pointant vers l'IP de votre serveur public. Nous utiliserons example.com .
  • Vous avez installé Apache en suivant Comment installer Apache sur CentOS 7.
  • Vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.

Création de la structure du répertoire #

DocumentRoot est le répertoire dans lequel les fichiers du site Web d'un nom de domaine sont stockés et servis en réponse aux demandes. Vous pouvez définir la racine du document à n'importe quel emplacement de votre choix. Dans cet exemple, nous utiliserons la structure de répertoires suivante :

/var/www/
├── example.com
│   └── public_html
├── example-1.com
│   └── public_html
├── example-2.com
│   └── public_html

Nous créons un répertoire séparé pour chaque domaine que nous voulons héberger sur notre serveur à l'intérieur du /var/www annuaire. Dans chacun de ces répertoires, nous allons créer un public_html répertoire qui stockera les fichiers du site Web du domaine.

Créez le répertoire racine du domaine example.com en utilisant la commande mkdir :

sudo mkdir -p /var/www/example.com/public_html

À des fins de test, nous allons créer un index.html fichier dans le répertoire racine des documents du domaine. Ouvrez votre éditeur et créez un fichier HTML avec le contenu suivant :

/var/www/example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Toutes les commandes sont exécutées en tant qu'utilisateur sudo, de sorte que les fichiers et répertoires nouvellement créés appartiennent à l'utilisateur root. Pour vous assurer qu'il n'y a pas de problèmes d'autorisation, changez la propriété du répertoire racine du document de domaine en apache utilisateur :

sudo chown -R apache: /var/www/example.com

Création du fichier d'hôte virtuel #

Il existe plusieurs façons de configurer un hôte virtuel. Vous pouvez soit ajouter toutes les directives d'hôte virtuel dans un seul fichier, soit créer un nouveau fichier de configuration pour chaque directive d'hôte virtuel. Personnellement, je préfère la seconde approche car elle est plus maintenable.

Par défaut, Apache est configuré pour charger tous les fichiers de configuration qui se terminent par .conf depuis le /etc/httpd/conf.d/ répertoire.

Pour créer un hôte virtuel pour un site Web spécifique, ouvrez l'éditeur de votre choix et créez le fichier de configuration de base de l'hôte virtuel suivant :

/etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
  • ServerName :Le domaine qui doit correspondre à cette configuration d'hôte virtuel. Il doit s'agir de votre nom de domaine.
  • ServerAlias  :Tous les autres domaines qui doivent également correspondre à cet hôte virtuel, tels que www sous-domaine.
  • DocumentRoot :Le répertoire à partir duquel Apache servira les fichiers du domaine.
  • Options  :Cette directive contrôle quelles fonctionnalités du serveur sont disponibles dans un répertoire spécifique.
    • -Indexes  :Empêche les listes de répertoires.
    • FollowSymLinks  :Cette option indique à votre serveur Web de suivre les liens symboliques.
  • AllowOverride :Spécifie les directives déclarées dans le .htaccess fichier peut remplacer les directives de configuration.
  • ErrorLog , CustomLog  :spécifie l'emplacement des fichiers journaux.

Modifiez le fichier selon vos besoins et enregistrez-le.

Il est important que le nom du fichier de configuration se termine par .conf . Vous pouvez nommer le fichier de configuration comme vous le souhaitez, mais la meilleure pratique consiste à utiliser le nom de domaine comme nom du fichier de configuration de l'hôte virtuel.

Testez la syntaxe du fichier de configuration avec :

sudo apachectl configtest

S'il n'y a pas d'erreurs, vous verrez le résultat suivant :

Syntax OK

Pour activer un hôte virtuel nouvellement créé, redémarrez le service Apache avec :

sudo systemctl restart httpd

Vérifiez que tout fonctionne comme prévu en ouvrant http://example.com :


Cent OS
  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 configurer des hôtes virtuels Apache sur CentOS

  4. Configurer les hôtes virtuels Apache sur CentOS 7

  5. Configurer des hôtes virtuels sur CentOS

Comment configurer WebDAV à l'aide d'Apache sur CentOS 7

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 Debian 11

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04