Android

Comment configurer des hôtes virtuels Apache sur Centos 7

Configurer un virtual host sous linux

Configurer un virtual host sous linux

Table des matières:

Anonim

Apache Virtual Hosts permet à plusieurs sites Web de s'exécuter sur un même serveur Web. Avec les hôtes virtuels, vous pouvez spécifier la racine du document de 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 façon de configurer les hôtes virtuels Apache sur un serveur CentOS 7.

Conditions préalables

Assurez-vous d'avoir rempli 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 d'une structure de répertoire

DocumentRoot est le répertoire où les fichiers du site Web pour 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, cet exemple utilise 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 dans le répertoire /var/www . Dans chacun de ces répertoires, nous créerons un répertoire public_html qui stockera les fichiers du site Web du domaine.

Créez le répertoire racine du domaine example.com à l'aide de la commande mkdir:

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

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

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

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

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

Création d'un 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 se .conf par .conf depuis le répertoire /etc/httpd/conf.d/ .

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 d'hôte virtuel de base suivant:

/etc/httpd/conf.d/example.com.conf

ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined

  • ServerName : domaine qui doit correspondre à cette configuration d'hôte virtuel. Cela devrait être votre nom de domaine. ServerAlias : tous les autres domaines qui doivent également correspondre à cet hôte virtuel, tels que le sous-domaine www . DocumentRoot : répertoire à partir duquel Apache servira les fichiers de domaine. Options : cette directive contrôle les fonctionnalités du serveur 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 quelles directives déclarées dans le fichier .htaccess peuvent 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'erreur, vous verrez la sortie suivante:

Syntax OK

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

sudo systemctl restart

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

Conclusion

Dans ce didacticiel, nous vous avons montré comment créer une configuration d'hôte virtuel Apache. Vous pouvez répéter les étapes décrites ci-dessus et créer des hôtes virtuels supplémentaires pour tous vos domaines.

apache centos

Ce message fait partie de la pile d'installation de LAMP sur la série CentOS 7.

Autres articles de cette série:

• Comment installer Apache sur CentOS 7 • Installer MySQL sur CentOS 7 • Comment configurer les hôtes virtuels Apache sur CentOS 7 • Sécuriser Apache avec Let's Encrypt sur CentOS 7