  Linux WWW-HOWTO
  M. Poet, poet@linuxports.com;
  Version franaise par Arnaud Launay, alaunay@free.fr
  v0.85, 21 Aot 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 prvu pour
  tre un manuel dtaill mais une vue d'ensemble et un bon pointeur
  vers des informations complmentaires.
  ______________________________________________________________________

  Table des matires






















































  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 diffrentes.
     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 Hberger des serveurs web virtuels
        7.4.1 Hbergement virtuel bas IP
        7.4.2 Hbergement virtuel par IP partage
     7.5 Scripts CGI
     7.6 Rpertoires Web des Utilisateurs
     7.7 Mode dmon contre mode Inetd
     7.8 Autoriser les commandes put et delete
     7.9 Authentification de l'Utilisateur / Contrle des Accs
     7.10 su-exec
     7.11 Imagemaps
     7.12 SSI/XSSI
     7.13 Systme modulaire

  8. Ajouts au serveur web

  9. Documents plus avancs

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


  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn

  La plupart des gens sont passs sous Linux car ils cherchaient une
  plateforme vritablement _a_d_a_p_t__e _ _l_'_I_n_t_e_r_n_e_t.  De plus, des
  institutions, des universits, des organisations  but non lucratif,
  et de petites entreprises dsirent 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 indiqus 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
  tranfrer plus rapidement et minimiser la charge du serveur principal.


  11..11..  CCooppyyrriigghhtt

  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 Gnrale GNU publie
  par la Free Software Foundation (version 2 ou bien toute autre version
  ultrieure choisie par vous).

  Cette documentation est distribue car potentiellement utile, mais
  SSAANNSS AAUUCCUUNNEE GGAARRAANNTTIIEE, ni explicite ni implicite, y compris les
  garanties de ccoommmmeerrcciiaalliissaattiioonn ou dd''aaddaappttaattiioonn ddaannss uunn bbuutt ssppcciiffiiqquuee.
  Reportez-vous  la Licence Publique Gnrale GNU pour plus de dtails.

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

  Les marques dposes sont la proprit de leurs propritaires
  respectifs.


  11..22..  cchhooss

  Tout cho est le bienvenu. Je ne prtend pas tre un expert.  Une
  partie des informations provient de sites web mal crits; il est trs
  probable qu'il y ait des erreurs et des omissions. Cependant, vrifiez
  que vous avez la dernire version avant d'envoyer des corrections; ce
  pourrait tre fix dans la version suivante (voyez la section qui suit
  pour savoir o trouver la dernire version). Envoyez vos ractions 
  poet@linuxports.com.


  11..33..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

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


  22..  CCoonnffiigguurreerr uunn cclliieenntt WWWWWW ((aannttiiqquuiitt))


       Notez que la section suivante est trs ancienne et sa
       dernire mise  jour remonte  1997. Cette section est con
       serve dans un but uniquement historique.  Toutes les dis
       tributions majeures de Linux sont livres avec Netscape et
       Lynx.  Ce sont les deux navigateurs les plus populaires pour
       le systme d'exploitation Linux. Si ces navigateurs ne sont
       pas installs, rfrez vous  leurs sections respectives
       pour savoir comment les rcuprer.


  Le chapitre qui suit est ddi  la configuration des navigateurs.
  Vous tes libres de me contacter si votre navigateur favori n'est pas
  prsent 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 destine  vous aider  vous dcider en
  faveur d'un navigateur, et vous donne les informations principales sur
  chaque navigateur. La section dtails est destine  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.


  22..11..  SSuurrvvooll


     ````NNaavviiggaattoorr//CCoommmmuunniiccaattoorr''''
        Netscape Navigator est le seul navigateur Linux mentionn ici
        qui peut utiliser les dernires nouveauts 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 mmoire. Il utilise
        galement un cache spar pour tous les utilisateurs, ce qui
        consomme de l'espace disque.

        Netscape est actuellement un logiciel OpenSource et peut tre
        rcupr sur ftp.netscape.com.


     ````LLyynnxx''''
        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
        dornavant les tableaux, la couleur (via les bibliothques
        curses) et les frames.


          Note sur le support frame de Lynx: Le support frame de
          Lynx est trs limit, il vous avertira de la prsence des
          frames et vous donnera leur titre pour que vous les
          slectionniez en tant que lien. Cependant, les titres des
          frames sont gnralement non descriptifs par facilit
          pour l'auteur; ceci peut tre gnant.



     KKffmm
        Kfm fait partie de K Desktop Environment (KDE). KDE est un
        systme qui tourne au-dessus de X-Window. Il vous offre de
        nombreuses fonctionnalits comme le copier - coller, les sons,
        une corbeille et une apparence unifie.  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 bientt. Kfm peut-tre
        utilis sans KDE, mais vous aurez besoin des bibliothques
        utilises par KDE. Pour plus d'informations sur KDE et Kfm,
        visitez le site web de KDE   <http://www.kde.org>.


     ````EEmmaaccss''''
        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 matrise ne vient que lentement au dbut, car
        vous devez apprendre ce que font toutes les touches. La version
        X-Window est plus facile  utiliser, car vous accedez  la
        plupart des fonctionnalits par des menus. Un autre inconvnient
        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.


     NNCCSSAA MMoossaaiicc
        Mosaic est un navigateur X-Window dvelopp 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 intressant
        sujet d'tude pour quelqu'un qui veut dvelopper un nouveau
        navigateur.


     AAmmaayyaa
        Amaya est le navigateur X-Window exprimental du W3C pour le
        HTML 3.2. Toutefois il supporte tous les standards HTML 3.2. Il
        supporte galement quelques unes des nouveauts du HTML 4.0. Il
        supporte les tableaux, les formulaires, les cartes graphiques
        (imagemap) ct client, l'envoi des pages sur un serveur distant
        par la mthode put du protocole http, les images gifs, jpegs et
        png. C'est  la fois un navigateur et un outil d'apprentissage.
        La dernire version publique est la 1.0 beta. La version 1.1
        beta est en tests internes et doit sortir bientt. Pour plus
        d'informations voyez le site d'Amaya 
        <http://www.w3.org/Amaya/>.  Il peut tre tlcharg de
        <ftp://ftp.w3.org/pub/Amaya-LINUX-ELF-1.0b.tar.gz>.


     QQwweebb
        Qweb est encore un autre navigateur X-Window basique. Il
        supporte les tableaux, les formulaires, et les cartes graphiques
        ct serveur. La dernire 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
  fonctionnalits. Je suggre personnellement l'utilisation de Netscape
  5.xAlpha, car mme s'il s'agit de logiciel en version alpha, il est
  assez stable et implmente vraiment les standards de bien meilleure
  faon que ne le font les 4.x.


  33..  LLyynnxx

  Lynx est un des plus petits (environ 600 ko d'excutable) 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 systme 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 mmoire supplmentaire pour
  faire tourner ce petit browser.

  33..11..  OO ll''oobbtteenniirr ??

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

  La dernire 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:

     LLyynnxx LLiinnkkss
        <http://www.crl.com/~subir/lynx.html>

     LLyynnxx PPaaggeess
        <http://lynx.browser.org>

     LLyynnxx HHeellpp PPaaggeess
        <http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html>
        (les mmes que celle donnes par lynx --help et ? dans lynx).

  Note: les pages d'aide de Lynx ont rcemment dmnag. 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 spcificit la plus importante de Lynx par rapport 
  tous les autres navigateurs web est sa capacit de rcupration
  automatique des fichiers.N'importe qui peut crire un script qui
  rcuprera 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 donnes dans les
  formulaires HTML en mode batch (non interactif), en redirigeant
  simplement l'entre standard et en utilisant l'option _-_p_o_s_t___d_a_t_a.

  Pour en savoir plus les spcificits exceptionnelles de Lynx, il
  suffit de regarder les fichiers d'aide et les pages de man. Si vous
  utilisez une option spciale de Lynx que vous dsireriez voir ajouter
   ce document, fates le moi savoir.


  44..  EEmmaaccss--WW33

  Il y a diffrentes 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 dpart par Lucid Emacs) est une version qui tourne uniquement sous
  X-Window. Il dispose de nombreuses spcificits de type X-Window (de
  meilleurs menus, ...).


  44..11..  OO ll''oobbtteenniirr ??

  La plupart des distributions incluent GNU Emacs.

  Le GNU emacs le plus rcent 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 dernire 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/
  55..  NNeettssccaappee NNaavviiggaattoorr//CCoommmmuunniiccaattoorr


  55..11..  DDeess vveerrssiioonnss eett ddeess ooppttiioonnss ddiiffffrreenntteess..

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

  Il y a 3 versions diffrentes 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 confrences 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 sige).

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

  La premire est l'installation complte ou basique. L'installation
  complte vous installe tout. L'installation de base vous en donne
  suffisamment pour commencer. Vous pouvez charger les composants
  supplmentaires lorsque vous en avez besoin (comme le support
  multimedia et netscaster). Ces composants peuvent tre installs par
  l'utilitaire 'smart update' de Netscape (aprs l'installation allez
  dans 'help->software updates'). Actuellement, l'installation complte
  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 scurises
  (SSL).  La version d'export dispose seulement d'une encryption 40
  bits, et est la seule version autorise en dehors des US et du Canada.

  La dernire version de Netscape Navigator/Communicator/Communicator
  Pro est la 4.6.1. Il y a deux versions diffrentes pour Linux, une
  pour l'ancienne srie des noyaux 1.2 et une pour les nouveaux 2.0. Si
  vous n'avez pas de noyau 2.0 je vous suggre de le mettre  jour; il y
  a de nombreuses nouveauts dans le nouveau noyau.

  Des beta version sont galement disponibles. Si vous essayez une
  version beta, elles expireront gnralement plus ou moins un mois
  aprs !

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


  55..22..  OO ll''oobbtteenniirr ??


  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 slection. Lorsqu'on
  demande une version Linux, on rfrence par rapport au noyau (la
  plupart des gens doivent maintenant utiliser le 2.0). Si vous n'tes
  pas sr 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 dsirez une version export vous pouvez la charger directement
  des serveurs FTP de Netscape. Leurs serveurs FTP sont galement plus 
  jour. Par exemple la premire 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 pchant sur le
  site FTP  <ftp://ftp.netscape.com/pub/communicator/>.

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


  55..33..  IInnssttaallllaattiioonn

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

  Tout d'abord, dcompactez l'archive dans un rpertoire temporaire.
  Lancez ensuite le script ns-install (tapez ./ns-install).  Crez
  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 systme,  de faon  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"




  Aprs 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 faon.

  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).


  66..  MMeettttrree eenn ppllaaccee uunn sseerrvveeuurr WWWWWW

  Cette section contient des informations sur les diffrents 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 prsentation ont t
  rcupres sur divers sites web.  S'il y a des informations
  incorrectes ou manquantes, veuillez me le faire savoir.


  Pour une documentation plus technique des mcanismes du http, voyez
  les RFCs mentionnes dans le chapitre "Documents plus avancs" de ce
  HOWTO.

  Je prfre utiliser le serveur Apache. Il a la plupart des options que
  vous avez jamais dsir et il est gratuit ! J'admets que cette section
  est fortement oriente vers Apache. J'ai dcid de concentrer mes
  efforts sur la section Apache plutt que de me disperser parmi tous
  les autres serveurs web. Je pourrais couvrir d'autres serveurs web
  dans le futur.


  66..11..  SSuurrvvooll


     CCeerrnn hhttttppdd
        Ce fut le premier serveur web. Il a t dvelopp 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 dernire version est la 3.0.  Pour plus
        d'informations visitez la page mre 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).


     NNCCSSAA HHTTTTPPdd
        Le serveur NCSA HTTPd est le pre d'Apache (le dveloppement a
        donn naissance  deux serveurs diffrents). Toutefois les
        fichiers de configuration sont trs 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 remplaant du serveur NCSA (mme
        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 dernire version
        est la 1.5.2a. Pour plus d'informations voyez le site du NCSA 
        <http://hoohoo.ncsa.uiuc.edu>.


     ````AAppaacchhee''''
        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 caractristiques. Apache est trs flexible et
        dispose de trs, trs nombreuses caractristiques. Apache et ses
        drivs totalisent 55% de tous les domaines web.  Il y a plus de
        3 928 112 serveurs Apache actifs (source Aot 1999, Netcraft
        survey <http://www.netcraft.com/survey/>).

        La version officielle d'Apache ne contient pas le SSL, mais il y
        a deux drivs 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 (base sur une
        vieille version d'Apache).  Stronghold est le numro deux des
        serveurs scuriss derrire 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 dvelopp
        hors des US, il est donc disponible avec du SSL en 128 bits
        partout.

        Apache-SSL est une implmentation 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/>.


     NNeettssccaappee FFaasstt TTrraacckk SSeerrvveerr
        Fast Track a t dvelopp 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 rponse).  Les serveurs Netscape comptent pour
        6.11% (en augmentation) de tous les serveurs web (source Aot
        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 dernire 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/>


     WWNN WN possde de nombreuses caractristiques qui le rendent
        attractif.  Tout d'abord il est plus petit que les serveurs
        CERN, NCSA HTTPd, Apache. Il dispose galement de nombreuses
        options intgres qui ncessiteraient sinon des CGI. Par exemple
        la recherche sur le site, une fonctionnalit amliore
        d'inclusion de fichiers au niveau du serveur (server side
        include). Il peut galement dcompresser/compresser des fichiers
        de faon transparente grce  son option de filtrage. Il peut
        galement rcuprer 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/>.


     AAOOLLsseerrvveerr
        AOLserver est dvelopp 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 donnes. Les pages peuvent
        interroger une base de donnes par les commandes Structured
        Query Language (SQL). La base de donnes 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 mme 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/>.


     CCLL--HHTTTTPP
        CL-HTTP est l'abrg 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 nanmoins l'utilisation de l'un des
  deux pr-cits.

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


  77..  AAppaacchhee

  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 dtails 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 dveloppeurs. Sans vouloir
  discrditer les dveloppeurs, ils sont un peu difficiles  comprendre
  si vous ne connaissez pas la terminologie.


  77..11..  OO ll''oobbtteenniirr ??

  Apache est inclus dans les distributions Red Hat, Slackware, et
  OpenLinux.  Cependant il se peut que ce ne soit pas la dernire
  version, ce sont des binaires trs fiables. La mauvaise nouvelle est
  que vous aurez  vivre avec leurs choix de rpertoires (qui sont
  totalement diffrents les uns des autres et de ceux par dfaut
  d'Apache).

  Le source est disponible sur le site web d'Apache 
  <http://www.apache.org/dist/>.  Les binaires sont galement
  disponibles au mme 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 gnralement dans le rpertoire 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 mme. 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 scurit. Un binaire
  inconnu peut avoir une "sortie cache" pour les hackers, ou une
  correction instable peut crasher votre systme. Ceci vous donnera
  galement plus de contrle sur les modules compils, et vous
  autorisera  changer les rpertoires par dfaut. 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 ;)


  77..22..  CCoommppiilleerr eett IInnssttaalllleerr

  Tout d'abord dcompactez l'archive dans un rpertoire temporaire.
  Ensuite placez vous dans le rpertoire src. Editez alors le fichier
  Configuration si vous dsirez ajouter des modules spciaux. Les
  modules les plus communment utiliss sont dj inclus. Il n'y a pas
  besoin de changer les rgles ou le makefile pour Linux. Lancez ensuite
  le script shell Configure (./Configure). Vrifiez 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
  rpertoires par dfaut.  L'emplacement du serveur (o sont conservs
  les fichiers de configuration) par dfaut est /usr/local/etc/httpd/,
  mais vous pouvez le changer pour juste /etc/httpd/. Et le rpertoire
  principal du serveur (o sont conserves les pages HTML) par dfaut
  est /usr/local/etc/httpd/htdocs/, mais j'apprcie le rpertoire
  /home/httpd/html (le dfaut de Red Hat pour Apache). Si vous devez
  utiliser su-exec (voir les options spciales plus bas) vous pouvez
  galement dsirer changer le rpertoire. Le rpertoire 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 problmes au sujet de fichiers d'inclusion manquants,
  vrifiez les points suivants. Vrifiez que vous avez les enttes du
  noyau (fichiers include) installs pour votre version du noyau.
  Vrifiez galement que vous avez ces liens symboliques installs:


       /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 crs 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 excutable nomm httpd dans
  le rpertoire. Il est ncessaire de le dplacer dans un rpertoire
  bin.  /usr/sbin ou /usr/local/sbin seraient de bons choix.

  Copiez les sous-rpertoires conf, logs, et icons des sources vers
  l'emplacement du serveur. Renommez ensuite trois des fichiers du sous-
  rpertoire conf pour vous dbarasser 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 rpertoire support et doivent tre compils et
  installs sparment/ La plupart d'entre eux peuvent tre crs en
  utilisant le makefile de leur rpertoire (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.


  77..33..  CCoonnffiigguurreerr

  Maintenant vous devez avoir quatre fichiers dans votre sous-rpertoire
  conf de l'emplacement du serveur. Le fichier httpd.conf met en place
  le daemon du serveur (numro de port, utilisateur, etc). Le srm.conf
  spcifie l'arborescence pour les documents principaux, les actions
  spciales, etc. Le access.conf spcifie les conditions de base pour
  l'accs. 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 documents (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 rellement 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 dj 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 ajouts 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. Vrifiez que
  vous envoyez le signal au process parent et non aux process enfants.
  Le parent a gnralement le chiffre id le plus faible. L'id du process
  du parent est galement dans le fichier httpd.pid du rpertoire log.
  Si vous envoyez accidentellement le signal  un des process enfants,
  le process stoppera et le parent le relancera.

  Je ne vous dtaillerai pas la configuration d'Apache.  Je me
  contenterai de parler des problmes spcifiques, des choix  faire, et
  des options spciales.

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


  77..44..  HHbbeerrggeerr ddeess sseerrvveeuurrss wweebb vviirrttuueellss

  L'hbergement virtuel existe lorsqu'un seul ordinateur dispose de plus
  d'un nom de domaine. L'ancienne mthode tait d'avoir une adresse IP
  pour chaque site virtuel. La nouvelle mthode 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
  hbergement 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 complte
  d'hbergement virtuel. Alors que les deux mthodes peuvent vous donner
  des possibilits de courrier virtuel (est ce que quelqu'un peut
  confirmer?), seul l'hbergement 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'hbergement virtuel par IP partage.  Ce devrait tre moins cher que
  l'hbergement bas IP et vous conomiserez de prcieuses addresses IP.

  Vous pouvez galement mlanger les hbergements virtuels par IP fixes
  et par IP partages sur le mme serveur. Pour plus d'information sur
  l'hbergement virtuel voyez Apacheweek sur
  <http://www.apacheweek.com/features/vhost>.


  77..44..11..  HHbbeerrggeemmeenntt vviirrttuueell bbaass IIPP

  Pour cette mthode chaque site virtuel dispose de sa propre adresse
  IP. En fonction de l'adresse IP  laquelle la requte a t envoye,
  Apache et d'autres programmes dterminent 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 rels.

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

  La premire tape pour rendre Linux capable d'accepter plusieurs
  adresses IP consiste  compiler un nouveau noyau. Ceci fonctionne
  mieux avec la srie des noyaux 2.0 (ou suprieure). 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
  franaise sur  <http://www.freenix.org/linux/HOWTO/Kernel-HOWTO.html>.

  Vous devrez ensuite spcifier la configuration de  chaque interface au
  lancement du systme. Si vous utilisez la distribution Red Hat, ceci
  peut tre fait  partir du panneau de contrle. Lancez X-Window en
  tant que super-utilisateur, vous devriez voir un panneau de contrle.
  Double-cliquez sur "network configuration" (configuration rseau).
  Allez ensuite sur le panneau des interfaces et choisissez votre carte
  rseau. 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 ralit vous devriez les mettre avec
  toutes celles concernant le rseau). Vous devrez avoir une commande
  ifconfig et route pour chaque priphrique. Les adresses en alias sont
  constitues  partir du priphrique 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 franaise 
  <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 possdez pas dj 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 manire  desservir
  correctement le domaine virtuel. Ceci se fait dans le fichier de
  configuration httpd.conf prs de la fin. Ils vous donnent un exemple
  sur la faon de procder. Toutes les commandes spcifiques au site
  virtuel sont places entre les marqueurs virtualhost. Vous pouvez
  mettre  peu prs n'importe quelle commande ici.  Gnralement vous
  devrez placer diffrents rpertoires pour le serveur, le rpertoire
  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 spars si
  une directive est ncessaire pour un site virtuel, mais n'est pas
  accepte dans les marqueurs du site virtuel. Ceci se fait en utilisant
  la directive bindaddress. Chaque serveur aura un nom et des fichiers
  de configuration diffrents. Chaque serveur rpondra  une seule
  adresse IP, spcifie par la directive bindaddress. C'est un
  gaspillage incroyable de ressources systme.


  77..44..22..  HHbbeerrggeemmeenntt vviirrttuueell ppaarr IIPP ppaarrttaaggee

  C'est une nouvelle mthode pour l'hbergement virtuel. Elle utilise
  une adresse IP unique, rservant 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 dsire lorsqu'il envoie la
  demande. Le problme est que les navigateurs qui ne supportent pas
  HTTP 1.1 obtiendront la page principale du serveur, qui peut tre
  configure pour donner la liste des sites virtuels disponibles. Ceci
  ruine toute l'illusion de l'hbergement virtuel. L'illusion que vous
  avez votre propre serveur.

  La configuration est bien plus simple que pour l'hbergement 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 mme adresse IP que le domaine original. Ensuite Apache se
  configure comme prcdemment. Puisque vous utilisez la mme adresse IP
  dans les marqueurs virtualhost, Apache sait que vous dsirez
  l'hbergement virtuel par IP partage.

  Il y a plusieurs solutions pour les anciens navigateurs. Je vais vous
  expliquer la meilleure. Tout d'abord vous devrez crer vos pages
  principales comme pour un serveur virtuel (soit bas IP, soit par IP
  partage). Ceci libre la page principale pour un lien listant tous
  vos sites virtuels. Ensuite vous devrez crer une sortie cache pour
  les anciens navigateurs. On le ralise 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 accder au site par
  www.monsite.com/monsite/. Ensuite mettez dans la page par dfaut du
  serveur principal un message qui les incitera poliment  se procurer
  un nouveau navigateur, et listera les liens sur toutes les sorties
  caches des sites que vous hbergez sur cette machine. Lorsqu'un
  ancien navigateur accdera 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'intrieur de chaque site web, car les pages seront
  demandes  partir de deux URL diffrentes (www.monsite.com et
  www.monsite.com/monsite/).

  J'espre que je ne vous ai pas embrouill ici, mais ce n'est pas d'une
  comprhension simple. Aprs tout, vous devriez peut-tre envisager
  l'hbergement bas IP. Une explication trs 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'hbergement par
  IP partage, j'aimerais le connatre. Il serait agrable de connatre
  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.


  77..55..  SSccrriippttss CCGGII

  Il existe deux mthodes diffrentes pour donner  vos utilisateurs la
  possibilit d'utiliser des scripts CGI. La premire est de considrer
  tout fichier se terminant par .cgi comme un script CGI. La seconde est
  de crer des rpertoires de scripts (gnralement nomms cgi-bin).
  Vous pouvez utiliser les deux mthodes galement. Quelle que soit la
  mthode utilise vos scripts doivent tre excutables par n'importe
  qui (chmod 711). En donnant  vos utilisateurs l'accs aux scripts,
  vous crez un gros risque de scurit. Fates proprement votre travail
  afin de minimiser les risques concernant la scurit.

  Je prfre la premire mthode, spcialement pour les scripts
  complexes.  Ceci vous autorisera  mettre les scripts dans n'importe
  quel rpertoire.  J'aime mettre mes scripts au mme endroit que les
  pages web qui s'en servent. Pour les sites avec beaucoup de scripts,
  c'est beaucoup mieux que d'avoir un rpertoire plein de scripts. La
  configuration est simple. Tout d'abord supprimez le commentaire du
  marqueur .cgi  la fin du fichier srm.conf. Ensuite vrifiez que tous
  vos rpertoires ont les marqueurs option ExecCGI ou All dans le
  fichier access.conf.

  Crer un rpertoire de scripts est considr comme plus sr.  Pour
  crer un rpertoire de scripts, vous utilisez la directive ScriptAlias
  dans le fichier srm.conf. Le premier argument est l'alias, et le
  second le rpertoire rel. Par exemple ScriptAlias /cgi-bin/
  /usr/httpd/cgi-bin/ rend le rpertoire /usr/httpd/cgi-bin capable de
  contenir des scripts excutables. Ce rpertoire sera utilis chaque
  fois quelqu'un demandera le rpertoire /cgi-bin/. Pour des raisons de
  scurit vous devez galement changer les proprits du rpertoire
  pour Options none, AllowOveride none dans le fichier access.conf
  (supprimer simplement les commentaires de l'exemple donn). Egalement
  ne placez pas vos rpertoires de scripts  l'intrieur de la mme
  arborescence que les rpertoires de pages web. Par exemple, si vous
  servez les pages  partir de /home/httpd/html/, ne crez pas le
  rpertoire de scripts en tant que /home/httpd/html/cgi-bin; mais
  plutt /home/httpd/cgi-bin.

  Si vous dsirez que vos utilisateurs disposent de leurs propres
  rpertoires 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
  connat un moyen simple pour autoriser les utilisateurs  avoir leur
  propre rpertoire cgi-bin sans utiliser des commandes individuelles
  ScriptAlias ?


  77..66..  RRppeerrttooiirreess WWeebb ddeess UUttiilliissaatteeuurrss

  Il y a deux mthodes diffrentes pour grer les rpertoires web des
  utilisateurs. La premire est d'avoir un sous-rpertoire dans les
  rpertoires des utilisateurs (gnralement public_html).  La seconde
  est d'avoir une aborescence entirement diffrente pour les
  rpertoires web.  Pour ces deux mthodes vrifiez les options d'accs
  aux rpertoires dans le fichier access.conf.

  La premire mthode est configure par dfaut dans apache. Lorsqu'une
  demande pour /~bob/ arrive, Apache regarde dans le rpertoire
  public_html du rpertoire principal de bob. Vous pouvez changer ce
  rpertoire avec la directive UserDir dans le fichier srm.conf. Ce
  rpertoire doit tre lisible et excutable par tout le monde.  Cette
  mthode cre un risque pour la scurit car le rpertoire principal
  des utilisateurs doit tre excutable par toute personne afin
  qu'Apache puisse y accder.

  La seconde mthode est facile  configurer. Vous devez juste changer
  la directive UserDir dans le fichier srm.conf. Il y a beaucoup de
  formats diffrents; vous pouvez voir la documentation d'Apache pour
  clarification. Si vous voulez que chaque utilisateur dispose de son
  propre rpertoire 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-rpertoire
  dans le rpertoire de bob vous pouvez utiliser UserDir
  /home/httpd/*/html. Ceci traduira en /home/httpd/bob/html/ et vous
  autorisera  avoir aussi un rpertoire de script (par exemple
  /home/httpd/bob/cgi-bin/).


  77..77..  MMooddee ddmmoonn ccoonnttrree mmooddee IInneettdd

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

  Le mode dmon est de loin suprieur au mode inetd. Apache est
  configur pour le mode dmon par dfaut. La seule raison d'utiliser le
  mode d'inetd est pour les applications trs peu utilises, comme les
  tests de scripts en interne, l'intranet d'une petite compagnie, etc.
  Le mode inetd conomisera de la mmoire car apache ne sera charg que
  lorsqu'il sera demand. Seul le dmon inetd restera en mmoire.

  Si vous n'utilisez pas trs souvent apache vous pouvez le conserver en
  mode dmon et le lancer lorsque vous en avez besoin. Ensuite vous le
  supprimez lorsque vous avez termin (soyez sr 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 dj prsent. S'il
  n'y est pas, alors ajoutez ceci:


       http    80/tcp




  Le placer juste aprs 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 dmon inetd en a besoin. Si vous
  n'utilisez pas habituellement le dmon 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 gnralement lances par ce dmon).

  Si le dmon inetd est dj 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 dmarrage du systme (le
  fichier rc.local serait un bon choix).


  77..88..  AAuuttoorriisseerr lleess ccoommmmaannddeess ppuutt eett ddeelleettee

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

  Si quelqu'un connat un script qui fonctionne fates le moi savoir et
  j'incluerai l'adresse ici.

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


  77..99..  AAuutthheennttiiffiiccaattiioonn ddee ll''UUttiilliissaatteeuurr // CCoonnttrrllee ddeess AAccccss

  Il s'agit de l'une de mes options prfres. Elle vous autorise 
  protger un rpertoire ou un fichier par un mot de passe sans utiliser
  de script CGI. Elle vous autorise galement  interdire ou  autoriser
  l'accs sur la base de l'adresse IP ou du nom de domaine du client.
  C'est une spcificit trs intressante pour carter les crtins 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 rpertoire doit
  avoir AllowOverrides AuthConfig dans le fichier access.conf. Pour
  permettre le contrle d'accs (par domaine ou adresse IP)
  AllowOverrides Limit doit tre mis pour ce rpertoire.

  La configuration du rpertoire ncessite de placer un fichier
  .htaccess dans le rpertoire. Pour l'authentification de l'utilisateur
  il est galement utilis avec un .htpasswd et optionnellement un
  fichier .htgroup. Ces fichiers peuvent tre partags pour de multiples
  fichiers .htaccess si vous le dsirez.

  Pour des raisons de scurit 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 systme vous pouvez galement
  l'ajouter dans votre fichier .htaccess si AllowOverride Limit est
  configur pour votre rpertoire. Cette directive interdira  quiconque
  de regarder dans vos fichiers de contrle d'accs (.htaccess,
  .htpasswd, etc).

  Il y a de nombreux types de fichiers et d'options qui peuvent tre
  utiliss avec le contrle d'accs. Toutefois, dcrire ces fichiers
  dpasse 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>.


  77..1100..  ssuu--eexxeecc

  su-exec lance les scripts CGI avec l'identit du propritaire du
  script. Normalement, ils sont lancs avec la mme identit que le
  serveur web (gnralement 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 scurit).
  Mais si vous ne fates pas attention, vous pouvez avoir un trou encore
  plus gros en utilisant le code su-exec.  Celui-ci effectue des
  contrles de scurit avant d'excuter les scripts, mais si vous le
  configurez de manire incorrecte vous aurez un trou de scurit.

  Le code su-exec n'est pas pour les amateurs. Ne l'utilisez pas si vous
  ne savez pas ce que vous fates. Vous pouvez vous retrouver avec un
  gros problme de scurit, vos utilisateurs pouvant obtenir des accs
  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 rpertoire support des sources. Tout
  d'abord vous devez diter le fichier suexec.h pour votre systme.
  Ensuite vous devez compiler le code su-exec avec cette commande:


       gcc suexec.c -o suexec




  Copiez ensuite l'excutable suexec dans le rpertoire appropri.
  Apache le place par dfaut 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 rpertoire,
  il ne cherchera pas ailleurs. Le fichier doit tre la proprit du
  super-utilisateur (chown root suexec) et les permissions doivent tre
  changes (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 excutables par tous comme
  d'habitude.  Ils seront automatiquement lancs par le possesseur du
  script CGI. Si vous changez les permissions, les scripts CGI ne
  fonctionneront pas. Si le rpertoire ou le fichier est en criture par
  tous ou par un groupe, le script ne fonctionnera pas. Il ne faut pas
  lancer de script possd par un utilisateur systme (root, bin, etc.).
  Pour les autres conditions de scurit qui doivent tre remplies,
  voyez la documentation de su-exec. Si vous avez des problmes 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 dmon. 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 dbarrasser de la ligne o Apache
  annonce qu'il utilise le su-exec wrapper (ce qui est faussement
  indiqu en tte 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>.


  77..1111..  IImmaaggeemmaappss

  Apache peut grer des cartes graphiques du ct 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 vrifiez que le module
  imagemap est install (c'est un des modules par dfaut). 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 dlimitent diffrentes
  aires sur l'image associes chacune  un lien diffrent. 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 gnrer des fichiers d'aires
  compatibles NCSA ou vous pouvez les crer vous-mme. Pour une
  discussion plus dtaille sur les imagemaps et les fichiers d'aires
  voyez l'article d'Apacheweek 
  <http://www.apacheweek.com/features/imagemaps>.


  77..1122..  SSSSII//XXSSSSII

  Les Server Side Includes (SSI) ajoutent un contenu dynamique  des
  pages web qui sinon seraient statiques. Les clauses d'inclusion sont
  insres dans les pages web en tant que commentaires. Le serveur web
  les excute ensuite et passe les rsultats au serveur web. SSI peut
  ajouter des en-ttes et des pieds de page aux documents, ajouter la
  date  laquelle le document a t modifi pour la dernire fois,
  excuter une commande systme 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 contrle (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 systme. C'est pourquoi il faut
  distinguer les fichiers HTML normaux de ceux qui contiennent les
  commandes SSI. Ceci se fait gnralement en changeant l'extension des
  fichiers HTML utilisant SSI.  Habituellement on utilise l'extension
  .shtml.


  Pour utiliser SSI/XSSI, vrifiez 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
  rpertoires o vous dsirez excuter des fichiers SSI/XSSI. Ceci se
  fait dans le fichier access.conf. Maintenant, tous les fichiers avec
  l'extension .shtml seront analyss 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
  excutable par l'utilisateur. Si il l'est et que Options Includes est
  autoris pour le rpertoire, 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
  mthode.

  Il y a un risque pour la scurit en autorisant SSI  excuter des
  commandes systmes 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 dtaille de l'implmentation 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>.


  77..1133..  SSyyssttmmee mmoodduullaaiirree

  Les fonctionnalits d'Apache peuvent tre tendues quasiment 
  l'infini avec les modules.  Il existe dja beaucoup de modules. Seuls
  les modules d'intrt gnral 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/>


  88..  AAjjoouuttss aauu sseerrvveeuurr wweebb

  Dsol, cette section n'a pas encore t crite.

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


  99..  DDooccuummeennttss pplluuss aavvaannccss


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


  99..11..  LLiivvrreess ddee cchheezz OO''RReeiillllyy && AAssssoocciiaatteess

  A mon avis O'Reilly & Associates ditent les meilleures rfrences
  techniques de la plante. 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 arrter mme 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 rviss tout les six mois environ. Visitez donc le site web
  d'O'Reilly & Associates <http://www.ora.com/> ou arrtez 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.


  99..22..  IInntteerrnneett RReeqquueesstt FFoorr CCoommmmeennttss ((RRFFCC))


    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


























