# Java et Jakarta Tomcat sous FreeBSD

### Victoria Chan

`<vkchan@kendryl.net>`

### Hiten Pandya

`<hiten@uk.FreeBSD.org>`

Copyright © 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 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 `<blackend@FreeBSD.org>`.

[ Multiples pages HTML / Page HTML unique ]

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

- `java/jdk13`

- `java/linux-jdk13`

- `archivers/gtar`

- `archivers/bzip2`

- `archivers/unzip`

- `archivers/zip`

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

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 portés sous FreeBSD

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