Java et Jakarta Tomcat sous FreeBSD

$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 présenté 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. Préparez vous à passer une journée entière sur un tel projet étant donné que cela prendra du temps à assembler tous les éléments et à les compiler individuellement, puis comme un tout. On montrera aussi comment installer les célèbres Servlet Jakarta Tomcat et JSP container sur le système d'exploitation FreeBSD.

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

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

  2. Le code source distribué sous forme compilée doit faire apparaître le copyright ci-dessus, la présente liste de conditions et l'avertissement qui la suit.



CE DOCUMENT EST FOURNI ``TEL QU'EN L'ÉTAT'' PAR LE PROJET DE DOCUMENTATION FRANÇAISE DE FreeBSD ET IL N'EST DONNÉ AUCUNE GARANTIE, IMPLICITE OU EXPLICITE, QUANT À SON UTILISATION COMMERCIALE, PROFESSIONNELLE OU AUTRE. LES COLLABORATEURS DU PROJET DE DOCUMENTATION FRANÇAISE DE FreeBSD NE PEUVENT EN AUCUN CAS ÊTRE TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU PRÉJUDICE DIRECT, INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES FINANCIèRES DUES AU MANQUE À GAGNER, À L'INTERRUPTION D'ACTIVITÉS, OU LA PERTE D'INFORMATIONS ET AUTRES) DÉCOULANT DE L'UTILISATION DE LA DOCUMENTATION OU DE L'IMPOSSIBILITÉ D'UTILISER CELLE-CI, ET DONT L'UTILISATEUR ACCEPTE L'ENTIÈRE RESPONSABILITÉ.

Version française de Marc Fonvieille .


1. Introduction

Le langage de programmation Java naquit le 23 Mai 1995. On s'attendrait qu'après tout ce temps, les applications Java soient faciles à installer et prêtes à fonctionner à partir d'un simple logiciel pré-compilé ou porté sur FreeBSD, de ce fait le rendant accessible pour les ``masses''. Ce n'est pas le cas, malheureusement, car la distribution de Java est contrôlée très étroitement par Sun Microsystems, qui en interdit la redistribution. Toutes les Applets Java doivent être compilées à partir du code source, ainsi que le Kit de Développement Java de Sun Microsystems. Tous ces ingrédients doivent être mélangés ensemble dans le bon ordre, assemblés, et compilés par l'utilisateur final. Avec une telle philosophie de distribution, il est de mon opinion que Java sera toujours l'apanage uniquement de développeurs ou de hackers. J'ai certainement trouvé cela vrai quand j'ai dû 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 système FreeBSD.

L'installation de Tomcat est tout ce qu'il y a de plus simple, mais la difficulté je l'ai eue quand j'ai essayé de faire fonctionner le Kit de Développement Java sur FreeBSD 4.X, comme Sun Microsystems fournit seulement des binaires pour Linux, Solaris et Windows NT. Cela signifie que j'ai dû compiler mon propre JDK pour FreeBSD. J'ai commencé par chercher de la documentation sur l'Internet. J'ai rapidement constaté qu'il y avait plus de code source et de patches que nécessaire, mais très peu de documentation sur ce qu'il faut faire après avoir tout récupéré.

Dans cet article, vous trouverez comment installer le Kit de Développement Java pour FreeBSD, et comment le faire fonctionner avec Tomcat. Une section référence est également fournie pour davantage de lecture.


2. L'environnement Java

Assurez-vous que vous disposez d'un catalogue des logiciels portés récents car make échouera s'il essaye de compiler des sources plus anciennes. Vous pouvez mettre à jour l'intégralité du catalogue de logiciels portés en utilisant CVSup. Voir ../../books/handbook/cvsup.html pour plus d'information. Vous pouvez aussi télécharger manuellement les logiciels portés dont vous avez besoin de récupérer depuis ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/.

Note : Vous aurez besoin de l'Emulation Linux (Linux-ABI) activée dans la configuration de votre noyau. Ajoutez simplement l'option suivante à votre fichier de configuration du noyau et recompilez-le. Les instructions sur la compilation d'un noyau peuvent être trouvées dans le manuel de FreeBSD.

