Page suivantePage pr�c�denteTable des mati�res

8. Web virtuel

8.1 Lancement avec virtuald

Non recommand�

Apache supporte en standard la gestion des domaines virtuels. C'est d'ailleurs le seul programme pour lequel je recommande d'utiliser le syst�me de gestion des domaines virtuels fourni avec. Lorsque vous lancez un programme par l'interm�diaire d'inetd, il y a un co�t suppl�mentaire, puisque le programme doit d�marrer � chaque fois qu'il y a une demande de connexion, et vous obtenez des temps de r�ponse beaucoup plus longs, inacceptables pour le web. Apache int�gre �galement un m�canisme pour stopper les connexions lorsqu'elles sont trop nombreuses.

Comme il est simplement indiqu� ci-dessus, rendre virtuel Apache avec virtuald est une tres mauvaise id�e. Le but de virtuald est de combler la lacune des serveurs qui n'ont pas leur propre systeme interne pour faire ce travail. Virtuald n'est pas fait pour remplacer du bon code qui remplit d�j� la t�che.

Ce qui suit ne restera pas ici, c'est pour expliquer � ceux qui sont assez idiots pour le faire.

Inetd

�ditez /etc/inetd.conf

vi /etc/inetd.conf # Ajouter cette ligne
www stream tcp nowait www /usr/local/bin/virtuald \
 virtuald /virtual/conf.www httpd -f /var/www/conf/httpd.conf

Httpd.conf

�ditez /var/www/conf/httpd.conf

vi /var/www/conf/httpd.conf # O� l'emplacement des fichiers de configuration d'Apache
Il doit y avoir :
ServerType standalone
Remplacez-le par :
ServerType inetd

Configuration

Ensuite, configurez chaque cas du serveur Apache comme si vous n'aviez qu'un seul domaine.

Httpd.init

Un fichier httpd.init n'est pas n�c�ssaire si le serveur est lanc� par inetd.

8.2 Lancer Apache avec VirtualHost

Apache a trois fichiers de configuration access.conf , httpd.conf et srm.conf . De nouvelles versions d'Apache ont rendues les trois fichiers de configuration inutiles. Ainsi, je trouve que s�parer en trois sections la configuration la rend plus simple � g�rer, donc je garderai ce style dans le HOWTO.

Access.conf

Ce fichier de configuration est utilis� pour contr�ler l'acc�s aux r�pertoires dans la structure du r�pertoire web. Voici un exemple de fichier de configuration qui montre comment avoir plusieurs options pour chaque domaine.

# /var/www/conf/access.conf: Configuration des acc�s globaux
# Les options sont herit�es du r�pertoire pr�cedent
# Mettre les options par d�faut pour le r�pertoire principal
<Directory />
AllowOverride None
Options Indexes
</Directory>
# Cr�er un r�pertoire proteg� par mot de passe pour un domaine
<Directory /virtual/domain1.com/var/www/html/priv>
AuthUserFile /var/www/passwd/domain1.com-priv
AuthGroupFile /var/www/passwd/domain1.com-priv-g
AuthName PRIVSECTION
AuthType Basic
<Limit GET PUT POST>
require valid-user
</Limit>
</Directory>
# Cr�er un autre domaine Server Side Include (SSI)
<Directory /virtual/domain2.com/var/www/html>
Options IncludesNOEXEC
</Directory>

Httpd.conf

Ce fichier de configuration est utilis� pour contr�ler les options principales du serveur Apache. Voici un exemple de fichier de configuration qui montre comment avoir diff�rentes options pour chaque domaine.

