                  Java et Jakarta Tomcat sous FreeBSD

  Victoria Chan

   <vkchan@kendryl.net>

  Hiten Pandya

   <hiten@uk.FreeBSD.org>

   Copyright (c) 2002 Victoria Chan, Hiten Pandya

   $FreeBSD: doc/fr_FR.ISO8859-1/articles/java-tomcat/article.sgml,v
   1.4 2002/11/01 22:46:21 gioria Exp $

   Ce document est presente dans l'espoir de rendre plus facile, pour
   quiconque en aurait besoin, la mise en place de Java et son
   fonctionnement sous FreeBSD, avec le moins d'ennuis possibles.
   Preparez vous `a passer une journee entiere sur un tel projet
   etant donne que cela prendra du temps `a assembler tous les
   elements et `a les compiler individuellement, puis comme un tout.
   On montrera aussi comment installer les celebres Servlet Jakarta
   Tomcat et JSP container sur le systeme d'exploitation FreeBSD.

   La redistribution du code source (SGML), modifie ou non, et
   compile (HTML, PostScript, etc.) est soumise aux conditions
   suivantes :

    1. Le copyright ci-dessus, la presente liste de conditions et
       l'avertissement qui la suit doivent figurer dans le code
       source.

    2. Le code source distribue sous forme compilee doit faire
       apparaitre le copyright ci-dessus, la presente liste de
       conditions et l'avertissement qui la suit.

   CE DOCUMENT EST FOURNI ``TEL QU'EN L'ETAT'' PAR LE PROJET DE
   DOCUMENTATION FRANC,AISE DE FreeBSD ET IL N'EST DONNE AUCUNE
   GARANTIE, IMPLICITE OU EXPLICITE, QUANT A SON UTILISATION
   COMMERCIALE, PROFESSIONNELLE OU AUTRE. LES COLLABORATEURS DU
   PROJET DE DOCUMENTATION FRANC,AISE DE FreeBSD NE PEUVENT EN AUCUN
   CAS ETRE TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU PREJUDICE
   DIRECT, INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES
   FINANCIeRES DUES AU MANQUE A GAGNER, A L'INTERRUPTION D'ACTIVITES,
   OU LA PERTE D'INFORMATIONS ET AUTRES) DECOULANT DE L'UTILISATION
   DE LA DOCUMENTATION OU DE L'IMPOSSIBILITE D'UTILISER CELLE-CI, ET
   DONT L'UTILISATEUR ACCEPTE L'ENTIERE RESPONSABILITE.

   Version franc,aise de Marc Fonvieille <blackend@FreeBSD.org>.

     --------------------------------------------------------------

1. Introduction

   Le langage de programmation Java naquit le 23 Mai 1995. On
   s'attendrait qu'apres tout ce temps, les applications Java soient
   faciles `a installer et pretes `a fonctionner `a partir d'un
   simple logiciel pre-compile ou porte sur FreeBSD, de ce fait le
   rendant accessible pour les ``masses''. Ce n'est pas le cas,
   malheureusement, car la distribution de Java est controlee tres
   etroitement par Sun Microsystems, qui en interdit la
   redistribution. Toutes les Applets Java doivent etre compilees `a
   partir du code source, ainsi que le Kit de Developpement Java de
   Sun Microsystems. Tous ces ingredients doivent etre melanges
   ensemble dans le bon ordre, assembles, et compiles par
   l'utilisateur final. Avec une telle philosophie de distribution,
   il est de mon opinion que Java sera toujours l'apanage uniquement
   de developpeurs ou de hackers. J'ai certainement trouve cela vrai
   quand j'ai du servir quelques pages .jsp pour un client sur mon
   serveur web, et que j'ai eu besoin de faire fonctionner
   www/jakarta-tomcat avec www/apache13 sur mon systeme FreeBSD.

   L'installation de Tomcat est tout ce qu'il y a de plus simple,
   mais la difficulte je l'ai eue quand j'ai essaye de faire
   fonctionner le Kit de Developpement Java sur FreeBSD 4.X, comme
   Sun Microsystems fournit seulement des binaires pour Linux,
   Solaris et Windows NT. Cela signifie que j'ai du compiler mon
   propre JDK pour FreeBSD. J'ai commence par chercher de la
   documentation sur l'Internet. J'ai rapidement constate qu'il y
   avait plus de code source et de patches que necessaire, mais tres
   peu de documentation sur ce qu'il faut faire apres avoir tout
   recupere.

   Dans cet article, vous trouverez comment installer le Kit de
   Developpement Java pour FreeBSD, et comment le faire fonctionner
   avec Tomcat. Une section reference est egalement fournie pour
   davantage de lecture.

     --------------------------------------------------------------

2. L'environnement Java

   Assurez-vous que vous disposez d'un catalogue des logiciels portes
   recents car make echouera s'il essaye de compiler des sources plus
   anciennes. Vous pouvez mettre `a jour l'integralite du catalogue
   de logiciels portes en utilisant CVSup. Voir
   ../../books/handbook/cvsup.html pour plus d'information. Vous
   pouvez aussi telecharger manuellement les logiciels portes dont
   vous avez besoin de recuperer depuis
   ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/.

     Note : Vous aurez besoin de l'Emulation Linux (Linux-ABI)
     activee dans la configuration de votre noyau. Ajoutez simplement
     l'option suivante `a votre fichier de configuration du noyau et
     recompilez-le. Les instructions sur la compilation d'un noyau
     peuvent etre trouvees dans le manuel de FreeBSD.

 options         COMPAT_LINUX

     L'option ci-dessus ajoutera le support Linux-ABI `a votre noyau,
     une fois ce dernier recompile.

   La liste des dependances qui necessitent d'etre installees
   manuellement dans un certain ordre est donnee ci-dessous. Les
   dependances qui sont automatiquement telechargees ne sont pas
   enumerees ici.

     * java/jdk13

     * java/linux-jdk13

     * archivers/gtar

     * archivers/bzip2

     * archivers/unzip

     * archivers/zip

   Vous aurez besoin recuperer ce qui suit:

    1. Telechargez bsd-jdk131-patches-5.tar.gz `a partir de
       http://www.eyesbeyond.com/freebsddom/java/jdk13.html et
       placez-le sous /usr/ports/distfiles.

    2. Ensuite lancez votre navigateur internet et allez sur
       http://java.sun.com/j2se/1.3/download-linux.html et trouvez
       SDK downloads. Cliquez sur le bouton ``continue'' en-dessous
       de ``GNUZIP Tar Shell Script''. Soyez sur d'avoir lu chaque
       mot de la page de licence avant de cliquer sur le bouton
       ``Accept''! Cela vous emmenera sur une page au titre de
       ``Download Java(TM) 2 SDK, Standard Edition 1.3.1_02''.
       Descendez vers le bas de la page et cliquer sur le bouton
       ``HTTP download''. Quand la boite de dialogue ``File
       Download'' s'affiche, soyez sur de cliquer sur le bouton
       ``Open'' plutot que le bouton ``Save''. Une nouvelle boite
       ``File Download'' s'affichera - cette fois-ci choisissez
       ``Save'' et vous serez en mesure de sauvegarder le fichier
       j2sdk-1_3_1_02-linux-i386.bin. Placez le dans
       /usr/ports/distfiles.

    3. Aller sur http://www.sun.com/software/java2/download.html.
       Dans le tableau sous Produce Description, appele Java 2 SDK
       1.3.1, aller sur la cellule de droite et cliquer ``download''.
       Cela vous amenera sur la page ``Sign On'' ou vous devez vous
       identifier si vous avez dej`a un compte, ou vous enregistrer
       pour acceder. Une fois identifie, vous arriverez `a la page
       ``Legal'', ou vous devez accepter la licence; descendez vers
       le bas (en lisant la licence) et cliquez sur le bouton
       ``Continue''. La page suivante est la page ``Receipt''. C'est
       l`a que vous sauverez le fichier demande. Vous serez en mesure
       de choisir l'endroit le plus proche de vous. Cliquer sur
       ``Java 2 SDK, Standard Edition, version 1.3.1''. Sauvez le
       fichier j2sdk-1_3_1-src.tar.gz dans le repertoire
       /usr/ports/distfiles/.

     Note : Il est tres important que vous lisiez l'Accord de Licence
     qui a ete emis par Sun Microsystems Corp. Il y a plusieurs
     restrictions sur l'utilisation de Java, que vous devez
     respecter. Le projet FreeBSD ne prend aucune responsabilites
     pour vos actes.

     N'effacer aucun des fichiers telecharges, car ils seront
     necessaires pour compiler certains logiciels natifs portes pour
     FreeBSD, ce dont on parlera plus tard.

   Maintenant que vous avez rassemble tous les fichiers source et
   logiciels portes, vous devez commencer la compilation par
   java/linux-jdk13:

     # cd /usr/ports/archivers/gtar; make all install clean
     # cd /usr/ports/archivers/unzip; make all install clean
     # cd /usr/ports/archivers/zip; make all install clean

   Et finalement:

     # cd /usr/ports/java/linux-jdk13
     # make all install clean

   Une fois que vous avez compile java/linux-jdk13, vous devez le
   tester, afin d'etre sur qu'il fonctionne comme prevu. Pour cela
   faire:

     # cd /usr/local/linux-jdk1.3.1/bin
     # ./java -version

   La sortie de la commande ci-dessus devrait etre comme suit:

 java version "1.3.1_02"
     Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
     Classic VM (build 1.3.1_02-b02, green threads, nojit)

   Si vous n'avez pas obtenu la reponse correcte, vous devez faire:

     # cd /usr/ports/java/linux-jdk13
     # make deinstall

   Et verifiez que /usr/local ne contient pas un repertoire
   linux-jdk1.3.1 . Si vous trouvez une partie de ce repertoire,
   effacez-le. Relancer la compilation et l'installation pour
   java/linux-jdk13.

   Pour compiler le Kit de Developpement Java 1.3.1 natif pour
   FreeBSD, faire ce qui suit:

    1. Soyez sur d'avoir le fichier j2sdk-1_3_1-src.tar.gz dans votre
       /usr/ports/distfiles. Ce fichier est requis pour appliquer
       l'``ensemble de patches'' aborde ci-dessous.

    2. Vous aurez besoin de telecharger l'``l'ensemble de patches''
       pour compiler le port. Le fichier correspondant est appele
       bsd-jdk131-patches-6.tar.gz. Vous devrez egalement verifier
       l'integrite des fichiers en comparant avec les sommes de
       controle MD5 suivantes. L'ensemble de patches est appele
       Patch-set 6.

 MD5 (bsd-jdk131-patches-6.tar.gz) = 9cade10b81d6034fdd2176bef32bdbf9

       L'ensemble de patches est disponible depuis:
       http://www.eyesbeyond.com/freebsddom/java/index.html

   La derniere procedure discutee precedemment (compiler le jdk)
   prendra du temps.

     --------------------------------------------------------------

