Serveur HTTP Apache Version 2.4


 Système requis
 Système requis Comment configurer Apache
 Comment configurer Apache Configuration de processus multiples
 Configuration de processus multiples Configuration d'un unique processus
résident pour des serveurs virtuels
 Configuration d'un unique processus
résident pour des serveurs virtuelsComme l'indique le terme par IP, le serveur doit disposer de différentes paires adresses IP/port pour chaque serveur virtuel par IP. La machine peut posséder plusieurs connexions physiques au réseau, ou utiliser des interfaces virtuelles qui sont supportées par la plupart des systèmes d'exploitation modernes (Consultez la documentation des systèmes d'exploitation pour plus de détails, notamment les "alias IP" et la commande "ifconfig" pour les activer), et/ou utiliser plusieurs numéros de port.
Selon la terminologie du serveur HTTP Apache, l'utilisation d'une seule adresse IP avec plusieurs ports TCP s'apparente aussi à de l'hébergement virtuel basé sur IP.
Il y a deux manières de configurer Apache pour le support de
    multiples serveurs virtuels. Il suffit soit de faire tourner un
    processus résident httpd pour chaque nom de
    domaine, soit de faire tourner un unique processus résident qui
    gère tous les serveurs virtuels.
Utilisez des processus résidents multiples lorsque :
User,
      Group,
      Listen, et
      ServerRoot différents.Listen, soit sur toutes
      les adresses avec le joker "*", soit uniquement sur des adresses
      spécifiques. Donc, si vous avez besoin d'écouter une adresse
      en particulier, vous devrez le faire pour l'ensemble des
      autres adresses (Bien qu'il soit plus simple de lancer un
      processus httpd pour écouter N-1 adresses,
      et un autre pour l'adresse restante).Utilisez un unique processus résident lorsque :
Créez une installation indépendante du programme
    httpd pour chaque serveur virtuel. Pour
    chacune d'elle, utilisez la directive
    Listen dans le fichier
    de configuration pour définir l'adresse IP (ou serveur virtuel)
    que le processus résident doit gérer. Par exemple :
Listen 192.0.2.100:80
Il est recommandé d'utiliser une adresse IP plutôt qu'un nom de domaine (consultez Problèmes DNS avec Apache).
Dans ce cas, un unique processus httpd va gérer les requêtes
    pour le serveur principal et tous les serveurs virtuels. Dans le
    fichier de configuration, la directive
    VirtualHost va servir à
    définir les autres directives
    ServerAdmin,
    ServerName,
    DocumentRoot,
    ErrorLog et
    TransferLog ou
    CustomLog avec des
    valeurs différentes pour chaque serveur virtuel. Par exemple :
<VirtualHost 172.20.30.40:80>
    ServerAdmin [email protected]
    DocumentRoot "/www/vhosts/www1"
    ServerName www1.example.com
    ErrorLog "/www/logs/www1/error_log"
    CustomLog "/www/logs/www1/access_log" combined
</VirtualHost>
<VirtualHost 172.20.30.50:80>
    ServerAdmin [email protected]
    DocumentRoot "/www/vhosts/www2"
    ServerName www2.example.org
    ErrorLog "/www/logs/www2/error_log"
    CustomLog "/www/logs/www2/access_log" combined
</VirtualHost>
    Il est recommandé d'utiliser une adresse IP plutôt qu'un nom de domaine comme argument à la directive <VirtualHost> (consultez Problèmes DNS avec Apache).
Presque toutes les directives de configuration peuvent être employées dans une directive VirtualHost, à l'exception des directives qui contrôlent la création du processus et de quelques autres. Pour connaître celles utilisables dans une directive VirtualHost, vérifiez leur Contexte en utilisant l'directive index.
SuexecUserGroup peut être
    utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait
    sous suEXEC. (Voir suEXEC).
SÉCURITÉ : lorsque vous spécifiez où écrire les fichiers journaux, soyez attentif aux risques si quelqu'un d'autre que celui qui a démarré Apache dispose des droits d'écriture sur l'emplacement de ces fichiers. Consultez les Conseils sur la sécurité pour plus de détails.