# /var/www/conf/httpd.conf: Fichier de configuration principal du serveur
# D�but: Section principale
ServerType standalone
# Num�ro du port
Port 80
# Log des clients avec le nom et l'IP
HostnameLookups on
# Utilisateur qui lance le serveur
User www
Group www
# Emplacement des fichiers de config, erreurs et log
ServerRoot /var/www
# Processus ID du serveur dans ce fichier
PidFile /var/run/httpd.pid
# Informations du processus interne du serveur
ScoreBoardFile /var/www/logs/apache_status
# Les options du Timeout et KeepAlive
Timeout 400
KeepAlive 5
KeepAliveTimeout 15
# Nombre de Serveur � lancer
MinSpareServers 5
MaxSpareServers 10
StarsServers 5
MaxClients 150
MaxRequestsPerChild 30
# Fin: Section de configuration principale
# D�but: Section de l'h�bergement virtuel
# Indique au serveur d'accepter les connexions pour IP:Port
# Il y a une ligne pour chaque IP n�cessaire donc, vous pouvez ignorer certains
# domaines
Listen 10.10.10.129:80
Listen 10.10.10.130:80
# La commande VirtualHost permet de sp�cifier un autre domaine virtuel sur le
# serveur. La plupart des options d'Apache peuvent �tre sp�cifi�es dans cette
# section.
<VirtualHost www.domain1.com>
# E-mail � laquelle sont envoy�es les erreurs
ServerAdmin webmaster@domain1.com
# Endroit o� sont mis les documents du domaine virtuel
DocumentRoot /virtual/domain1.com/var/www/html
# Nom du serveur
ServerName www.domain1.com
# Fichiers de Log relatifs � l'option ServerRoot
ErrorLog logs/domain1.com-error_log
TransferLog logs/domain1.com-access_log
RefererLog logs/domain1.com-referer_log
AgentLog logs/domain1.com-agent_log
# Utiliser les scripts CGI dans ce domaine
ScriptAlias /cgi-bin/ /var/www/cgi-bin/domain1.com/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
</VirtualHost>
<VirtualHost www.domain2.com>
# E-mail � laquelle sont envoy�es les erreurs
ServerAdmin webmaster@domain2.com
# Endroit o� sont mis les documents du domaine virtuel
DocumentRoot /virtual/domain2.com/var/www/html
# Nom du Serveur
ServerName www.domain2.com
# Fichiers de Log relatifs � l'option ServerRoot
ErrorLog logs/domain2.com-error_log
TransferLog logs/domain2.com-access_log
RefererLog logs/domain2.com-referer_log
AgentLog logs/domain2.com-agent_log
# Pas de script CGI pour ce domaine
</VirtualHost>
# Fin: Section de l'hebergement virtuel

Srm.conf

Ce fichier de configuration est utilis� pour contr�ler comment sont servies les demandes et comment sont formatt�s les r�sultats. Vous n'avez pas besoin d'�diter quoi que ce soit ici pour les domaines virtuels. Le fichier de configuration de base d'Apache doit fonctionner.

Httpd.init

Rien de sp�cial n'est � faire dans ce fichier. Utilisez la version de base qui est fournie avec Apache.

8.3 Descripteurs de fichiers : limite de capacit�

Attention

Cela s'applique seulement � la version standalone du serveur Apache. Un serveur qui se lance au travers d'inetd n'intervient pas avec les autres domaines et � acc�s � toute la table des descripteurs de fichiers.

Chaque fichier de log qu'ouvre Apache est un autre descripteur de fichier pour le processus. Il y a une limite de 256 descripteurs de fichier par processus au coeur du systeme Linux. Depuis que vous avez plusieurs domaines, vous utilisez plus de descripteurs de fichiers. Si vous avez trop de domaines tournant sur un processus du serveur Apache, vous pouvez engorger cette table. Cela peut impliquer que certains logs ne fonctionneront pas et que certains CGI seront interrompus.

Plusieurs serveur Apache

Si vous pr�voyez cinq descripteurs de fichiers par domaine, vous pouvez avoir 50 domaines tournant sur votre serveur Apache sans probl�mes. Mais, si votre serveur a des probl�mes, vous pouvez cr�er /var/www1 avec un serveur Apache qui s'occupe des domaines 1 � 25 et /var/www2 avec un autre serveur qui s'occupe des domaines 26 � 50. Ainsi, chaque serveur aura son propre fichier de configuration, d'erreurs et de log. Chaque serveur doit �tre configur� separement avec ses propres directives de Listen et VirtualHost. Et n'oubliez pas de lancer plusieurs serveurs dans votre fichier httpd.ini.

8.4 H�berger plusieurs serveurs avec une IP

�conomiser des IP

La version 1.1 du protocole HTTP (HyperText Transfer Protocol) inclue une fonction qui communique le nom du serveur au client. Ce qui implique que le client n'a pas besoin de rechercher le nom du serveur � partir de son adresse IP. Comme �a, deux serveurs virtuels peuvent avoir la m�me adresse IP et �tre deux site Web diff�rents. La configuration d'Apache est la m�me qu'avant, � part que vous n'avez pas besoin de mettre plusieurs directives Listen comme les deux domaines ont la m�me IP.

Inconv�nient

Le seul probl�me est que virtuald utilise les adresses IP pour distinguer les domaines. Dans sa forme actuelle Virtuald ne serait pas capable de chroot vers un r�pertoire de mail (spool) pour chaque domaine. Donc, les mails ne peuvent etre re�us que sur une IP et il n'y aurait plus un r�pertoire spool pour chaque domaine. Tous les clients d'un serveur web partageant une IP devront se partager le meme repertoire spool. Ce qui signifierait que dupliquer les noms d'utilisateurs serait encore une solution. Enfin, c'est le prix � payer pour �conomiser une IP.

8.5 Plus d'informations

Ce HOWTO montre seulement comment impl�menter le support virtuel sur le serveur Web Apache. La plupart des serveur Web utilisent une interface similaire. Pour plus d'informations sur l'h�bergement de web virtuel, consultez le WWW-HOWTO, la documentation d'Apache sur le Site d'Apache, ou la documentation sur ApacheWeek.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:22