options        COMPAT_LINUX

L'option ci-dessus ajoutera le support Linux-ABI à votre noyau, une fois ce dernier recompilé.

La liste des dépendances qui nécessitent d'être installées manuellement dans un certain ordre est donnée ci-dessous. Les dépendances qui sont automatiquement téléchargées ne sont pas énumérées ici.

Vous aurez besoin récupérer ce qui suit:

  1. Téléchargez bsd-jdk131-patches-5.tar.gz à 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 sûr d'avoir lu chaque mot de la page de licence avant de cliquer sur le bouton ``Accept''! Cela vous emmènera 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 boîte de dialogue ``File Download'' s'affiche, soyez sûr de cliquer sur le bouton ``Open'' plutôt que le bouton ``Save''. Une nouvelle boîte ``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, appelé Java 2 SDK 1.3.1, aller sur la cellule de droite et cliquer ``download''. Cela vous amènera sur la page ``Sign On'' où vous devez vous identifier si vous avez déjà un compte, ou vous enregistrer pour accéder. Une fois identifié, vous arriverez à la page ``Legal'', où 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à que vous sauverez le fichier demandé. 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 répertoire /usr/ports/distfiles/.

Note : Il est très important que vous lisiez l'Accord de Licence qui a été émis par Sun Microsystems Corp. Il y a plusieurs restrictions sur l'utilisation de Java, que vous devez respecter. Le projet FreeBSD ne prend aucune responsabilités pour vos actes.

N'effacer aucun des fichiers téléchargés, car ils seront nécessaires pour compiler certains logiciels natifs portés pour FreeBSD, ce dont on parlera plus tard.

Maintenant que vous avez rassemblé tous les fichiers source et logiciels portés, 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 compilé java/linux-jdk13, vous devez le tester, afin d'être sûr qu'il fonctionne comme prévu. Pour cela faire:

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

