Cet article guide la configuration des hôtes virtuels Apache pour plusieurs sites Web. Il détaille Création & lt; VirtualHost & gt; Blocks Spécification de servername, Serveralias et DocumentRoot, ainsi que des considérations de sécurité comme les autorisations de répertoire,
La création d'hôtes virtuels dans Apache vous permet d'héberger plusieurs sites Web à partir d'un seul serveur. Ceci est réalisé en configurant Apache pour répondre différemment en fonction du nom de domaine ou de l'adresse IP de la demande entrante. Voici un guide étape par étape:
/etc/apache2/apache2.conf
(debian / ubuntu), /etc/httpd/conf/httpd.conf
(Red Hat / Centos), ou /etc/httpd/conf/extra/httpd-vhosts.conf
(souvent préférés pour les configurations hôtes vertuales). Utilisez un éditeur de texte avec des privilèges racine (comme sudo nano
sur Linux).<virtualhost></virtualhost>
pour chaque site Web. Chaque bloc définit les paramètres d'un hôte virtuel spécifique. Un exemple de base ressemble à ceci:<code class="apache"><virtualhost> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com <directory> AllowOverride All Require all granted </directory> </virtualhost></code>
ServerName
: le nom de domaine principal de cet hôte virtuel.ServerAlias
: noms de domaine alternatifs qui devraient pointer vers cet hôte virtuel.DocumentRoot
: Le répertoire contenant les fichiers du site Web. Assurez-vous que ce répertoire existe.
<directory></directory>
: Spécifie les autorisations pour le répertoire DocumentRoot. AllowOverride All
Permet aux fichiers .htaccess
de remplacer certains paramètres, tandis que Require all granted
permet l'accès pour tous. Utilisez la prudence avec AllowOverride All
dans les environnements de production.
<virtualhost></virtualhost>
distinct pour chaque site Web que vous souhaitez héberger, modifiant le ServerName
, ServerAlias
et DocumentRoot
en conséquence.a2ensite example.com
(remplacement de example.com
par le nom de votre site) suivi de sudo systemctl reload apache2
. Sur Red Hat / Centos, vous devrez peut-être redémarrer Apache à l'aide de sudo systemctl restart httpd
.La sécurité est primordiale lors de l'hébergement de plusieurs sites Web sur un seul serveur. Voici des considérations clés:
chmod 755
pour les répertoires et chmod 644
pour les fichiers) pour éviter un accès ou une modification non autorisé. Évitez les paramètres trop permissifs comme 777
..htaccess
peut introduire des vulnérabilités de sécurité s'ils ne sont pas soigneusement gérés. Évitez de les utiliser si possible, et si vous devez les utiliser, examinez et restreignez soigneusement les directives autorisées via AllowOverride
. Vous pouvez facilement configurer différents ports et domaines pour chaque hôte virtuel dans la directive <virtualhost></virtualhost>
.
Pour utiliser un port différent, spécifiez-le après le *
dans la déclaration VirtualHost
. Par exemple, pour utiliser le port 8080 pour un hôte virtuel:
<code class="apache"><virtualhost> ServerName example.com:8080 # ... other directives ... </virtualhost></code>
Notez que les clients devront accéder à ce site Web à l'aide example.com:8080
. L'utilisation de ports non standard est généralement moins courante maintenant que les HTTP sont répandus. Cependant, il peut être utile pour les tests ou les applications spécifiques.
Pour utiliser différents domaines, spécifiez-les simplement dans les directives ServerName
et ServerAlias
comme indiqué dans la première section. Apache correspondra à l'en-tête hôte de la demande entrante pour déterminer quel hôte virtuel utiliser. Il s'agit de la méthode standard et préférée.
Oui, vous pouvez utiliser les hôtes virtuels Apache avec différentes versions PHP pour chaque site Web. Cela implique généralement l'utilisation de plusieurs installations PHP et la configuration d'Apache pour utiliser le gestionnaire PHP approprié pour chaque hôte virtuel.
La méthode exacte dépend de votre système et de la façon dont PHP est installé. Les approches courantes comprennent:
mod_php
ou php-fpm
) pour chaque hôte virtuel, spécifiant le chemin d'accès à l'exécutable PHP correct.suexec
(pour une sécurité accrue): l'utilisation de suexec
améliore la sécurité en exécutant les scripts PHP de chaque hôte virtuel sous un autre compte d'utilisateur. Cela empêche un site Web compromis d'affecter les autres.La configuration de ces configurations nécessite une attention particulière aux détails et une familiarité avec l'environnement de votre serveur et la configuration PHP. Reportez-vous à la documentation de votre système et à la documentation PHP-FPM pour des instructions détaillées. Il est généralement plus complexe que la configuration de base de l'hôte virtuel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!