Linux WWW-HOWTO
 M. Poet, [email protected];
 Version fran�aise par Arnaud Launay, [email protected]
 v0.85, 21 Ao�t 1999.

 Ce document contient des informations sur la mise en place de services
 WWW sous Linux (� la fois serveur et client). Il n'est pas pr�vu pour
 �tre un manuel d�taill� mais une vue d'ensemble et un bon pointeur
 vers des informations compl�mentaires.
 ______________________________________________________________________

 Table des mati�res






















































 1. Introduction

    1.1 Copyright
    1.2 �chos
    1.3 Nouvelles versions de ce document

 2. Configurer un client WWW (antiquit�)

    2.1 Survol

 3. Lynx

    3.1 O� l'obtenir ?

 4. Emacs-W3

    4.1 O� l'obtenir ?

 5. Netscape Navigator/Communicator

    5.1 Des versions et des options diff�rentes.
    5.2 O� l'obtenir ?
    5.3 Installation

 6. Mettre en place un serveur WWW

    6.1 Survol

 7. Apache

    7.1 O� l'obtenir ?
    7.2 Compiler et Installer
    7.3 Configurer
    7.4 H�berger des serveurs web virtuels
       7.4.1 H�bergement virtuel bas� IP
       7.4.2 H�bergement virtuel par IP partag�e
    7.5 Scripts CGI
    7.6 R�pertoires Web des Utilisateurs
    7.7 Mode d�mon contre mode Inetd
    7.8 Autoriser les commandes put et delete
    7.9 Authentification de l'Utilisateur / Contr�le des Acc�s
    7.10 su-exec
    7.11 Imagemaps
    7.12 SSI/XSSI
    7.13 Syst�me modulaire

 8. Ajouts au serveur web

 9. Documents plus avanc�s

    9.1 Livres de chez O'Reilly & Associates
    9.2 Internet Request For Comments (RFC)


 ______________________________________________________________________

 11..  IInnttrroodduuccttiioonn

 La plupart des gens sont pass�s sous Linux car ils cherchaient une
 plateforme v�ritablement _a_d_a_p_t_�_e _� _l_'_I_n_t_e_r_n_e_t.  De plus, des
 institutions, des universit�s, des organisations � but non lucratif,
 et de petites entreprises d�sirent lancer des sites internet � peu de
 frais. C'est ici que le WWW-HOWTO intervient. Ce document explique
 comment configurer les clients et les serveurs pour ce qui jouit de la
 plus grande audience sur le net - _L_e _W_o_r_l_d _W_i_d_e _W_e_b.

 Tous les prix indiqu�s dans ce document sont en dollars US. Ce
 document suppose que vous utilisez Linux sur une plateforme Intel. Les
 instructions et les produits disponibles peuvent varier de plateforme
 en plateforme. Il y a de nombreux liens pour charger les logiciels
 dans ce document. Utilisez autant que possible un site miroir pour
 tranf�rer plus rapidement et minimiser la charge du serveur principal.


 11..11..  CCooppyyrriigghhtt

 Ce document est Copyright (c) 1999 par M. Poet.

 Ce document est Copyright (c) 1997 par Wayne Leister.  L'auteur
 original �tait Peter Dreuw (toute version avant 0.8).


 Cette documentation est libre, vous pouvez la redistribuer et/ou la
 modifier selon les termes de la Licence Publique G�n�rale GNU publi�e
 par la Free Software Foundation (version 2 ou bien toute autre version
 ult�rieure choisie par vous).

 Cette documentation est distribu�e car potentiellement utile, mais
 SSAANNSS AAUUCCUUNNEE GGAARRAANNTTIIEE, ni explicite ni implicite, y compris les
 garanties de ccoommmmeerrcciiaalliissaattiioonn ou dd''aaddaappttaattiioonn ddaannss uunn bbuutt sspp��cciiffiiqquuee.
 Reportez-vous � la Licence Publique G�n�rale GNU pour plus de d�tails.

 Vous pouvez obtenir une copie de la Licence Publique G�n�rale GNU en
 �crivant � la Free Software Foundation <http://www.fsf.org>, Inc., 675
 Mass Ave, Cambridge, MA 02139, �tats-Unis.

 Les marques d�pos�es sont la propri�t� de leurs propri�taires
 respectifs.


 11..22..  ��cchhooss

 Tout �cho est le bienvenu. Je ne pr�tend pas �tre un expert.  Une
 partie des informations provient de sites web mal �crits; il est tr�s
 probable qu'il y ait des erreurs et des omissions. Cependant, v�rifiez
 que vous avez la derni�re version avant d'envoyer des corrections; ce
 pourrait �tre fix� dans la version suivante (voyez la section qui suit
 pour savoir o� trouver la derni�re version). Envoyez vos r�actions �
 [email protected].


 11..33..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

 Les nouvelles versions de ce document sont toujours disponibles sur le
 site web de LinuxPorts


 22..  CCoonnffiigguurreerr uunn cclliieenntt WWWWWW ((aannttiiqquuiitt��))


      Notez que la section suivante est tr�s ancienne et sa
      derni�re mise � jour remonte � 1997. Cette section est con�
      serv�e dans un but uniquement historique.  Toutes les dis�
      tributions majeures de Linux sont livr�es avec Netscape et
      Lynx.  Ce sont les deux navigateurs les plus populaires pour
      le syst�me d'exploitation Linux. Si ces navigateurs ne sont
      pas install�s, r�f�rez vous � leurs sections respectives
      pour savoir comment les r�cup�rer.


 Le chapitre qui suit est d�di� � la configuration des navigateurs.
 Vous �tes libres de me contacter si votre navigateur favori n'est pas
 pr�sent ici. Dans cette version du document, seul un petit nombre de
 navigateurs ont leur propre section, mais je vais essayer de tous les
 inclure (tous ceux que je peux trouver) dans la section Survol.  Dans
 le futur ces navigateurs auront chacun leur propre section.

 L'information de survol est destin�e � vous aider � vous d�cider en
 faveur d'un navigateur, et vous donne les informations principales sur
 chaque navigateur. La section d�tails est destin�e � vous aider �
 installer, configurer, et maintenir chaque navigateur.

 Cependant j'utilise Lynx lorsque je n'ai pas envie de lancer le
 monstre X-Window/Netscape.


 22..11..  SSuurrvvooll


    ````NNaavviiggaattoorr//CCoommmmuunniiccaattoorr''''
       Netscape Navigator est le seul navigateur Linux mentionn� ici
       qui peut utiliser les derni�res nouveaut�s HTML. Quelques unes
       de ces extensions sont le Java, le Javascript, les mises � jour
       automatiques, et les calques. Il est aussi capable de lire les
       news et le courrier. Mais c'est un gros mangeur de ressources;
       il prend beaucoup de temps processeur et de m�moire. Il utilise
       �galement un cache s�par� pour tous les utilisateurs, ce qui
       consomme de l'espace disque.

       Netscape est actuellement un logiciel OpenSource et peut �tre
       r�cup�r� sur ftp.netscape.com.


    ````LLyynnxx''''
       Lynx est le plus petit navigateur web. C'est le roi des
       navigateurs en mode texte. Il est gratuit et son code source est
       disponible sous les termes de la GNU public license. Il est en
       mode texte, mais dispose de nombreuses options. Lynx supporte
       dor�navant les tableaux, la couleur (via les biblioth�ques
       curses) et les frames.


         Note sur le support frame de Lynx: Le support frame de
         Lynx est tr�s limit�, il vous avertira de la pr�sence des
         frames et vous donnera leur titre pour que vous les
         s�lectionniez en tant que lien. Cependant, les titres des
         frames sont g�n�ralement non descriptifs par facilit�
         pour l'auteur; ceci peut �tre g�nant.



    KKffmm
       Kfm fait partie de K Desktop Environment (KDE). KDE est un
       syst�me qui tourne au-dessus de X-Window. Il vous offre de
       nombreuses fonctionnalit�s comme le copier - coller, les sons,
       une corbeille et une apparence unifi�e.  Kfm est le K File
       Manager, mais c'est aussi un navigateur web.  Il supporte les
       frames, les tableaux, les transferts par ftp, la navigation dans
       les archives tar, et bien d'autres choses. La version actuelle
       de Kfm est la 1.1.1, la 1.1.2 arrivant bient�t. Kfm peut-�tre
       utilis� sans KDE, mais vous aurez besoin des biblioth�ques
       utilis�es par KDE. Pour plus d'informations sur KDE et Kfm,
       visitez le site web de KDE �  <http://www.kde.org>.


    ````EEmmaaccss''''
       Emacs est un programme qui fait tout. C'est un traitement de
       texte, un lecteur de news, un lecteur de courrier, et un
       navigateur web. Sa ma�trise ne vient que lentement au d�but, car
       vous devez apprendre ce que font toutes les touches. La version
       X-Window est plus facile � utiliser, car vous accedez � la
       plupart des fonctionnalit�s par des menus. Un autre inconv�nient
       est qu'il est principalement bas� sur du texte. (mais il peut
       afficher des images si vous l'utilisez depuis X-Window).  Il est
       �galement gratuit, et le code source est disponible sous la
       licence publique GNU.


    NNCCSSAA MMoossaaiicc
       Mosaic est un navigateur X-Window d�velopp� par le National
       Center for Supercomputing Applications (NCSA) de l'universit� de
       l'Illinois. Le NCSA a travaill� quatre ans sur ce projet et est
       maintenant pass� � d'autres choses. Encore une fois, Mosaic
       n'est plus support�.  Cependant, son source est gratuit pour une
       utilisation non commerciale, et il peut �tre un int�ressant
       sujet d'�tude pour quelqu'un qui veut d�velopper un nouveau
       navigateur.


    AAmmaayyaa
       Amaya est le navigateur X-Window exp�rimental du W3C pour le
       HTML 3.2. Toutefois il supporte tous les standards HTML 3.2. Il
       supporte �galement quelques unes des nouveaut�s du HTML 4.0. Il
       supporte les tableaux, les formulaires, les cartes graphiques
       (imagemap) c�t� client, l'envoi des pages sur un serveur distant
       par la m�thode put du protocole http, les images gifs, jpegs et
       png. C'est � la fois un navigateur et un outil d'apprentissage.
       La derni�re version publique est la 1.0 beta. La version 1.1
       beta est en tests internes et doit sortir bient�t. Pour plus
       d'informations voyez le site d'Amaya �
       <http://www.w3.org/Amaya/>.  Il peut �tre t�l�charg� de
       <ftp://ftp.w3.org/pub/Amaya-LINUX-ELF-1.0b.tar.gz>.


    QQwweebb
       Qweb est encore un autre navigateur X-Window basique. Il
       supporte les tableaux, les formulaires, et les cartes graphiques
       c�t� serveur. La derni�re version est la 1.3. Pour plus
       d'informations visitez le site Qweb �
       <http://sunsite.auc.dk/qweb/>.  Les sources sont disponibles sur
       <http://sunsite.auc.dk/qweb/qweb-1.3.tar.gz>.  Les binaires sont
       disponibles en format Red Hat RPM �
       <http://sunsite.auc.dk/qweb/qweb-1.3-1.i386.rpm>.


 L'auteur recommande aux utilisateurs de navigateurs web d'utiliser
 soit Navigator 4.x, Lynx ou Netscape 5.xAlpha. Ce sont les seuls
 actuellement disponibles sous Linux qui supportent le maximum de
 fonctionnalit�s. Je sugg�re personnellement l'utilisation de Netscape
 5.xAlpha, car m�me s'il s'agit de logiciel en version alpha, il est
 assez stable et impl�mente vraiment les standards de bien meilleure
 fa�on que ne le font les 4.x.


 33..  LLyynnxx

 Lynx est un des plus petits (environ 600 ko d'ex�cutable) et des plus
 rapides des navigateurs, probablement le browser web le plus rapide
 actuellement disponible.  Il n'utilise pas autant de bande passante ni
 de ressources syst�me car il affiche uniquement en mode texte. Il
 peut-�tre utilis� sur toute console, terminal ou xterm. Vous n'aurez
 pas besoin d'un _s_y_s_t_�_m_e _X_-_W_i_n_d_o_w ni de m�moire suppl�mentaire pour
 faire tourner ce petit browser.

 33..11..  OO�� ll''oobbtteenniirr ??

 La plupart des distributions incluent Lynx. C'est pourquoi je ne vous
 ennuierai pas avec les d�tails sur la compilation et l'installation de
 Lynx.

 La derni�re version est la 2.8.2, et peut �tre obtenue sur
 <http://www.slcc.edu/lynx/fote/> ou sur tout serveur ftp miroir comme
 ftp://ftp.lip6.fr dans /pub/linux/sunsite/apps/www/browsers/.

 Pour plus d'informations sur Lynx essayez l'une de ces url:

    LLyynnxx LLiinnkkss
       <http://www.crl.com/~subir/lynx.html>

    LLyynnxx PPaaggeess
       <http://lynx.browser.org>

    LLyynnxx HHeellpp PPaaggeess
       <http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html>
       (les m�mes que celle donn�es par lynx --help et ? dans lynx).

 Note: les pages d'aide de Lynx ont r�cemment d�m�nag�. Si vous avez
 une version ancienne de Lynx, vous devrez changer votre lynx.cfg (dans
 /usr/lib) pour pointer sur la nouvelle adresse (plus haut).

 Je pense que la sp�cificit� la plus importante de Lynx par rapport �
 tous les autres navigateurs web est sa capacit� de r�cup�ration
 automatique des fichiers.N'importe qui peut �crire un script qui
 r�cup�rera tout document, fichier ou n'importe quoi d'autre via des
 url _h_t_t_p, _F_T_P, _g_o_p_h_e_r, _W_A_I_S, _N_N_T_P ou _f_i_l_e_:_/_/ - et les sauver sur le
 disque.  De plus, toute personne peut entrer des donn�es dans les
 formulaires HTML en mode batch (non interactif), en redirigeant
 simplement l'entr�e standard et en utilisant l'option _-_p_o_s_t___d_a_t_a.

 Pour en savoir plus les sp�cificit�s exceptionnelles de Lynx, il
 suffit de regarder les fichiers d'aide et les pages de man. Si vous
 utilisez une option sp�ciale de Lynx que vous d�sireriez voir ajouter
 � ce document, fa�tes le moi savoir.


 44..  EEmmaaccss--WW33

 Il y a diff�rentes versions d'Emacs. Les deux les plus populaires sont
 GNU Emacs et XEmacs. GNU Emacs vient de la Free Software Foundation,
 et est l'Emacs original. Il est principalement orient� vers les
 terminaux en mode texte, mais il peut tourner sous X-Window. XEmacs
 (au d�part par Lucid Emacs) est une version qui tourne uniquement sous
 X-Window. Il dispose de nombreuses sp�cificit�s de type X-Window (de
 meilleurs menus, ...).


 44..11..  OO�� ll''oobbtteenniirr ??

 La plupart des distributions incluent GNU Emacs.

 Le GNU emacs le plus r�cent est le 19.34. Il ne semble pas avoir de
 site web. Le site FTP original est �  <ftp://ftp.gnu.org/pub/gnu/>; il
 y a un miroir pour la France sur  <ftp://ftp.lip6.fr/pub/gnu/>.

 La derni�re version de XEmacs est la 20.2. Le site FTP de XEmacs est �
 <ftp://ftp.xemacs.org/pub/xemacs>. Pour plus d'informations sur XEmacs
 allez voir leurs pages web �  <http://www.xemacs.org>.

 Les deux sont disponibles sur tous les miroirs des archives Linux, par
 exemple � ftp://ftp.lip6.fr/pub/linux/sunsite/apps/editors/emacs/
 55..  NNeettssccaappee NNaavviiggaattoorr//CCoommmmuunniiccaattoorr


 55..11..  DDeess vveerrssiioonnss eett ddeess ooppttiioonnss ddiiffff��rreenntteess..

 Netscape Navigator est le roi des navigateurs WWW. Netscape Navigator
 peut quasiment tout faire. Mais d'un autre c�t�, c'est un des
 programmes les plus gourmands en m�moire et en ressources que j'ai pu
 voir.

 Il y a 3 versions diff�rentes de ce programme:

 Netscape Navigator contient le navigateur web, netcaster (le client
 push) et un programme basique de courrier.

 Netscape Communicator contient le navigateur web, un �diteur web, un
 programme avanc� de courrier, un lecteur de news, netcaster (le client
 push), et un utilitaire pour les conf�rences de groupes.

 Netscape Communicator Pro contient tout ce qu'a Communicator plus un
 calendrier partageable, l'�mulation des terminaux IBM, et des options
 pour la gestion � distance (les administrateurs peuvent mettre � jour
 des milliers de copies de Netscape � partir de leur si�ge).

 De plus, pour chacune de ces trois versions il y a deux options que
 vous pouvez choisir.

 La premi�re est l'installation compl�te ou basique. L'installation
 compl�te vous installe tout. L'installation de base vous en donne
 suffisamment pour commencer. Vous pouvez charger les composants
 suppl�mentaires lorsque vous en avez besoin (comme le support
 multimedia et netscaster). Ces composants peuvent �tre install�s par
 l'utilitaire 'smart update' de Netscape (apr�s l'installation allez
 dans 'help->software updates'). Actuellement, l'installation compl�te
 n'est pas disponible pour Linux.

 La seconde option est l'import ou l'export. Si vous habitez les US ou
 le Canada vous pouvez choisir la version d'import. Cel� vous donnera
 l'encryption plus solide de 128 bits pour les transactions s�curis�es
 (SSL).  La version d'export dispose seulement d'une encryption 40
 bits, et est la seule version autoris�e en dehors des US et du Canada.

 La derni�re version de Netscape Navigator/Communicator/Communicator
 Pro est la 4.6.1. Il y a deux versions diff�rentes pour Linux, une
 pour l'ancienne s�rie des noyaux 1.2 et une pour les nouveaux 2.0. Si
 vous n'avez pas de noyau 2.0 je vous sugg�re de le mettre � jour; il y
 a de nombreuses nouveaut�s dans le nouveau noyau.

 Des beta version sont �galement disponibles. Si vous essayez une
 version beta, elles expireront g�n�ralement plus ou moins un mois
 apr�s !

 Vous pouvez �galement essayer la 5.0 alpha du projet Mozilla, qui se
 trouve sur www.mozilla.org. Je vous le sugg�re vraiment, le nouveau
 Netscape 5 est le meilleur navigateur que j'ai vu depuis bien
 longtemps. Il est tr�s flexible et assez stable pour une version
 alpha.


 55..22..  OO�� ll''oobbtteenniirr ??


 Le meilleur moyen pour obtenir des logiciels de Netscape est d'aller
 les chercher sur leur site web �  <http://www.netscape.com/download/>.
 Ils ont des menus pour vous guider dans votre s�lection. Lorsqu'on
 demande une version Linux, on r�f�rence par rapport au noyau (la
 plupart des gens doivent maintenant utiliser le 2.0). Si vous n'�tes
 pas s�r de la version du noyau que vous avez vous pouvez lancer 'cat
 /proc/version'. Chercher sur le site web est le seul moyen d'obtenir
 les versions d'import.

 Si vous d�sirez une version export vous pouvez la charger directement
 des serveurs FTP de Netscape. Leurs serveurs FTP sont �galement plus �
 jour. Par exemple la premi�re fois que j'ai �crit ceci, l'interface
 web n'avait pas encore la version non-beta 4.03 pour Linux, mais elle
 �tait sur le site FTP.  Voici les liens vers les versions d'export
 pour Linux 2.0 et 2.2:

 Netscape Navigator 4.6.1 est sur
 <ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/linux20/navigator_standalone/navigator-
 v461-export.x86-unknown-linux2.0.tar.gz>

 Netscape Communicator 4.6.1 pour Linux 2.0 (noyau) est sur
 <ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/linux20/base_install/communicator-
 v461-export.x86-unknown-linux2.0.tar.gz>

 Communicator Pro 4.03 pour Linux n'�tait pas disponible au moment o�
 j'�cris ces lignes.

 Ces url changeront lorsque de nouvelles versions sortiront. Si ces
 liens ne fonctionnent pas vous pouvez les trouver en p�chant sur le
 site FTP  <ftp://ftp.netscape.com/pub/communicator/>.

 Ces serveurs sont souvent tr�s charg�s. Il vaut mieux attendre hors
 des heures de bureau ou choisir un site miroir. Attendez-vous � devoir
 patienter, ces archives sont grosses. Navigator p�se environ 8 megs,
 et l'installation de base de Communicator est de 10 megs.


 55..33..  IInnssttaallllaattiioonn

 Cette section explique comment installer la version 4 de Netscape
 Navigator, Communicator, et Communicator Pro.

 Tout d'abord, d�compactez l'archive dans un r�pertoire temporaire.
 Lancez ensuite le script ns-install (tapez ./ns-install).  Cr�ez
 ensuite un lien symbolique entre le binaire
 /usr/local/netscape/netscape et /usr/local/bin/netscape (tapez ln -s
 /usr/local/netscape/netscape /usr/local/bin/netscape).  Enfin,
 attribuez � la variable d'environnement $MOZILLA_HOME la valeur
 /usr/local/netscape pour tout le syst�me,  de fa�on � ce que Netscape
 puisse trouvez ses fichiers. Si c'est bash que vous utilisez comme
 shell, �ditez votre /etc/profile et ajoutez les lignes:



      export MOZILLA_HOME="/usr/local/netscape"




 Apr�s l'avoir install�, le logiciel peut se mettre automatiquement �
 jour avec "smart update".  Lancez juste Netscape en tant que super-
 utilisateur et allez � help->software updates. Si vous avez simplement
 pris l'installation basique, vous pouvez �galement installer les
 composants Netscape de cette fa�on.

 Note: Ceci ne supprimera pas vos anciennes versions de Netscape, vous
 devez les supprimer manuellement en supprimant le binaire Netscape et
 le fichier des classes Java (pour la version 3).


 66..  MMeettttrree eenn ppllaaccee uunn sseerrvveeuurr WWWWWW

 Cette section contient des informations sur les diff�rents serveurs
 http et les outils additionnels comme les langages de scripts pour les
 programmes CGI, etc. Il y a plusieurs douzaines de serveurs web, j'ai
 seulement couvert ceux qui sont pleinement fonctionnels. Comme
 certains sont des programmes commerciaux, je ne peux pas les tester.
 La plupart des informations de la section de pr�sentation ont �t�
 r�cup�r�es sur divers sites web.  S'il y a des informations
 incorrectes ou manquantes, veuillez me le faire savoir.


 Pour une documentation plus technique des m�canismes du http, voyez
 les RFCs mentionn�es dans le chapitre "Documents plus avanc�s" de ce
 HOWTO.

 Je pr�f�re utiliser le serveur Apache. Il a la plupart des options que
 vous avez jamais d�sir� et il est gratuit ! J'admets que cette section
 est fortement orient�e vers Apache. J'ai d�cid� de concentrer mes
 efforts sur la section Apache plut�t que de me disperser parmi tous
 les autres serveurs web. Je pourrais couvrir d'autres serveurs web
 dans le futur.


 66..11..  SSuurrvvooll


    CCeerrnn hhttttppdd
       Ce fut le premier serveur web. Il a �t� d�velopp� par le
       European Laboratory for Particle Physics (CERN). Le CERN httpd
       n'est plus support�. Le serveur CERN httpd est connu pour avoir
       quelques bugs �tranges, pour �tre lent et gourmand en
       ressources. La derni�re version est la 3.0.  Pour plus
       d'informations visitez la page m�re du CERN httpd �
       <http://www.w3.org/Daemon/Status.html>. Il peut �tre charg� sur
       <ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/httpd-3.0.term.tpz>
       (non, ce n'est pas une erreur, l'extension est actuellement .tpz
       sur le site; ce devrait probablement �tre .tgz).


    NNCCSSAA HHTTTTPPdd
       Le serveur NCSA HTTPd est le p�re d'Apache (le d�veloppement a
       donn� naissance � deux serveurs diff�rents). Toutefois les
       fichiers de configuration sont tr�s similaires. le NCSA HTTPd
       est gratuit et le code source est disponible. Ce serveur n'est
       pas couvert par ce document, cependant la lecture de la section
       Apache peut vous donner quelques tuyaux.  Le serveur NCSA a �t�
       populaire, mais la plupart des gens l'ont remplac� par Apache.
       Apache a commenc� comme un rempla�ant du serveur NCSA (m�me
       fichiers de configuration), et il corrige quelques unes de ses
       faiblesses. Le serveur NCSA HTTPd compte pour 4.9% (en chute
       libre) de tous les serveurs web (source Septembre 1997, Netcraft
       survey <http://www.netcraft.com/survey/>).  La derni�re version
       est la 1.5.2a. Pour plus d'informations voyez le site du NCSA �
       <http://hoohoo.ncsa.uiuc.edu>.


    ````AAppaacchhee''''
       Apache est le roi de tous les serveurs web. Apache et ses
       sources sont gratuits. Apache est modulaire, aussi il est facile
       d'y ajouter des caract�ristiques. Apache est tr�s flexible et
       dispose de tr�s, tr�s nombreuses caract�ristiques. Apache et ses
       d�riv�s totalisent 55% de tous les domaines web.  Il y a plus de
       3 928 112 serveurs Apache actifs (source Ao�t 1999, Netcraft
       survey <http://www.netcraft.com/survey/>).

       La version officielle d'Apache ne contient pas le SSL, mais il y
       a deux d�riv�s qui l'incluent. Stronghold est un produit
       commercial qui est bas� sur Apache. Il est vendu $995; une
       version plus �conomique est disponible pour $495 (bas�e sur une
       vieille version d'Apache).  Stronghold est le num�ro deux des
       serveurs s�curis�s derri�re Netscape (source C2 net
       <http://www.c2.net/products/stronghold> et Netcraft survey
       <http://www.netcraft.com/survey/>).  Pour plus d'informations
       voyez le site de Stronghold �
       <http://www.c2.net/products/stronghold/>. Il a �t� d�velopp�
       hors des US, il est donc disponible avec du SSL en 128 bits
       partout.

       Apache-SSL est une impl�mentation gratuite de SSL, mais pas pour
       une utilisation commerciale dans les US (RSA a une license US
       sur la technologie SSL). Il peut �tre employ� pour une
       utilisation non-commerciale aux US si vous le reliez avec la
       librairie gratuite RSAREF. Pour plus d'informations voyez le
       site �  <http://www.algroup.co.uk/Apache-SSL/>.


    NNeettssccaappee FFaasstt TTrraacckk SSeerrvveerr
       Fast Track a �t� d�velopp� par Netscape, mais la version Linux
       est mise sur le march� par Caldera. Le site de Caldera le liste
       en tant que "Fast Track for OpenLinux". Je ne sais pas avec
       certitude s'il tourne seulement sous Caldera OpenLinux ou si
       toute distribution Linux convient (�crivez moi si vous
       connaissez la r�ponse).  Les serveurs Netscape comptent pour
       6.11% (en augmentation) de tous les serveurs web (source Ao�t
       1999  <http://www.netcraft.com/survey/>).  Le serveur est vendu
       $295. Il est �galement inclus avec la distribution Caldera
       OpenLinux Standard qui est vendue $399 (version �ducation:
       $199.50).  Les pages web parlent d'une interface
       d'administration simple et pratique et d'une configuration
       rapide en 10 minutes. Le serveur supporte le SSL en 40 bits.
       Pour obtenir les 128 bits SSL, vous aurez besoin du Netscape
       Enterprise Server. Malheureusement il n'est pas disponible pour
       Linux :( La derni�re version disponible pour Linux est la 2.0
       (la version 3 est en beta, mais elle n'est pas encore disponible
       pour Linux).  Pour l'acheter, allez sur le site web de Caldera �
       <http://www.caldera.com/products/netscape/netscape.html>. Pour
       plus d'informations voyez la page Fast Track �
       <http://www.netscape.com/comprod/server_central/product/fast_track/>


    WWNN WN poss�de de nombreuses caract�ristiques qui le rendent
       attractif.  Tout d'abord il est plus petit que les serveurs
       CERN, NCSA HTTPd, Apache. Il dispose �galement de nombreuses
       options int�gr�es qui n�cessiteraient sinon des CGI. Par exemple
       la recherche sur le site, une fonctionnalit� am�lior�e
       d'inclusion de fichiers au niveau du serveur (server side
       include). Il peut �galement d�compresser/compresser des fichiers
       de fa�on transparente gr�ce � son option de filtrage. Il peut
       �galement r�cup�rer une partie seulement d'un fichier avec son
       option d'�chelle. Il est distribu� sous licence publique GNU.
       La version actuelle est la 2.08. Pour plus d'informations voyez
       le site de WN �  <http://hopf.math.nwu.edu/>.


    AAOOLLsseerrvveerr
       AOLserver est d�velopp� par America Online. Je dois admettre que
       j'ai �t� surpris par les options offertes par un serveur web
       venant de chez AOL. En plus des options standard, il supporte la
       connectivit� avec les bases de donn�es. Les pages peuvent
       interroger une base de donn�es par les commandes Structured
       Query Language (SQL). La base de donn�es est accessible au
       travers du Open Database Connectivity (ODBC). Il dispose
       �galement d'un moteur de recherche et du langage de script TCL.
       Si cela ne vous suffit pas, vous pouvez ajouter votre module
       personnel par la Application Programming Interface (API), en C.
       J'ai m�me oubli� de mentionner le support pour SSL 40 bits. Et
       vous obtenez tout ceci gratuitement ! Pour plus d'informations
       voyez le site du AOLserver �
       <http://www.aolserver.com/server/>.


    CCLL--HHTTTTPP
       CL-HTTP est l'abr�g� de Common Lisp Hypermedia Server. Si vous
       �tes un programmeur Lisp ce serveur est pour vous. Vous pouvez
       �crire vos scripts CGI en Lisp. Il a une fonction de
       configuration par le web. Il supporte �galement toutes les
       options standards des serveurs. CL-HTTP est gratuit et le code
       source est disponible. Pour plus d'informations voyez le site
       web de CL-HTTP �  <http://www.ai.mit.edu/projects/iiip/doc/cl-
       http/home-page.html>.


 Si vous avez un dessein commercial (site web d'une compagnie, ou ISP),
 je vous recommanderais fortement l'utilisation d'Apache.  J'ai
 �galement entendu dire que le Netscape Server est facile � configurer.
 Si vous l'utilisez en interne, vous pouvez �tre un peu plus flexible.
 Mais � moins que l'un d'entre eux dispose d'une option que vous devez
 utiliser, je vous recommanderai n�anmoins l'utilisation de l'un des
 deux pr�-cit�s.

 Il s'agit seulement d'une liste partielle de tous les serveurs
 disponibles.  Pour une liste plus compl�te visitez Netcraft �
 <http://www.netcraft.com/survey/servers.html> ou Web Compare �
 <http://webcompare.internet.com>.


 77..  AAppaacchhee

 La version actuelle d'Apache est la 1.3.9. Le site principal d'Apache
 est sur <http://www.apache.org/>. Une autre bonne source d'information
 est Apacheweek sur  <http://www.apacheweek.com/>. La documentation
 d'Apache est bonne, je ne rentrerai donc pas dans les d�tails de la
 configuration d'apache. La documentaion est sur le site web et
 �galement incluse dans les sources (au format HTML). Il y a �galement
 des fichiers textes inclus dans les sources, mais la version HTML est
 meilleure. La documentation doit devenir bien meilleure depuis que le
 Apache Documentation Project a �t� lanc�. Pour l'instant la plupart
 des documents sont �crits par les d�veloppeurs. Sans vouloir
 discr�diter les d�veloppeurs, ils sont un peu difficiles � comprendre
 si vous ne connaissez pas la terminologie.


 77..11..  OO�� ll''oobbtteenniirr ??

 Apache est inclus dans les distributions Red Hat, Slackware, et
 OpenLinux.  Cependant il se peut que ce ne soit pas la derni�re
 version, ce sont des binaires tr�s fiables. La mauvaise nouvelle est
 que vous aurez � vivre avec leurs choix de r�pertoires (qui sont
 totalement diff�rents les uns des autres et de ceux par d�faut
 d'Apache).

 Le source est disponible sur le site web d'Apache �
 <http://www.apache.org/dist/>.  Les binaires sont �galement
 disponibles au m�me endroit.  Vous pouvez aussi obtenir les binaires
 de sunsite �  <ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/> et
 pour la France sur
 <ftp://ftp.lip6.fr/pub/linux/sunsite/apps/www/servers/>.  Et pour ceux
 d'entre vous qui utilisent une Red Hat le dernier fichier RPM se
 trouve g�n�ralement dans le r�pertoire des contributions �
 <ftp://ftp.redhat.com/pub/contrib/i386/>.

 Si votre serveur doit servir un dessein commercial, il est hautement
 recommand� que vous obteniez les sources � partir du site web d'Apache
 et de le compiler vous m�me. L'autre option est d'utiliser un binaire
 qui provient d'une distribution majeure, par exemple Slackware, Red
 Hat, ou OpenLinux. La principale raison en est la s�curit�. Un binaire
 inconnu peut avoir une "sortie cach�e" pour les hackers, ou une
 correction instable peut crasher votre syst�me. Ceci vous donnera
 �galement plus de contr�le sur les modules compil�s, et vous
 autorisera � changer les r�pertoires par d�faut. Il n'est pas
 difficile de compiler Apache, et vous ne serez pas un vrai utilisateur
 de Linux tant que vous ne compilerez pas vos programmes ;)


 77..22..  CCoommppiilleerr eett IInnssttaalllleerr

 Tout d'abord d�compactez l'archive dans un r�pertoire temporaire.
 Ensuite placez vous dans le r�pertoire src. Editez alors le fichier
 Configuration si vous d�sirez ajouter des modules sp�ciaux. Les
 modules les plus commun�ment utilis�s sont d�j� inclus. Il n'y a pas
 besoin de changer les r�gles ou le makefile pour Linux. Lancez ensuite
 le script shell Configure (./Configure). V�rifiez qu'il vous dit que
 vous utilisez une plateforme Linux et gcc en tant que compilateur.
 Ensuite vous pouvez �diter le fichier httpd.h pour changer les
 r�pertoires par d�faut.  L'emplacement du serveur (o� sont conserv�s
 les fichiers de configuration) par d�faut est /usr/local/etc/httpd/,
 mais vous pouvez le changer pour juste /etc/httpd/. Et le r�pertoire
 principal du serveur (o� sont conserv�es les pages HTML) par d�faut
 est /usr/local/etc/httpd/htdocs/, mais j'appr�cie le r�pertoire
 /home/httpd/html (le d�faut de Red Hat pour Apache). Si vous devez
 utiliser su-exec (voir les options sp�ciales plus bas) vous pouvez
 �galement d�sirer changer le r�pertoire. Le r�pertoire principal peut
 �galement �tre chang� � partir des fichiers de config. Mais il est
 �galement bon de le compiler, juste au cas o� Apache ne puisse pas
 trouver ou lire les fichiers de configuration. Tout le reste doit �tre
 chang� � partir des fichiers de configuration.  Lancez enfin make pour
 compiler Apache.

 Si vous avez des probl�mes au sujet de fichiers d'inclusion manquants,
 v�rifiez les points suivants. V�rifiez que vous avez les ent�tes du
 noyau (fichiers include) install�s pour votre version du noyau.
 V�rifiez �galement que vous avez ces liens symboliques install�s:


      /usr/include/linux doit �tre un lien sur /usr/src/linux/include/linux
      /usr/include/asm doit �tre un lien sur /usr/src/linux/include/asm
      /usr/src/linux doit �tre un lien sur les sources de Linux (ex.linux-2.0.30)




 Les liens peuvent �tre cr��s avec ln -s, cel� fonctionnera comme la
 commande cp � part qu'il fera un lien ((ln -s SOURCE DESTINATION).

 Lorsque make a termin� il doit y avoir un ex�cutable nomm� httpd dans
 le r�pertoire. Il est n�cessaire de le d�placer dans un r�pertoire
 bin.  /usr/sbin ou /usr/local/sbin seraient de bons choix.

 Copiez les sous-r�pertoires conf, logs, et icons des sources vers
 l'emplacement du serveur. Renommez ensuite trois des fichiers du sous-
 r�pertoire conf pour vous d�barasser de l'extension -dist ((ex.
 httpd.conf-dist devient httpd.conf).

 Il y a aussi divers programmes de support qui sont inclus avec Apache.
 Ils sont dans le r�pertoire support et doivent �tre compil�s et
 install�s s�par�ment/ La plupart d'entre eux peuvent �tre cr��s en
 utilisant le makefile de leur r�pertoire (ce qui est fait lorsque vous
 lancez le script principal Configure). Vous n'avez besoin d'aucun
 d'entre eux pour utiliser Apache, mais certains rendent le travail des
 administrateurs plus simple.


 77..33..  CCoonnffiigguurreerr

 Maintenant vous devez avoir quatre fichiers dans votre sous-r�pertoire
 conf de l'emplacement du serveur. Le fichier httpd.conf met en place
 le daemon du serveur (num�ro de port, utilisateur, etc). Le srm.conf
 sp�cifie l'arborescence pour les documents principaux, les actions
 sp�ciales, etc. Le access.conf sp�cifie les conditions de base pour
 l'acc�s. Finalement, le mime.types indique au serveur quel type mime
 il doit envoyer au navigateur pour quelle extension.

 Les fichiers de configuration sont assez bien document�s (ils sont
 pleins de commentaires), tant que vous comprenez le langage. Vous
 devriez les lire attentivement avant de mettre votre serveur en
 marche. Chaque option de configuration est couvert dans la
 documentation Apache.

 Le fichier mime.types n'est pas r�ellement un fichier de
 configuration.  Il est utilis� par le serveur pour traduire les
 extensions des fichiers en types mime � envoyer au navigateur. La
 plupart des types mime communs sont d�j� dans le fichier. La majorit�
 des gens ne devrait pas �diter ce fichier.  Au fil du temps, de plus
 en plus de types mime seront ajout�s pour supporter de nouveaux
 programmes. La meilleure chose � faire sera de prendre un nouveau
 fichier mime.types (et peut-�tre une nouvelle version du serveur) � ce
 moment l�.

 Souvenez vous toujours que lorsque vous changez les fichiers de
 configuration vous devez relancer Apache ou lui envoyer le signal
 SIGHUP avec kill pour que les changements prennent effet. V�rifiez que
 vous envoyez le signal au process parent et non aux process enfants.
 Le parent a g�n�ralement le chiffre id le plus faible. L'id du process
 du parent est �galement dans le fichier httpd.pid du r�pertoire log.
 Si vous envoyez accidentellement le signal � un des process enfants,
 le process stoppera et le parent le relancera.

 Je ne vous d�taillerai pas la configuration d'Apache.  Je me
 contenterai de parler des probl�mes sp�cifiques, des choix � faire, et
 des options sp�ciales.

 Je recommande chaudement que tous les utilisateurs parcourent le
 chapitre sur la s�curit� dans la documentation Apache. Elle est
 �galement disponible sur le site web d'Apache �
 <http://www.apache.org/docs/mics/security_tips.html>.


 77..44..  HH��bbeerrggeerr ddeess sseerrvveeuurrss wweebb vviirrttuueellss

 L'h�bergement virtuel existe lorsqu'un seul ordinateur dispose de plus
 d'un nom de domaine. L'ancienne m�thode �tait d'avoir une adresse IP
 pour chaque site virtuel. La nouvelle m�thode utilise une seule
 adresse IP, mais cel� ne fonctionne pas correctement avec les
 navigateurs qui ne supportent pas le HTTP 1.1.

 Ma recommandation pour les sites commerciaux est de conserver un
 h�bergement virtuel bas� sur plusieurs IP jusqu'� ce que la majorit�
 des gens disposent de navigateurs supportant HTTP 1.1 (donnez leur un
 an ou deux). Ceci vous donne �galement une impression plus compl�te
 d'h�bergement virtuel. Alors que les deux m�thodes peuvent vous donner
 des possibilit�s de courrier virtuel (est ce que quelqu'un peut
 confirmer?), seul l'h�bergement virtuel bas� IP peut �galement vous
 donner un serveur FTP virtuel.

 S'il s'agit d'un club ou d'une page personnelle, vous pouvez envisager
 l'h�bergement virtuel par IP partag�e.  Ce devrait �tre moins cher que
 l'h�bergement bas� IP et vous �conomiserez de pr�cieuses addresses IP.

 Vous pouvez �galement m�langer les h�bergements virtuels par IP fixes
 et par IP partag�es sur le m�me serveur. Pour plus d'information sur
 l'h�bergement virtuel voyez Apacheweek sur
 <http://www.apacheweek.com/features/vhost>.


 77..44..11..  HH��bbeerrggeemmeenntt vviirrttuueell bbaass�� IIPP

 Pour cette m�thode chaque site virtuel dispose de sa propre adresse
 IP. En fonction de l'adresse IP � laquelle la requ�te a �t� envoy�e,
 Apache et d'autres programmes d�terminent quel domaine desservir.
 C'est un incroyable gaspillage d'adresses IP. Prenez par exemple
 l'ensemble de serveurs o� est conserv� mon domaine virtuel. Ils ont
 plus de 35.000 comptes virtuels, ce qui signifie 35.000 adresses IP.
 Pourtant je crois qu'aux derniers comptes ils avaient moins de 50
 serveurs r�els.

 La configuration se fait en deux parties. La premi�re consiste �
 rendre Linux capable de reconna�tre plus d'une adresse IP. La seconde
 est de configurer apache pour servir les sites virtuels.

 La premi�re �tape pour rendre Linux capable d'accepter plusieurs
 adresses IP consiste � compiler un nouveau noyau. Ceci fonctionne
 mieux avec la s�rie des noyaux 2.0 (ou sup�rieure). Vous devrez
 inclure le support pour "IP networking" et "IP aliasing". Si vous avez
 besoin d'aide pour la compilation du noyau voyez le kernel howto
 <http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html>, ou sa version
 fran�aise sur  <http://www.freenix.org/linux/HOWTO/Kernel-HOWTO.html>.

 Vous devrez ensuite sp�cifier la configuration de  chaque interface au
 lancement du syst�me. Si vous utilisez la distribution Red Hat, ceci
 peut �tre fait � partir du panneau de contr�le. Lancez X-Window en
 tant que super-utilisateur, vous devriez voir un panneau de contr�le.
 Double-cliquez sur "network configuration" (configuration r�seau).
 Allez ensuite sur le panneau des interfaces et choisissez votre carte
 r�seau. Ensuite cliquez sur alias en bas de l'�cran. Rentrez les
 informations et cliquez sur "done". Ceci devra �tre fait pour chaque
 site virtuel / adresse IP.

 Si vous utilisez une autre distribution vous pouvez avoir � le faire
 manuellement. Vous pouvez simplement mettre les commandes dans le
 fichier rc.local de /etc/rc.d (en r�alit� vous devriez les mettre avec
 toutes celles concernant le r�seau). Vous devrez avoir une commande
 ifconfig et route pour chaque p�riph�rique. Les adresses en alias sont
 constitu�es � partir du p�riph�rique principal. Par exemple eth0
 aurait les alias eth0:0, eth0:1, eth0:2, etc. Voici un exemple de
 configuration d'un alias:


      ifconfig eth0:0 192.168.1.57
      route add -host 192.168.1.57 dev eth0:0




 Vous pouvez �galement ajouter une adresse de broadcast et un netmask �
 la commande ifconfig. Si vous avez beaucoup d'alias vous pouvez
 vouloir programmer une boucle pour vous faciliter le travail. Pour
 plus d'informations voyez le IP alias mini howto <http://sun
 site.unc.edu/LDP/HOWTO/mini/IP-Alias.html> ou sa version fran�aise �
 <http://www.freenix.org/HOWTO/mini/IP-Alias.html>.

 Vous devrez ensuite configurer votre serveur de noms (DNS) pour
 desservir ces nouveaux domaines. Et si vous ne poss�dez pas d�j� les
 noms de domaine, vous devrez contacter l'Internic
 <http://www.internic.net> pour enregistrer les noms de domaines. Voyez
 le DNS-howto pour plus d'informations sur la configuration de votre
 DNS.

 Pour finir, vous devrez configurer Apache de mani�re � desservir
 correctement le domaine virtuel. Ceci se fait dans le fichier de
 configuration httpd.conf pr�s de la fin. Ils vous donnent un exemple
 sur la fa�on de proc�der. Toutes les commandes sp�cifiques au site
 virtuel sont plac�es entre les marqueurs virtualhost. Vous pouvez
 mettre � peu pr�s n'importe quelle commande ici.  G�n�ralement vous
 devrez placer diff�rents r�pertoires pour le serveur, le r�pertoire
 script, et les fichiers de log. Vous pouvez avoir un nombre quasi-
 illimit� de sites virtuels en ajoutant d'autres marqueurs virtualhost.

 Dans de rares cas, vous pouvez avoir � lancer des serveurs s�par�s si
 une directive est n�cessaire pour un site virtuel, mais n'est pas
 accept�e dans les marqueurs du site virtuel. Ceci se fait en utilisant
 la directive bindaddress. Chaque serveur aura un nom et des fichiers
 de configuration diff�rents. Chaque serveur r�pondra � une seule
 adresse IP, sp�cifi�e par la directive bindaddress. C'est un
 gaspillage incroyable de ressources syst�me.


 77..44..22..  HH��bbeerrggeemmeenntt vviirrttuueell ppaarr IIPP ppaarrttaagg��ee

 C'est une nouvelle m�thode pour l'h�bergement virtuel. Elle utilise
 une adresse IP unique, r�servant les adresses IP aux vraies machines
 (et pas les virtuelles). Dans l'exemple cit� plus haut, ces 30.000
 sites virtuels utiliseraient seulement 50 adresses IP (une pour chaque
 machine).  Ceci est fait en utilisant le nouveau protocole HTTP 1.1.
 Le navigateur dit au serveur quel site il d�sire lorsqu'il envoie la
 demande. Le probl�me est que les navigateurs qui ne supportent pas
 HTTP 1.1 obtiendront la page principale du serveur, qui peut �tre
 configur�e pour donner la liste des sites virtuels disponibles. Ceci
 ruine toute l'illusion de l'h�bergement virtuel. L'illusion que vous
 avez votre propre serveur.

 La configuration est bien plus simple que pour l'h�bergement virtuel
 bas� sur IP. Vous aurez toujours besoin d'obtenir de l'Internic votre
 domaine  et de configurer votre DNS. Cette fois-ci, le DNS pointe sur
 la m�me adresse IP que le domaine original. Ensuite Apache se
 configure comme pr�c�demment. Puisque vous utilisez la m�me adresse IP
 dans les marqueurs virtualhost, Apache sait que vous d�sirez
 l'h�bergement virtuel par IP partag�e.

 Il y a plusieurs solutions pour les anciens navigateurs. Je vais vous
 expliquer la meilleure. Tout d'abord vous devrez cr�er vos pages
 principales comme pour un serveur virtuel (soit bas� IP, soit par IP
 partag�e). Ceci lib�re la page principale pour un lien listant tous
 vos sites virtuels. Ensuite vous devrez cr�er une sortie cach�e pour
 les anciens navigateurs. On le r�alise en utilisant la directive
 ServerPath pour chaque site virtuel de la directive virtualhost. Par
 exemple en ajoutant ServerPath /monsite/ � www.monsite.com, les
 anciens navigateurs pourront acc�der au site par
 www.monsite.com/monsite/. Ensuite mettez dans la page par d�faut du
 serveur principal un message qui les incitera poliment � se procurer
 un nouveau navigateur, et listera les liens sur toutes les sorties
 cach�es des sites que vous h�bergez sur cette machine. Lorsqu'un
 ancien navigateur acc�dera au site, l'utilisateur sera renvoy� � la
 page principale, et aura un lien sur la page correcte. Les nouveaux
 navigateurs ne verront jamais la page principale et iront directement
 sur les sites virtuels. Vous devez veiller � n'avoir que des liens
 relatifs � l'int�rieur de chaque site web, car les pages seront
 demand�es � partir de deux URL diff�rentes (www.monsite.com et
 www.monsite.com/monsite/).

 J'esp�re que je ne vous ai pas embrouill� ici, mais ce n'est pas d'une
 compr�hension simple. Apr�s tout, vous devriez peut-�tre envisager
 l'h�bergement bas� IP. Une explication tr�s similaire se trouve sur le
 site web d'apache �  <http://www.apache.org/manual/host.html>.

 Si quelqu'un dispose d'un pointeur sympathique pour l'h�bergement par
 IP partag�e, j'aimerais le conna�tre. Il serait agr�able de conna�tre
 le pourcentage de navigateurs qui supportent le HTTP 1.1, et d'avoir
 une liste des navigateurs et des versions qui supportent HTTP 1.1.


 77..55..  SSccrriippttss CCGGII

 Il existe deux m�thodes diff�rentes pour donner � vos utilisateurs la
 possibilit� d'utiliser des scripts CGI. La premi�re est de consid�rer
 tout fichier se terminant par .cgi comme un script CGI. La seconde est
 de cr�er des r�pertoires de scripts (g�n�ralement nomm�s cgi-bin).
 Vous pouvez utiliser les deux m�thodes �galement. Quelle que soit la
 m�thode utilis�e vos scripts doivent �tre ex�cutables par n'importe
 qui (chmod 711). En donnant � vos utilisateurs l'acc�s aux scripts,
 vous cr�ez un gros risque de s�curit�. Fa�tes proprement votre travail
 afin de minimiser les risques concernant la s�curit�.

 Je pr�f�re la premi�re m�thode, sp�cialement pour les scripts
 complexes.  Ceci vous autorisera � mettre les scripts dans n'importe
 quel r�pertoire.  J'aime mettre mes scripts au m�me endroit que les
 pages web qui s'en servent. Pour les sites avec beaucoup de scripts,
 c'est beaucoup mieux que d'avoir un r�pertoire plein de scripts. La
 configuration est simple. Tout d'abord supprimez le commentaire du
 marqueur .cgi � la fin du fichier srm.conf. Ensuite v�rifiez que tous
 vos r�pertoires ont les marqueurs option ExecCGI ou All dans le
 fichier access.conf.

 Cr�er un r�pertoire de scripts est consid�r� comme plus s�r.  Pour
 cr�er un r�pertoire de scripts, vous utilisez la directive ScriptAlias
 dans le fichier srm.conf. Le premier argument est l'alias, et le
 second le r�pertoire r�el. Par exemple ScriptAlias /cgi-bin/
 /usr/httpd/cgi-bin/ rend le r�pertoire /usr/httpd/cgi-bin capable de
 contenir des scripts ex�cutables. Ce r�pertoire sera utilis� chaque
 fois quelqu'un demandera le r�pertoire /cgi-bin/. Pour des raisons de
 s�curit� vous devez �galement changer les propri�t�s du r�pertoire
 pour Options none, AllowOveride none dans le fichier access.conf
 (supprimer simplement les commentaires de l'exemple donn�). Egalement
 ne placez pas vos r�pertoires de scripts � l'int�rieur de la m�me
 arborescence que les r�pertoires de pages web. Par exemple, si vous
 servez les pages � partir de /home/httpd/html/, ne cr�ez pas le
 r�pertoire de scripts en tant que /home/httpd/html/cgi-bin; mais
 plut�t /home/httpd/cgi-bin.

 Si vous d�sirez que vos utilisateurs disposent de leurs propres
 r�pertoires de scripts vous pouvez utiliser plusieurs commandes
 ScriptAlias. Les sites virtuels doivent avoir cette commande
 ScriptAlias dans leurs directives virtualhost.  Est ce que quelqu'un
 conna�t un moyen simple pour autoriser les utilisateurs � avoir leur
 propre r�pertoire cgi-bin sans utiliser des commandes individuelles
 ScriptAlias ?


 77..66..  RR��ppeerrttooiirreess WWeebb ddeess UUttiilliissaatteeuurrss

 Il y a deux m�thodes diff�rentes pour g�rer les r�pertoires web des
 utilisateurs. La premi�re est d'avoir un sous-r�pertoire dans les
 r�pertoires des utilisateurs (g�n�ralement public_html).  La seconde
 est d'avoir une aborescence enti�rement diff�rente pour les
 r�pertoires web.  Pour ces deux m�thodes v�rifiez les options d'acc�s
 aux r�pertoires dans le fichier access.conf.

 La premi�re m�thode est configur�e par d�faut dans apache. Lorsqu'une
 demande pour /~bob/ arrive, Apache regarde dans le r�pertoire
 public_html du r�pertoire principal de bob. Vous pouvez changer ce
 r�pertoire avec la directive UserDir dans le fichier srm.conf. Ce
 r�pertoire doit �tre lisible et ex�cutable par tout le monde.  Cette
 m�thode cr�e un risque pour la s�curit� car le r�pertoire principal
 des utilisateurs doit �tre ex�cutable par toute personne afin
 qu'Apache puisse y acc�der.

 La seconde m�thode est facile � configurer. Vous devez juste changer
 la directive UserDir dans le fichier srm.conf. Il y a beaucoup de
 formats diff�rents; vous pouvez voir la documentation d'Apache pour
 clarification. Si vous voulez que chaque utilisateur dispose de son
 propre r�pertoire sous /home/httpd/, vous utiliserez UserDir
 /home/httpd. Ensuite lorsqu'une demande arrivera pour /~bob/, Apache
 la traduira par /home/httpd/bob/. Ou si vous avez un sous-r�pertoire
 dans le r�pertoire de bob vous pouvez utiliser UserDir
 /home/httpd/*/html. Ceci traduira en /home/httpd/bob/html/ et vous
 autorisera � avoir aussi un r�pertoire de script (par exemple
 /home/httpd/bob/cgi-bin/).


 77..77..  MMooddee dd��mmoonn ccoonnttrree mmooddee IInneettdd

 Il y a deux m�thodes pour faire tourner Apache. L'une est d'avoir un
 d�mon qui tourne tout le temps (Apache appelle ceci standalone). La
 seconde est celle du super-serveur inetd.

 Le mode d�mon est de loin sup�rieur au mode inetd. Apache est
 configur� pour le mode d�mon par d�faut. La seule raison d'utiliser le
 mode d'inetd est pour les applications tr�s peu utilis�es, comme les
 tests de scripts en interne, l'intranet d'une petite compagnie, etc.
 Le mode inetd �conomisera de la m�moire car apache ne sera charg� que
 lorsqu'il sera demand�. Seul le d�mon inetd restera en m�moire.

 Si vous n'utilisez pas tr�s souvent apache vous pouvez le conserver en
 mode d�mon et le lancer lorsque vous en avez besoin. Ensuite vous le
 supprimez lorsque vous avez termin� (soyez s�r de bien supprimer le
 processus parent et non pas un des enfants).

 Pour configurer le mode inetd vous devrez �diter quelques fichiers.
 Tout d'abord /etc/services, regardez si http est d�j� pr�sent. S'il
 n'y est pas, alors ajoutez ceci:


      http    80/tcp




 Le placer juste apr�s 79 (finger) serait un bon endroit. Ensuite vous
 devez �diter le fichier /etc/inetd.conf  et ajouter la ligne pour
 Apache:


      http    stream  tcp     nowait  root    /usr/sbin/httpd httpd

 Changez le chemin si vous avez Apache � un autre endroit. et le second
 httpd n'est pas une erreur; le d�mon inetd en a besoin. Si vous
 n'utilisez pas habituellement le d�mon inetd, vous pouvez vouloir com�
 menter toutes les autres lignes du fichier afin de ne pas activer les
 autres services (FTP, finger, telnet, et beaucoup d'autres choses qui
 sont g�n�ralement lanc�es par ce d�mon).

 Si le d�mon inetd est d�j� lanc� (inetd), alors vous devez lui envoyer
 le signal SIGHUP (par kill; voyez la page de manuel de kill pour plus
 d'infos) ou relancer l'ordinateur pour que les changements soient
 effectifs.  Si vous n'avez pas lanc� inetd alors vous pouvez le lancer
 manuellement. Vous devez �galement l'ajouter � vos fichiers
 d'initialisation afin qu'il soit charg� au d�marrage du syst�me (le
 fichier rc.local serait un bon choix).


 77..88..  AAuuttoorriisseerr lleess ccoommmmaannddeess ppuutt eett ddeelleettee

 Les nouveaux outils de publication web supportent cette nouvelle
 m�thode d'envoi des pages web par http (� la place de FTP). Certains
 de ces produits ne supportent m�me plus le FTP! Apache supporte cette
 m�thode, mais il manque d'un script pour se charger des requ�tes. Ce
 script pourrait �tre un gros trou de s�curit�, soyez certain de ce que
 vous fa�tes avant de tenter d'en �crire ou d'en installer un.

 Si quelqu'un conna�t un script qui fonctionne fa�tes le moi savoir et
 j'incluerai l'adresse ici.

 Pour plus d'informations voyez l'article d'Apacheweek �
 <http://www.apacheweek.com/features/put>.


 77..99..  AAuutthheennttiiffiiccaattiioonn ddee ll''UUttiilliissaatteeuurr // CCoonnttrr��llee ddeess AAcccc��ss

 Il s'agit de l'une de mes options pr�f�r�es. Elle vous autorise �
 prot�ger un r�pertoire ou un fichier par un mot de passe sans utiliser
 de script CGI. Elle vous autorise �galement � interdire ou � autoriser
 l'acc�s sur la base de l'adresse IP ou du nom de domaine du client.
 C'est une sp�cificit� tr�s int�ressante pour �carter les cr�tins de
 votre messagerie et de vos livres d'or (vous trouvez l'IP ou le nom de
 domaine dans vos fichiers de log).

 Pour permettre l'authentification de l'utilisateur, le r�pertoire doit
 avoir AllowOverrides AuthConfig dans le fichier access.conf. Pour
 permettre le contr�le d'acc�s (par domaine ou adresse IP)
 AllowOverrides Limit doit �tre mis pour ce r�pertoire.

 La configuration du r�pertoire n�cessite de placer un fichier
 .htaccess dans le r�pertoire. Pour l'authentification de l'utilisateur
 il est �galement utilis� avec un .htpasswd et optionnellement un
 fichier .htgroup. Ces fichiers peuvent �tre partag�s pour de multiples
 fichiers .htaccess si vous le d�sirez.

 Pour des raisons de s�curit� je recommande que chacun utilise ces
 directives dans ses fichier access.conf:



      <files ~ "/\.ht">
      order deny,allow
      deny from all
      </files>




 Si vous n'�tes pas l'administrateur du syst�me vous pouvez �galement
 l'ajouter dans votre fichier .htaccess si AllowOverride Limit est
 configur� pour votre r�pertoire. Cette directive interdira � quiconque
 de regarder dans vos fichiers de contr�le d'acc�s (.htaccess,
 .htpasswd, etc).

 Il y a de nombreux types de fichiers et d'options qui peuvent �tre
 utilis�s avec le contr�le d'acc�s. Toutefois, d�crire ces fichiers
 d�passe le propos de ce document. Pour les informations sur la
 configuration de l'authentification des utilisateurs voyez l'article
 d'Apacheweek �  <http://www.apacheweek.com/features/userauth> ou les
 pages de la NCSA �
 <http://hoohoo.ncsa.uiuc.edu/docs-1.5/tutorials/user.html>.


 77..1100..  ssuu--eexxeecc

 su-exec lance les scripts CGI avec l'identit� du propri�taire du
 script. Normalement, ils sont lanc�s avec la m�me identit� que le
 serveur web (g�n�ralement nobody). Ceci permet aux utilisateurs de
 rendre leurs propres fichiers accessibles par les scripts, sans mettre
 ces fichiers en �criture pour tout le monde (un trou de s�curit�).
 Mais si vous ne fa�tes pas attention, vous pouvez avoir un trou encore
 plus gros en utilisant le code su-exec.  Celui-ci effectue des
 contr�les de s�curit� avant d'ex�cuter les scripts, mais si vous le
 configurez de mani�re incorrecte vous aurez un trou de s�curit�.

 Le code su-exec n'est pas pour les amateurs. Ne l'utilisez pas si vous
 ne savez pas ce que vous fa�tes. Vous pouvez vous retrouver avec un
 gros probl�me de s�curit�, vos utilisateurs pouvant obtenir des acc�s
 super-utilisateurs.  Ne modifiez pas le code quelle qu'en soit la
 raison. Lisez attentivement toute la documentation. Le code su-exec
 est intentionnellement difficile � configurer afin d'�viter
 l'utilisation par des amateurs (tout doit �tre fait � la main, il n'y
 a pas de script d'installation).

 Le code su-exec se trouve dans le r�pertoire support des sources. Tout
 d'abord vous devez �diter le fichier suexec.h pour votre syst�me.
 Ensuite vous devez compiler le code su-exec avec cette commande:


      gcc suexec.c -o suexec




 Copiez ensuite l'ex�cutable suexec dans le r�pertoire appropri�.
 Apache le place par d�faut dans /usr/local/etc/httpd/sbin/. Ceci peut
 �tre chang� en �ditant le fichier httpd.h dans les sources d'Apache et
 en recompilant Apache. Apache regardera seulement dans ce r�pertoire,
 il ne cherchera pas ailleurs. Le fichier doit �tre la propri�t� du
 super-utilisateur (chown root suexec) et les permissions doivent �tre
 chang�es (chmod 4711 suexec).  Enfin relancez Apache, il doit vous
 donner un message sur la console indiquant que su-exec est utilis�.

 Les scripts CGI doivent �tre rendus ex�cutables par tous comme
 d'habitude.  Ils seront automatiquement lanc�s par le possesseur du
 script CGI. Si vous changez les permissions, les scripts CGI ne
 fonctionneront pas. Si le r�pertoire ou le fichier est en �criture par
 tous ou par un groupe, le script ne fonctionnera pas. Il ne faut pas
 lancer de script poss�d� par un utilisateur syst�me (root, bin, etc.).
 Pour les autres conditions de s�curit� qui doivent �tre remplies,
 voyez la documentation de su-exec. Si vous avez des probl�mes voyez le
 fichier de log de su-exec nomm� cgi.log.


 Su-exec ne fonctionne pas si vous lancez Apache par inetd, il
 fonctionne seulement en mode d�mon. Ceci sera corrig� dans la
 prochaine version en ce qu'il n'y aura pas de mode inetd. Si vous
 aimez jouer avec le code source, vous pouvez �diter le fichier
 http_main.c. Vous pouvez vous d�barrasser de la ligne o� Apache
 annonce qu'il utilise le su-exec wrapper (ce qui est faussement
 indiqu� en t�te de chaque message).

 Lisez attentivement la documentation d'Apache sur su-exec. Elle est
 inclue dans les sources et est disponible sur le site web d'Apache �
 <http://www.apache.org/docs/suexec.html>.


 77..1111..  IImmaaggeemmaappss

 Apache peut g�rer des cartes graphiques du c�t� du serveur. Ce que
 l'on appelle "Imagemaps" sont des images dans des pages web qui
 envoient les utilisateurs � divers emplacements, selon l'endroit o�
 ils cliquent.  Pour utiliser les imagemaps v�rifiez que le module
 imagemap est install� (c'est un des modules par d�faut). Ensuite vous
 devez supprimer le commentaire de la ligne .map � la fin du fichier
 srm.conf.  Maintenant, tous les fichiers se terminant en .map seront
 des fichiers d'imagemap. Les fichiers imagemap d�limitent diff�rentes
 aires sur l'image associ�es chacune � un lien diff�rent. Apache
 utilise des fichiers d'aires au format standard NCSA. Voici un exemple
 utilisant un fichier d'aire dans une page web:


      <a href="/map/mapfile.map">
      <img src="picture.gif" ISMAP>
      </a>




 Dans cette exemple mapfile.map est le fichier d'aires, et picture.gif
 est l'image cliquable.

 Il y a de nombreux programmes qui peuvent g�n�rer des fichiers d'aires
 compatibles NCSA ou vous pouvez les cr�er vous-m�me. Pour une
 discussion plus d�taill�e sur les imagemaps et les fichiers d'aires
 voyez l'article d'Apacheweek �
 <http://www.apacheweek.com/features/imagemaps>.


 77..1122..  SSSSII//XXSSSSII

 Les Server Side Includes (SSI) ajoutent un contenu dynamique � des
 pages web qui sinon seraient statiques. Les clauses d'inclusion sont
 ins�r�es dans les pages web en tant que commentaires. Le serveur web
 les ex�cute ensuite et passe les r�sultats au serveur web. SSI peut
 ajouter des en-t�tes et des pieds de page aux documents, ajouter la
 date � laquelle le document a �t� modifi� pour la derni�re fois,
 ex�cuter une commande syst�me ou un script CGI. avec le tout nouveau
 eXtended Server Side Includes (XSSI) vous pouvez faire bien plus. XSSI
 ajoute les variables et les instructions de contr�le (if, else, etc).
 C'est quasiment comme travailler avec un langage de programmation.

 L'analyse syntaxique de tous les fichiers relativement aux commandes
 SSI utiliserait beaucoup de ressources syst�me. C'est pourquoi il faut
 distinguer les fichiers HTML normaux de ceux qui contiennent les
 commandes SSI. Ceci se fait g�n�ralement en changeant l'extension des
 fichiers HTML utilisant SSI.  Habituellement on utilise l'extension
 .shtml.


 Pour utiliser SSI/XSSI, v�rifiez tout d'abord que le module des
 includes est install�. Editez ensuite srm.conf et supprimez les
 commentaires des directives AddType et AddHandler pour les fichiers
 .shtml. Enfin, vous devez configurer Options Includes pour tous les
 r�pertoires o� vous d�sirez ex�cuter des fichiers SSI/XSSI. Ceci se
 fait dans le fichier access.conf. Maintenant, tous les fichiers avec
 l'extension .shtml seront analys�s relativement aux commandes
 SSI/XSSI.

 Un autre moyen de faire fonctionner les inclusions est d'utiliser la
 directive XBitHack. Si vous l'activez, il regardera si le fichier est
 ex�cutable par l'utilisateur. Si il l'est et que Options Includes est
 autoris� pour le r�pertoire, alors le fichier sera trait� comme un
 fichier SSI. Ceci fonctionne seulement pour les fichiers dont le type
 mime est text/html (fichiers .html .htm). Ceci n'est pas la meilleure
 m�thode.

 Il y a un risque pour la s�curit� en autorisant SSI � ex�cuter des
 commandes syst�mes et des scripts CGI. Toutefois il est possible de
 bloquer cette possibilit� avec la directire Option IncludesNOEXEC au
 lieu de Option Includes dans le fichier access.conf. Toutes les autres
 commandes SSI fonctionneront encore.

 Pour plus d'informations voyez la documentation d'Apache mod_includes
 qui se trouve dans les sources. Elle est �galement disponible sur le
 site web �  <http://www.apache.org/docs/mod/mod_include.html>.

 Pour une discussion plus d�taill�e de l'impl�mentation SSI/XSSI voyez
 l'article d'Apacheweek �  <http://www.apacheweek.com/features/ssi>.

 Pour plus d'informations sur les commandes SSI voyez la documentation
 de la NCSA �
 <http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html>.

 Pour plus d'informations sur les commandes XSSI allez sur
 <ftp://pageplus.com/pub/hsf/xssi/xssi-1.1.html>.


 77..1133..  SSyysstt��mmee mmoodduullaaiirree

 Les fonctionnalit�s d'Apache peuvent �tre �tendues quasiment �
 l'infini avec les modules.  Il existe d�ja beaucoup de modules. Seuls
 les modules d'int�r�t g�n�ral sont inclus dans Apache. Pour des
 pointeurs vers les modules existants allez voir le

 Apache Module Registry � <http://www.zyzzyva.com/module_registry/>.

 Pour les informations sur la programmation des modules voyez
 <http://www.zyzzyva.com/module_registry/reference/>


 88..  AAjjoouuttss aauu sseerrvveeuurr wweebb

 D�sol�, cette section n'a pas encore �t� �crite.

 A venir bient�t: mSQL, PHP/FI, cgiwrap, Fast-cgi, MS frontpage
 extensions, et beaucoup d'autres.


 99..  DDooccuummeennttss pplluuss aavvaanncc��ss


 Vous devriez �galement consulter l'Intranet-Server HOWTO; de plus, un
 certain nombre de livres et de documents sont disponibles.


 99..11..  LLiivvrreess ddee cchheezz OO''RReeiillllyy && AAssssoocciiaatteess

 A mon avis O'Reilly & Associates �ditent les meilleures r�f�rences
 techniques de la plan�te. Ils concentrent leurs efforts sur des sujets
 comme l'Internet, Unix et la programmation. Ils commencent tout
 doucement avec beaucoup d'exemples et lorsque vous terminez le livre,
 vous �tes un expert.  Je pense que vous pouvez arr�ter m�me si vous
 avez seulement lu la moiti� du livre. Ils ajoutent �galement un peu
 d'humour � des sujets qui sinon seraient lassants.

 Ils disposent d'excellents livres sur HTML, PERL, la programmation
 CGI, Java, JavaScript, C/C++, Sendmail, Linux et beaucoup d'autres. De
 plus les sujets changeant rapidement (comme le HTML) sont mis � jour
 et r�vis�s tout les six mois environ. Visitez donc le site web
 d'O'Reilly & Associates <http://www.ora.com/> ou arr�tez vous chez
 votre libraire local pour plus d'informations.

 Et rappellez vous que s'il n'est pas marqu� O'Reilly & Associates sur
 la couverture, c'est probablement quelqu'un d'autre qui l'a �crit.


 99..22..  IInntteerrnneett RReeqquueesstt FFoorr CCoommmmeennttss ((RRFFCC))


 �  RFC1866 written by T. Berners-Lee and D. Connolly, "Hypertext
    Markup Language - 2.0", 11/03/1995

 �  RFC1867 writtenm by E. Nebel and L. Masinter, "Form-based File
    Upload in HTML", 11/07/1995

 �  RFC1942 written by D. Raggett, "HTML Tables", 05/15/1996

 �  RFC1945 by T. Berners-Lee, R. Fielding, H. Nielsen, "Hypertext
    Transfer Protocol -- HTTP/1.0", 05/17/1996.

 �  RFC1630 by T. Berners-Lee, "Universal Resource Identifiers in WWW:
    A Unifying Syntax for the Expression of Names and Addresses of
    Objects on the Network as used in the World-Wide Web", 06/09/1994

 �  RFC1959 by T. Howes, M. Smith, "An LDAP URL Format", 06/19/1996