3. Configuration de Jakarta Tomcat

  3.1. Vue d'ensemble

   Java devient de plus en plus populaire pour l'elaboration de
   solutions diverses et adaptables independantes de la plateforme.
   Un des besoins croissant de Java est le marche de l'ASP
   (Application Service Provider). Java est la solution parfaite pour
   ce type de marches avec les avantages suivants:

     * Independance de la plateforme

     * Engagement `a echelle industrielle

     * Adaptabilite

     * Performance fiable

     * Distribue, Multi-threade, Securise etc...

   Une technologie tres importante et en pleine croissance qui a
   emergee de Java est JSP (JavaServer Pages).

   JSP (JavaServer Pages) est une technologie cote serveur introduite
   par Sun Microsystems Corp., qui fournit une maniere simple de
   generer du contenu dynamique `a partir de pages HTML. Elle utilise
   les balises XML avec des scriptlets Java pour encapsuler et
   separer la logique de la conception et de l'affichage. Quand une
   page JSP est invoquee, elle est dynamiquement convertie en Servlet
   et traitee par le serveur pour produire la page resultante
   HTML/XML pour le client. Quand JSP est utilise de pair avec
   JavaBeans, il est alors possible de produire des applications
   diverses et adaptables, qui peuvent etre combinees avec la
   puissance et la performance de FreeBSD.

   Tomcat est une implementation open-source des Servlets Java et des
   technologies de pages JavaServer, developpee dans le cadre du
   projet Jakarta `a l'Apache Software Foundation. Tomcat met en
   oeuvre une nouvelle structure Servlet (appelee Catalina) qui est
   basee sur une toute nouvelle architecture avec les specifications
   Servlet 2.3 et JSP 1.2. Il inclut de nombreuses caracteristiques
   supplementaires qui font de lui une plateforme utile pour le
   developpement et le deploiement d'applications et de services web.
   En bref, Tomcat est un serveur d'application ecrit `a 100% en pur
   Java.

   Tomcat est utilise dans de nombreuses situations, et n'est pas
   limite aux Serveurs d'Application. Il fournit une plateforme
   ouverte pour developper des services extensibles de gestion web et
   du contenue. Quand Tomcat est utilise avec un systeme FreeBSD
   optimise, il peut fournir des services hautement fiables et
   rapides.

   Veuillez vous referer `a la section reference pour plus
   d'informations sur Tomcat et JSP. La section suivante demontrera
   comment construire l'``environnement Tomcat'' pour FreeBSD. La
   version de Tomcat utilisee dans ce guide est la 4.0.3. Cette
   version contient la correction de bogues majeurs, et les mises `a
   jour/changements suivants:

     * Specification JSP 1.2

     * Specification Java Servlet 2.3

     * Compatibilite complete avec Java Servlet 2.2 et la
       specification JSP 1.1

     --------------------------------------------------------------

  3.2. L'environnement Tomcat pour FreeBSD

   Il est tres simple d'installer Tomcat sur une machine FreeBSD,
   apres l'installation de l'environnement Java necessaire, ce que
   nous avons fait precedemment.

   Afin d'installer Tomcat sur FreeBSD, suivez la procedure
   ci-dessous:

    1. Suivez les etapes precedentes pour installer l'environnement
       Java necessaire.

    2. Configurez une variable d'environnement JAVA_HOME qui pointe
       sur le repertoire ou vous avez installe le JDK (l'exemple
       suivant pointe sur une version native du JDK).Si vous utilisez
       comme shell sh(1), vous pouvez utilisez la commande suivante:

 # export JAVA_HOME=/usr/local/jdk1.3.1

       Si vous utilisez csh(1) ou un shell compatible, vous devez
       utilisez la commande :

 # setenv JAVA_HOME /usr/local/jdk1.3.1

       Cette variable d'environnement devrait etre rendue permanente
       en l'ajoutant soit dans .profile soit .cshrc, en fonction de
       l'interpreteur de commandes que vous utilisez. Cette variable
       est cruciale pour le fonctionnement de tous programmes Java,
       incluant Tomcat lui-meme.

    3. Telechargez la ``distribution binaire'' de Tomcat sur le site
       de Jakarta, qui est situe `a
       http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/.
       Le fichier `a telecharger est appele
       jakarta-tomcat-4.0.3.tar.gz.

    4. Le fichier compresse et archive que nous avons telecharge `a
       l'etape precedente utilise des ``Extensions GNU'' speciales.
       Afin de le de-archiver et le decompresser, nous aurons besoin
       d'installer GNU Tar (archivers/gtar), en faisant ce qui suit:

 # cd /usr/ports/archivers/gtar  && make all install clean

    5. De-archivez et decompressez le fichier
       jakarta-tomcat-4.0.3.tar.gz dans le repertoire /usr/local et
       renommez le repertoire en tomcat-4.0 pour une reference aisee:

         # cd /usr/local
         # gtar zxvf jakarta-tomcat-4.0.3.tar.gz
         # ls jakarta*
         jakarta-tomcat-4.0.3
         # mv jakarta-tomcat-4.0.3 tomcat-4.0

       Vous pouvez effacer jakarta-tomcat-4.0.3.tar.gz si vous le
       desirez.

     Note : L'installation en utilisant le code source est en dehors
     du cadre de ce document. Veuillez vous referer aux fichiers
     suivants pour un complement d'information sur la compilation `a
     partir des sources, disponibles dans votre repertoire Tomcat:

       * /usr/local/tomcat-4.0/README.txt

       * /usr/local/tomcat-4.0/BUILDING.txt

     --------------------------------------------------------------

  3.3. Utiliser Tomcat - Les bases

   Maintenant que nous avons termine l'installation de Tomcat.
   L'exemple suivant montre comment demarrer le serveur Tomcat:

         # cd /usr/local/tomcat-4.0/bin
         # ./startup.sh  (pour le lancement de Tomcat)

   Vous pouvez verifier si votre serveur Tomcat a demarre en visitant
   l'URL suivante: http://127.0.0.1:8080 ou http://localhost:8080.
   Pour arreter Tomcat:

         # cd /usr/local/tomcat-4.0/bin
         # ./shutdown.sh

   (pour l'arret de Tomcat)

   Les fichiers startup.sh et shutdown.sh sont des interfaces `a la
   procedure executable catalina.sh se trouvant dans le meme
   repertoire; Si vous desirez lancer Tomcat automatiquement au
   demarrage faites:

         # cd /usr/local/etc/rc.d
         # ln -s /usr/local/tomcat-4.0/bin/catalina.sh

   Editez le fichier catalina.sh, et ajoutez ce qui suit au debut du
   fichier (apres la boite de commentaires):

 JAVA_HOME=/usr/local/jdk1.3.1

   Si votre port 8080 est utilise par un autre service, vous pouvez
   le changer en editant le fichier server.xml dans votre repertoire
   conf/ de Tomcat. Dans l'exemple ci-dessous, le port sera change
   pour 80, en supposant qu'il n'y a aucun service tournant sur ce
   port.

         # cd /usr/local/tomcat-4.0/conf
         # fgrep -n 8080 server.xml
         ~65:         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
         ~89:         port="8080" minProcessors="5" maxProcessors="75"
         # cat server.xml | sed s/8080/80/ > server.xml

     --------------------------------------------------------------

4. Reference

   +---------------------------------------------------+
   | Le project Java de FreeBSD                        |
   |---------------------------------------------------|
   | JavaSoft. Home of Java                            |
   |---------------------------------------------------|
   | The Sun Community Source Licensing for Java       |
   |---------------------------------------------------|
   | La page Jakarta Tomcat                            |
   |---------------------------------------------------|
   | Documentation J2SE                                |
   |---------------------------------------------------|
   | La section Java des logiciels portes sous FreeBSD |
   +---------------------------------------------------+

     --------------------------------------------------------------

  4.1. Conclusion

   Finalement, nous sommes `a la fin de l'article et nous disposons
   d'une version de Tomcat qui fonctionne. Nous esperons que vous
   avez appris les bases de l'installation et de la compilation du
   Kit de Developpement Java sur FreeBSD, avec l'installation de la
   distribution binaire du serveur d'application Tomcat publie par
   l'Apache Software Foundation. La section reference contient des
   pointeurs vers des ressources supplementaires sur ce sujet,
   certaines sous forme papier, d'autres disponibles sur l'Internet,
   ou les deux.

   La chose la plus importante est l'espace disque. Je suggere
   d'avoir 700MO ou plus d'espace libre dans /usr. J'espere que cet
   article vous a aide `a sa maniere. Pour les questions, les
   commentaires, les compliments, ou les plaintes, veuillez les
   envoyez `a Victoria Chan.

     --------------------------------------------------------------

        Ce document, ainsi que d'autres peut etre telecharge sur
                   ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions `a propos de FreeBSD, lisez la documentation avant
                 de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
