<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
<!-- English Revision: 1330878:1673658 (outdated) -->
<!-- French translation by alain B, review by Vincent Deffontaines -->
<!-- Updated by Lucien Gentis -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="ip-based.xml.meta">
<parentdocument href="./">Serveurs virtuels</parentdocument>
<title>Support Apache des serveurs virtuels par IP</title>
<seealso>
<a href="name-based.html">Support Apache des serveurs virtuels par nom</a>
</seealso>
<section id="requirements"><title>Syst�me requis</title>
<p>Comme l'indique le terme <cite>par IP</cite>, le serveur
<strong>doit disposer de diff�rentes paires adresses IP/port pour chaque
serveur virtuel par IP</strong>. 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.</p>
<p>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.</p>
</section>
<section id="howto"><title>Comment configurer Apache</title>
<p>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 <program>httpd</program> pour chaque nom de
domaine, soit de faire tourner un unique processus r�sident qui
g�re tous les serveurs virtuels.</p>
<p>Utilisez des processus r�sidents multiples lorsque&nbsp;:</p>
<ul>
<li>il y a des probl�mes de r�partition de s�curit�, tels
qu'une entreprise1 ne souhaite que personne d'une entreprise2
ne puisse lire ses donn�es except� via le Web. Dans ce cas,
vous aurez besoin de deux processus r�sidents, chacun fonctionnant
avec des param�tres <directive module="mod_unixd">User</directive>,
<directive module="mod_unixd">Group</directive>,
<directive module="mpm_common">Listen</directive>, et
<directive module="core">ServerRoot</directive> diff�rents.</li>
<li>vous disposez suffisamment de m�moire et de
<a href="/misc/descriptors.html">descripteurs de fichiers</a>
pour l'�coute de chaque alias IP de la machine. Il est seulement
possible d'appliquer la directive
<directive module="mpm_common">Listen</directive>, 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 <program>httpd</program> pour �couter N-1 adresses,
et un autre pour l'adresse restante).</li>
</ul>
<p>Utilisez un unique processus r�sident lorsque&nbsp;:</p>
<ul>
<li>le partage de la configuration httpd entre les serveurs
virtuels est acceptable.</li>
<li>la machine assume d�j� une grande quantit� de requ�tes, et
que l'ajout de processus r�sidents suppl�mentaires en affecterait
les performances.</li>
</ul>
</section>
<section id="multiple"><title>Configuration de processus multiples</title>
<p>Cr�ez une installation ind�pendante du programme
<program>httpd</program> pour chaque serveur virtuel. Pour
chacune d'elle, utilisez la directive
<directive module="mpm_common">Listen</directive> dans le fichier
de configuration pour d�finir l'adresse IP (ou serveur virtuel)
que le processus r�sident doit g�rer. Par exemple&nbsp;:</p>
<highlight language="config">
Listen 192.0.2.100:80
</highlight>
<p>Il est recommand� d'utiliser une adresse IP plut�t qu'un nom
de domaine (consultez <a href="/dns-caveats.html">Probl�mes DNS
avec Apache</a>).</p>
</section>
<section id="single"><title>Configuration d'un unique processus
r�sident pour des serveurs virtuels</title>
<p>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
<directive module="core">VirtualHost</directive> va servir �
d�finir les autres directives
<directive module="core">ServerAdmin</directive>,
<directive module="core">ServerName</directive>,
<directive module="core">DocumentRoot</directive>,
<directive module="core">ErrorLog</directive> et
<directive module="mod_log_config">TransferLog</directive> ou
<directive module="mod_log_config">CustomLog</directive> avec des
valeurs diff�rentes pour chaque serveur virtuel. Par exemple&nbsp;:</p>
<highlight language="config">
&lt;VirtualHost 172.20.30.40:80&gt;
ServerAdmin webmaster@www1.example.com
DocumentRoot /www/vhosts/www1
ServerName www1.example.com
ErrorLog /www/logs/www1/error_log
CustomLog /www/logs/www1/access_log combined
&lt;/VirtualHost&gt;
&lt;VirtualHost 172.20.30.50:80&gt;
ServerAdmin webmaster@www2.example.org
DocumentRoot /www/vhosts/www2
ServerName www2.example.org
ErrorLog /www/logs/www2/error_log
CustomLog /www/logs/www2/access_log combined
&lt;/VirtualHost&gt;
</highlight>
<p>Il est recommand� d'utiliser une adresse IP plut�t qu'un nom
de domaine comme argument � la directive &lt;VirtualHost&gt;
(consultez <a href="/dns-caveats.html">Probl�mes DNS
avec Apache</a>).</p>
<p>Presque <strong>toutes</strong> 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
<a href="/mod/directive-dict.html#Context">Contexte</a> en utilisant
l'<a href="/mod/directives.html">Index des directives</a>.</p>
<!--
<p>Les directives <directive module="mpm_common">User</directive> et
<directive module="mpm_common">Group</directive> NE doivent PLUS �tre
utilis�es � l'int�rieur d'une directive VirtualHost lors d'une
<a href="/suexec.html">ex�cution sous suEXEC</a>. Voir la directive
<a href="/mod/mod_suexec.html/#suexecusergroup">SuexecUserGroup</a> d�finie
en remplacement depuis la version 2.0.</p>
-->
<p><directive module="mod_suexec">SuexecUserGroup</directive> peut �tre
utilis�es � l'int�rieur d'une directive VirtualHost si l'ex�cution se fait
sous suEXEC. (Voir <a href="/suexec.html">suEXEC</a>).</p>
<p><em>S�CURIT�&nbsp;:</em> 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
<a href="/misc/security_tips.html">Conseils sur la s�curit�</a>
pour plus de d�tails.</p>
</section>
</manualpage>