Les hôtes virtuels (vhosts) sont utilisés pour desservir plusieurs domaines à l'aide d'un seul serveur ou d'une adresse IP (Internet Protocol). Différentes pages sont affichées en fonction de ce qui a été défini dans le fichier hôte pour ce site particulier. Vous pouvez ajouter autant d'hôtes virtuels que nécessaire à votre serveur. Cet article fournit des instructions pour créer des vhosts sur CentOS® spécifiquement.
Remarque : Remplacer n'importe quelle instance de domain.com
dans cet article avec le nom de domaine de votre site.
Prérequis de configuration Vhost pour CentOS
Cet article suppose que vous avez configuré les services de noms de domaine (DNS) pour que votre domaine pointe vers votre site ou que vous utilisiez un fichier d'hôtes local sur votre ordinateur pour faire pointer le domaine vers le serveur à des fins de test.
Votre serveur doit avoir Apache® installé afin de configurer les vhosts. Installez Apache en exécutant la commande suivante :
sudo yum install httpd
Remarque : Vérifiez que le pare-feu de votre serveur est configuré pour autoriser le trafic HTTP sur le port 80.
Créer un répertoire vhost sur CentOS
-
Créez un nouveau répertoire en utilisant la commande suivante :
sudo mkdir -p /var/www/vhosts/domain.com/public_html
Ce répertoire est utilisé pour stocker le contenu Web de votre site. C'est ce qu'on appelle la racine du document emplacement dans Apache
vhost
fichier de configuration. Utilisation de-p
ajoute automatiquement les parents de votre nouveau répertoire. -
Définissez les autorisations nécessaires sur le nouveau répertoire à l'aide de la commande suivante :
sudo chown -R username:vhostuser /var/www/vhosts/domain.com/public_html
Remarque : Remplacez vhostuser
dans username:vhostuser
avec l'utilisateur qui devrait avoir accès au nouveau répertoire.
Accordez un accès en lecture à tout le monde pour les fichiers de votre répertoire vhosts en utilisant ce qui suit :
sudo chmod -R 755 /var/www/vhosts/
Configurer le fichier de l'hôte virtuel
-
Ouvrez le fichier httpd.conf fichier dans le
vi
éditeur de texte en utilisant la commande suivante :sudo vi /etc/httpd/conf/httpd.conf
-
Insérez la ligne suivante à la fin du fichier :
Include vhost.d/*.conf
Cette action oblige Apache à lire tous les fichiers se terminant par .conf dans /etc/httpd/vhost.d répertoire.
-
Enregistrez et quittez le fichier de configuration.
-
Créez le répertoire pour les fichiers de configuration vhost en utilisant la commande suivante :
sudo mkdir /etc/httpd/vhost.d/
-
Créez un modèle vhost à partir duquel vous pourrez créer de futurs hôtes virtuels à l'aide de la commande suivante :
touch /etc/httpd/vhost.d/default.template
-
Ouvrez le default.template fichier dans
vi
en utilisant la commande suivante :vi /etc/httpd/vhost.d/default.template
-
Insérez le code suivant dans /etc/httpd/vhost.d/default.template fichier :
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/vhosts/domain.com/public_html <Directory /var/www/vhosts/domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> CustomLog /var/log/httpd/domain.com-access.log combined ErrorLog /var/log/httpd/domain.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost> #<VirtualHost _default_:443> # ServerName example.com # DocumentRoot /var/www/vhosts/domain.com/public_html # <Directory /var/www/vhosts/domain.com/public_html> # Options Indexes FollowSymLinks MultiViews # AllowOverride All # </Directory> # CustomLog /var/log/httpd/example.com-ssl-access.log combined # ErrorLog /var/log/httpd/example.com-ssl-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # SSLEngine on # SSLCertificateFile /etc/ssl/certs/domain.crt # SSLCertificateKeyFile /etc/ssl/certs/domain.key #</VirtualHost>
-
Enregistrez les modifications apportées au fichier et quittez
vi
.
Créer le fichier vhost et redémarrer le service Apache
-
Créez le fichier vhost dans /etc/httpd/vhost.d répertoire en utilisant la commande suivante :
sudo cp /etc/httpd/vhost.d/default.template /etc/httpd/vhost.d/domain.com.conf
-
Ouvrez le domaine.com.conf fichier dans
vi
en utilisant la commande suivante :sudo vi /etc/httpd/vhost.d/domain.com.conf
-
Enregistrez les modifications apportées au fichier et quittez
vi
. -
Redémarrez Apache en exécutant la commande suivante :
sudo service httpd restart
Vous recevez le message suivant :
Stopping httpd: [OK] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 0000:0000:0000:0000:0000:0000:0000:0000 for ServerName [OK]
Il s'agit d'un avertissement par défaut que vous pouvez ignorer.
Votre hôte virtuel est maintenant configuré et prêt à être utilisé. Vous devez charger le contenu Web dans DocumentRoot répertoire que vous avez créé sur votre serveur pour que le contenu soit servi lorsque vous naviguez vers votre nom de domaine à l'aide d'un navigateur.