Sommaire Carte Index Recherche Nouvelles Archives Liens A propos
[Barre Superieure]
[Barre Inferieure]
Cet article est disponible en: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Turkce  Korean  
convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
par

L´auteur:

Je vie et travaille en Suisse comme administrateur web et unix. Mes passions incluent Linux, unix, Perl, Apache et les logiciels GPL. Plus de détails sur moi peuvent être trouvés sur ma homepage


Sommaire:

Recycler des adresses IP avec Apache

[Illustration]

Résumé:

Cet article explique comment servir plusieurs serveur web en utilisant la même adresse IP avec Apache sur Unix/Linux. Cet article suppose que le lecteur a quelques connaissancesde Apache, des DNS et de unix.
Les publics concernés par cet article sont les ISP (fournisseurs de service internet), les administrateurs système et quiconque interessé par lire et apprendre.



 

Pourquoi devrait on recycler des adresses IP?

Le recyclage d'adresses IP est utile pour de nombreuses raisons.

  1. on peut être rapidement être à cours d'adresses IP
  2. on peut n'avoir à disposition qu'une adresse IP (mon cas)
  3. L'ajout d'interfaces sur le serveur pour utiliser plusieurs adresses IP prend beaucoupd de temps à l'administrateur système.
 

Comment recycler des adresses IP?

Avec Apache, il est simple de fournir plusieurs domaine avec une seule adresse IP.
Pour cet article, nous supposerons que l'adresse IP est 192.168.1.1, et que le nom de serveur est hometranet.home.
Ajoutez simplement une ligne comme celle-ci dans votre fichier httpd.conf

NameVirtualHost 192.168.1.1:80


Ensuite nous ajoutons 3 serveurs virtuels utilisant la même adresse IP
#Serveur pour les fichiers unix

        ServerName      unix.hometranet.home
        DocumentRoot    /www/unix/html
        ScriptAlias     /cgi-bin/ /www/unix/cgi-bin/
        TransferLog     /www/unix/logs/access_log
        ErrorLog        /www/unix/logs/error_log


#Serveur pour le PERL

        ServerName      perl.hometranet.home
        DocumentRoot    /www/perl/html
        ScriptAlias     /cgi-bin/ /www/perl/cgi-bin/
        TransferLog     /www/perl/logs/access_log
        ErrorLog        /www/perl/logs/error_log



#Ici nous servons des infos sympas relatives à Apache

        ServerName      apache.hometranet.home
        DocumentRoot    /www/apache/html
        ScriptAlias     /cgi-bin/ /www/apache/cgi-bin/
        TransferLog     /www/apache/logs/access_log
        ErrorLog        /www/apache/logs/error_log



Donc, en utilisant une adresse IP, nous gérons facilement 3 différents serveurs virtuels.

Ensuite, ajoutez des enregistrements CNAMES ou A pour ces noms dans le fichier de description de zone de votre DNS et n'oublier pas incrementer le numéro de série :)
Par exemple; dans mon /var/named/hometranet.home.fwd, j'ajouterais
perl.hometranet.home.   IN      A       192.168.1.1
apache.hometranet.home. IN      A       192.168.1.1
unix.hometranet.home.   IN      A       192.168.1.1

Attention: Si vous accéder à ce serveur par un nom différents de ceux spécifiés dans la configuration des serveurs virtuels, c'est le premier serveur virtuel qui répondra.
Avant Apache 1.3.x, le dernier serveur aurait répondu.
Par example: Si ce serveur s'appele madmag, un accès à http://madmag.hometranet.home donnera le même résultat qu'un accès à unix.hometranet.home.
 

Utilisation de jokers, noms de serveur dynamiques

C'est une partie très pratique. Apache permet l'utilisation de joker dans la définition des noms de serveurs.
Cela veut dire que vous pouvez spécifier un domaine *.home.hometranet.home. Dans ce cas, tous les appels à user1.home.hometranet.home, user2.home.hometranet.home, user3.home.hometranet.home,etc répondrons.
Exemple:

#Serveur pour les users

        ServerName      home.hometranet.home
        ServerAlias     *.home.hometranet.home
        DocumentRoot    /www/home/html
        TransferLog     /www/home/logs/access_log
        ErrorLog        /www/home/logs/error_log


et une entrés dans le fichier des zones nommées.

*.home.hometranet.home.  IN      A       192.168.1.1

Note: Cette astuce ne fonctionnera pas si vous utilisez le serveur DNS de Microsoft. Apparement, celui-ci refuse les jokers dans les noms de serveurs.
(Mais vous n'en utilisez pas, n'est ce pas??)
J'ai écrit un petit système permettant à des utilisateurs sur le réseau d'ajouter leur CV dans une base de données, et en utilisant l'astuce ci-dessus, leurs CV étaient accessibles par http://LeurNomDUtilisateur.cv.developer.ch.

 

Ma configuration des serveurs virtuels (virtual host)

Ici se trouve le fichier de configuration plus complet que j'ai séparé de mon fichier httpd.conf.
Celui ci est actuellement sur mon serveur.

Pour inclure ce fichier dans le fichier httpd.conf principal, vous pouvez utiliser l'instruction Include dans votre fichier httpd.conf principal:
Include "/etc/vhosts.conf"

 

Informations supplémentaires

[Apache name-based Virtual Host Support]
http://www.apache.org/docs/vhosts/name-based.html
[Apache Virtual Host documentation]
http://www.apache.org/docs/vhosts/index.html
[An In-Depth Discussion of Virtual Host Matching]
http://www.apache.org/docs/vhosts/details.html
 

Discussion sur cet article

Chaque article possède sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d´autres lecteurs:
 page de discussion 

Site Web maintenu par l´équipe d´édition LinuxFocus
© Atif Ghaffar, FDL
LinuxFocus.org

Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus
Translation information:
en -> --
en -> fr

2001-03-18, generated by lfparser version 2.8