La sortie de la commande ci-dessus devrait être 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 réponse correcte, vous devez faire:

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

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

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

  1. Soyez sûr 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'' abordé ci-dessous.

  2. Vous aurez besoin de télécharger l'``l'ensemble de patches'' pour compiler le port. Le fichier correspondant est appelé bsd-jdk131-patches-6.tar.gz. Vous devrez également vérifier l'intégrité des fichiers en comparant avec les sommes de contrôle MD5 suivantes. L'ensemble de patches est appelé 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 dernière procédure discutée précédemment (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'élaboration de solutions diverses et adaptables indépendantes de la plateforme. Un des besoins croissant de Java est le marché de l'ASP (Application Service Provider). Java est la solution parfaite pour ce type de marchés avec les avantages suivants:

  • Indépendance de la plateforme

  • Engagement à échelle industrielle

  • Adaptabilité

  • Performance fiable

  • Distribué, Multi-threadé, Sécurisé etc...

Une technologie très importante et en pleine croissance qui a émergée de Java est JSP (JavaServer Pages).

JSP (JavaServer Pages) est une technologie côté serveur introduite par Sun Microsystems Corp., qui fournit une manière simple de générer du contenu dynamique à partir de pages HTML. Elle utilise les balises XML avec des scriptlets Java pour encapsuler et séparer la logique de la conception et de l'affichage. Quand une page JSP est invoquée, elle est dynamiquement convertie en Servlet et traitée par le serveur pour produire la page résultante HTML/XML pour le client. Quand JSP est utilisé de pair avec JavaBeans, il est alors possible de produire des applications diverses et adaptables, qui peuvent être combinées avec la puissance et la performance de FreeBSD.

Tomcat est une implémentation open-source des Servlets Java et des technologies de pages JavaServer, développée dans le cadre du projet Jakarta à l'Apache Software Foundation. Tomcat met en oeuvre une nouvelle structure Servlet (appelée Catalina) qui est basée sur une toute nouvelle architecture avec les spécifications Servlet 2.3 et JSP 1.2. Il inclut de nombreuses caractéristiques supplémentaires qui font de lui une plateforme utile pour le développement et le déploiement d'applications et de services web. En bref, Tomcat est un serveur d'application écrit à 100% en pur Java.

Tomcat est utilisé dans de nombreuses situations, et n'est pas limité aux Serveurs d'Application. Il fournit une plateforme ouverte pour développer des services extensibles de gestion web et du contenue. Quand Tomcat est utilisé avec un système FreeBSD optimisé, il peut fournir des services hautement fiables et rapides.

Veuillez vous référer à la section référence pour plus d'informations sur Tomcat et JSP. La section suivante démontrera comment construire l'``environnement Tomcat'' pour FreeBSD. La version de Tomcat utilisée dans ce guide est la 4.0.3. Cette version contient la correction de bogues majeurs, et les mises à jour/changements suivants:

  • Spécification JSP 1.2

  • Spécification Java Servlet 2.3

  • Compatibilité complète avec Java Servlet 2.2 et la spécification JSP 1.1


3.2. L'environnement Tomcat pour FreeBSD

Il est très simple d'installer Tomcat sur une machine FreeBSD, après l'installation de l'environnement Java nécessaire, ce que nous avons fait précédemment.

Afin d'installer Tomcat sur FreeBSD, suivez la procédure ci-dessous:

  1. Suivez les étapes précédentes pour installer l'environnement Java nécessaire.

  2. Configurez une variable d'environnement JAVA_HOME qui pointe sur le répertoire où vous avez installé 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 être rendue permanente en l'ajoutant soit dans .profile soit .cshrc, en fonction de l'interpréteur de commandes que vous utilisez. Cette variable est cruciale pour le fonctionnement de tous programmes Java, incluant Tomcat lui-même.

  3. Téléchargez la ``distribution binaire'' de Tomcat sur le site de Jakarta, qui est situé à http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/. Le fichier à télécharger est appelé jakarta-tomcat-4.0.3.tar.gz.

  4. Le fichier compressé et archivé que nous avons téléchargé à l'étape précédente utilise des ``Extensions GNU'' spéciales. Afin de le dé-archiver et le décompresser, nous aurons besoin d'installer GNU Tar (archivers/gtar), en faisant ce qui suit:

    # cd /usr/ports/archivers/gtar  && make all install clean
    
  5. Dé-archivez et décompressez le fichier jakarta-tomcat-4.0.3.tar.gz dans le répertoire /usr/local et renommez le répertoire en tomcat-4.0 pour une référence aisée:

            # 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 désirez.

Note : L'installation en utilisant le code source est en dehors du cadre de ce document. Veuillez vous référer aux fichiers suivants pour un complément d'information sur la compilation à partir des sources, disponibles dans votre répertoire 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 terminé l'installation de Tomcat. L'exemple suivant montre comment démarrer le serveur Tomcat:

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

Vous pouvez vérifier si votre serveur Tomcat a démarré en visitant l'URL suivante: http://127.0.0.1:8080 ou http://localhost:8080. Pour arrêter Tomcat:

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

(pour l'arrêt de Tomcat)

Les fichiers startup.sh et shutdown.sh sont des interfaces à la procédure exécutable catalina.sh se trouvant dans le même répertoire; Si vous désirez lancer Tomcat automatiquement au démarrage 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 début du fichier (après la boîte de commentaires):

JAVA_HOME=/usr/local/jdk1.3.1

Si votre port 8080 est utilisé par un autre service, vous pouvez le changer en éditant le fichier server.xml dans votre répertoire conf/ de Tomcat. Dans l'exemple ci-dessous, le port sera changé 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. Référence


4.1. Conclusion

Finalement, nous sommes à la fin de l'article et nous disposons d'une version de Tomcat qui fonctionne. Nous espérons que vous avez appris les bases de l'installation et de la compilation du Kit de Développement Java sur FreeBSD, avec l'installation de la distribution binaire du serveur d'application Tomcat publié par l'Apache Software Foundation. La section référence contient des pointeurs vers des ressources supplémentaires 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 suggère d'avoir 700MO ou plus d'espace libre dans /usr. J'espère que cet article vous a aidé à sa manière. Pour les questions, les commentaires, les compliments, ou les plaintes, veuillez les envoyez à Victoria Chan.


Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

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