Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tomcat [Le 10/06/2019, 02:01]
193.250.138.66
tomcat [Le 01/09/2019, 09:50] (Version actuelle)
grigouille ancienne révision (Le 03/01/2018, 21:20) restaurée
Ligne 1: Ligne 1:
-{{tag> ​à recycler  ​serveur}}+{{tag>Precise Trusty ​serveur ​VÉTUSTE}}
  
-<note important>​Les dernières versions ne sont plus disponibles dans les dépôts depuis [[Bionic]].+----
  
-Des versions toujours en java sont disponibles sur le site officiels.+====== Apache Tomcat ======
  
-Toutes ​les informations ci-dessous étant pour des versions précédentes ​et disponibles dans [[Xenial]] ou versions antérieures plus soutenues ​ ne sont plus à jour.+**Apache Tomcat** est un  conteneur de servlet [[wpfr>​Java EE|Java EE]]. Issu du projet [[wpfr>​Apache Jakarta|Jakarta]],​ Tomcat est désormais un projet principal de la [[wpfr>​Apache Software Foundation|fondation Apache]]. Tomcat implémente ​les spécifications ​des servlets ​et des [[wpfr>​JavaServer Pages|JSP]] de [[wpfr>​Sun Microsystems]]. Il inclut des outils pour la configuration et la gestion, mais peut également être configuré en éditant des fichiers de configuration XML. Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un [[wpfr>​serveur HTTP]].
  
-Pour information du retrait de Tomcat des dépôts vous référer au rapport du sécurité  ​ 
  
 +<note important>​Cette page nécessite un ménage. Il faudrait nettoyer toute mention des versions d'​Ubuntu désuètes, spécifier que pour 8.04 (Hardy) c'est tomcat5.5, et pour les versions suivantes c'est tomcat7 ; vérifier les pré-requis en fonction des versions. </​note>​
  
-Veuillez au cas où  vous voulez installer ce paquet en sachant ce que vous faites ou demander de l'aide sur une de ces parties du forum [[https://​forum.ubuntu-fr.org/​viewforum.php?​id=91|Sécurité]] ou [[https://​forum.ubuntu-fr.org/​viewforum.php?​id=28|serveur]] </​note>​+===== Installation tasksel =====
  
 +==== Installation ====
  
 +Installation d'un serveur tomcat6 pour Ubuntu 12.10 grâce à [[tasksel|Tasksel]] :
  
 +<​code>​sudo tasksel install tomcat-server</​code>​
 +
 +
 +Installation d'un serveur tomcat7 pour Ubuntu 14.04 LTS  :
 +
 +<​code>​sudo apt-get install tomcat7</​code>​
 +
 +//It works !// doit apparaître sur la page
 +
 +[[http://​localhost:​8080/​]]
 +
 +==== Configuration ====
 +
 +Changer éventuellement la version de java utilisée en [[:​tutoriel:​comment_modifier_un_fichier|modifiant le fichier]] **/​etc/​default/​tomcat7**. Changer ou ajouter la variable **JAVA_HOME** en fonction de votre configuration :
 +<​file>​JAVA_HOME=/​usr/​lib/​jvm/​java-6-sun
 +JAVA_HOME=/​usr/​lib/​jvm/​java-1.6.0-openjdk-amd64
 +JAVA_HOME=/​usr/​lib/​jvm/​java-1.7.0-openjdk-amd64
 +JAVA_HOME=/​usr/​lib/​jvm/​java-8-openjdk-amd64</​file>​
 +
 +Pour ensuite pouvoir se connecter aux consoles d'​administration,​ il faut ajouter un utilisateur. [[:​tutoriel:​comment_modifier_un_fichier|Ajouter fichier]] **/​etc/​tomcat7/​tomcat-users.xml** entre les balises **<​tomcat-users>​** et **</​tomcat-users>​** (voir les exemples en commentaire dans le fichier):
 +
 +<​file>​
 +<role rolename="​manager-gui"/>​
 +<role rolename="​admin-gui"/>​
 +<user username="<​utilisateur>"​ password="<​mot_de_passe>"​ roles="​admin-gui,​manager-gui"/>​
 +</​file>​
 +
 +<​note>​Remplacer <​utilisateur>​ et <​mot_de_passe>​ respectivement par le nom d'​utilisateur et le mot de passe que vous souhaitez utiliser</​note>​
 +
 +Enfin, changer les droits sur le dossier de tomcat7 :
 +
 +<​code>​sudo chgrp -R tomcat7 /​etc/​tomcat7
 +sudo chmod -R g+w /​etc/​tomcat7</​code>​
 +
 +Une fois la configuration terminée, relancer le service tomcat7 :
 +
 +  sudo service tomcat7 restart
 +==== Utilisation ====
 +
 +Vous pouvez désormais accéder aux panneaux de configurations :
 +
 +[[http://​localhost:​8080/​manager/​html]]
 +
 +[[http://​localhost:​8080/​host-manager/​html]]
 +
 +**Source :** [[https://​help.ubuntu.com/​12.04/​serverguide/​tomcat.html|Apache Tomcat sur la documentation officielle de Ubuntul]]
 +
 +===== Installation par les paquets =====
 +
 +==== Pré-requis ====
 +
 +  * Disposer des [[:​sudo|droits d'​administration]].
 +  * [[:​java|Java SDK]] 1.4 ou supérieur (paquet << sun-java5-jdk >> recommandé).
 +  * Accès aux [[:​depots#​universe_et_multiverse|dépôts APT]] //​universe//​.
 +==== Installation ====
 +
 +Pour les nouvelles versions d'​ubuntu utiliser **tomcat7** [[apt>​tomcat7,​tomcat7-admin,​tomcat7-examples|tomcat7,​ tomcat7-admin et tomcat7-examples]].\\
 +À l'​installation du paquet, Tomcat est automatiquement démarré et, normalement,​ fonctionnel. Vous pouvez vérifier en visitant http://​localhost:​8080/​.
 +
 +Il se peut que Tomcat soit accessible sur un autre port. Si l'​adresse ci-dessus ne fonctionne pas, essayez http://​localhost:​8180/​.
 +
 +Il est possible qu'à l'​installation du paquet, Tomcat ne soit pas correctement configuré pour utiliser une JDK installée ou que vous souhaitiez le voir utiliser un autre que celui par défaut. Dans ce cas, [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] « /​etc/​default/​tomcat5.5 » et trouvez la ligne avec l'​option « JAVA_HOME ». Décommentez-la et indiquer le chemin de la JDK que vous souhaitez utiliser. Dans le cas du JDK installé //via// le paquet « sun-java5-jdk », utilisez « /​usr/​lib/​jvm/​java-1.5.0-sun », et la ligne suivante :
 +
 +  JAVA_HOME=/​usr/​lib/​jvm/​java-1.5.0-sun
 +
 +Ensuite, exécutez la commande suivante :
 +
 +  export JAVA_HOME=/​usr/​lib/​jvm/​java-1.5.0-sun
 +
 +Redémarrez ensuite Tomcat avec la commande :
 +
 +  sudo /​etc/​init.d/​tomcat5.5 restart
 +
 +Vous devriez normalement avoir les messages suivants :
 +
 +  Stopping Tomcat 5 servlet engine: ..tomcat5.
 +  Starting Tomcat 5 servlet engine using Java from /​usr/​lib/​jvm/​java-1.5.0-sun:​ tomcat5.
 +
 +Le premier indique l'​arrêt de l'​instance déjà démarrée. Si, à l'​installation du paquet, une JDK n'​avait pas été trouvé par la procédure automatique,​ un message d'​erreur apparaitrait à la place. Le second message indique le démarrage d'une nouvelle instance et indique la JDK utilisé (ici « /​usr/​lib/​jvm/​java-1.5.0-sun »), ce qui permet de vérifier la prise en compte du fichier de configuration « /​etc/​default/​tomcat5 ».
 +
 +==== Utilisation et configuration ====
 +
 +=== Arrêt et démarrage ===
 +
 +Tomcat peut être démarré et arrêté comme un « dæmon » standard //via// le script « /​etc/​init.d/​tomcat5 » avec les options « start », « stop » et « restart » pour la démarrer, l'​arrêter ou le redémarrer. L'​option « status » permet de savoir s'il est déjà lancé.
 +
 +À l'​installation,​ le système est configuré pour démarrer Tomcat au démarrage de l'​ordinateur. Si vous souhaitez changer ce comportement,​ vous pouvez le faire //via// la commande « update-rc.d » :
 +
 +  sudo update-rc.d tomcat5 remove
 +
 +Si Tomcat n'est pas démarré avec la machine et que vous souhaitez que ce soit le cas, utilisez :
 +
 +  sudo update-rc.d tomcat5 defaults
 +
 +=== Interfaces d'​administration ===
 +
 +Les paquets « tomcat5-admin » et « tomcat6-admin » installent deux interfaces Web d'​administration. Elle sont disponibles aux adresses http://​localhost:​8080/​admin/​ et http://​localhost:​8080/​manager/​html mais nécessitent la configuration manuelle d'un utilisateur administrateur.
 +
 +Cette configuration se fait en ajoutant un (ou plusieurs) utilisateur(s) et deux rôles dans le fichier « /​var/​lib/​tomcat5.5/​conf/​tomcat-users.xml » ou « /​var/​lib/​tomcat6/​conf/​tomcat-users.xml » :
 +<​code>​
 +<?xml version='​1.0'​ encoding='​utf-8'?>​
 +<​tomcat-users>​
 +  <!-- Utilisateurs administrateur de tomcat -->
 +  <role rolename="​manager"/>​
 +  <role rolename="​admin"/>​
 +  <user username="​NOM_D_UTILISATEUR"​ password="​MOT_DE_PASSE"​ roles="​admin,​manager"/>​
 +  <!-- On peut ajouter d'​autre rôles, utilisateurs ou groupes pour les
 +       ​applications web déployées sur le serveur -->
 +</​tomcat-users>​
 +</​code>​
 +Puis relancer Tomcat pour tester ces comptes : 
 +<​code>​ /​etc/​init.d/​tomcat7 restart</​code>​
 +
 +=== Notes concernant la configuration ===
 +  * Les fichiers « web.xml » et « server.xml » se trouvent dans « /​etc/​tomcat5/​ ».
 +  * Le paramètre « ''​-security''​ » est activé par défaut. Les permissions liée à la sécurité Java sont dans des fichiers sous « /​etc/​tomcat5/​policy.d ».
 +  * Le reste des fichiers se trouvent dans « /​var/​lib/​tomcat5.5 ».
 +  * Les //webapps// déposées dans « /​var/​lib/​tomcat5.5/​webapps » (fichiers WAR ou répertoire en respectant la structure) sont automatiquement et dynamiquement déployées.
 +
 +{{:​icons:​icone_danger.png ​ |Attention}}
 +> Le paramètre « ''​TOMCAT_SECURITY=yes''​ » empêche certaines applications de fonctionner (scripts d'​installation de CMS, par exemple). Il faut se rendre dans « /​etc/​init.d/​tomcat5.5 » et passer le paramètre à « no » (« ''​TOMCAT_SECURITY=no''​ »).
 +
 +Par ailleurs, la version 5.5 disponible actuellement sur les dépôts a un bug qui  empêche les « jsp-examples » de fonctionner. Ce bug ne touche **que** ces exemples et n'est pas le signe d'un problème global de configuration. Pour le corriger, il faut [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]]
 +« /​var/​lib/​tomcat5.5/​webapps/​jsp-examples/​WEB-INF/​tagPlugins.xml »
 +et remplacer les « jstl. » par « jstl.core. ».
 +
 +===== Notes =====
 +==== Tomcat et Eclipse ====
 +
 +Pour utiliser Tomcat avec Eclipse (dans le cas de projet commun Windows et Linux), vous devez rajouter une variable dans les perspectives d'​Eclipse.
 +
 +  - allez dans le menu //Windows → Preferences//​.
 +  - élément //Java → Build path → Classpath Variables// de l'​arbre de gauche.
 +  - cliquez sur //New//.
 +  - comme ''​NAME'',​ introduisez ''​TOMCAT_HOME''​.
 +  - comme ''​Path'',​ introduisez ''/​usr/​local/​tomcat''​. (ou ''/​usr/​share/​tomcat6''​ le cas échéant)
 +  - cliquez sur //OK//.
 +
 +=== Impossible d'​ajouter un serveur tomcat sous eclipse ===
 +Si vous n'​arrivez pas à ajouter un serveur tomcat sous éclipse avec// Windows → preferences → server → runtime environments → add// ou que celui-ci n’apparaît pas dans la vue serveur suivez les instructions suivantes:
 +
 +== Pour tomcat6 ==
 +La structure des fichiers de tomcat 6 lorsqu'​il est installé par les paquets pose quelques problèmes lors d'un déploiement via Eclipse. Pour résoudre ce problème voici quelques liens à créer :
 +<​file>​
 +  cd /​usr/​share/​tomcat6
 +  sudo ln -s /​var/​lib/​tomcat6/​conf conf
 +  sudo ln -s /​etc/​tomcat6/​policy.d/​03catalina.policy conf/​catalina.policy
 +  sudo ln -s /​var/​log/​tomcat6 log
 +  sudo chmod -R 777 /​usr/​share/​tomcat6/​conf
 +  sudo mkdir temp 
 +</​file>​
 +[[http://​stackoverflow.com/​questions/​447289/​problem-creating-a-tomcat-6-server-in-eclipse-form-ubuntu|source]] ​
 +== Pour tomcat7 ==
 +1. Pour résoudre l'​erreur ** '​Cannot create a server using the selected type'​**
 +<​file>​
 +cd ~/​workspace/​.metadata/​.plugins/​org.eclipse.core.runtime/​.settings/ ​   ​
 +rm org.eclipse.jst.server.tomcat.core.prefs ​   ​
 +rm org.eclipse.wst.server.core.prefs
 +</​file>​
 +
 +2. Pour résoudre l'​erreur ** 'Could not load the Tomcat server configuration at /​usr/​share/​tomcat7/​conf. The configuration may be corrupt or incomplete /​usr/​share/​tomcat7/​conf/​catalina.policy (No such file or directory)'​ **
 +<​file>​
 +cd /​usr/​share/​tomcat7
 +sudo ln -s /​var/​lib/​tomcat7/​conf conf
 +sudo ln -s /​etc/​tomcat7/​policy.d/​03catalina.policy conf/​catalina.policy
 +sudo ln -s /​var/​log/​tomcat7 log
 +sudo chmod -R 777 /​usr/​share/​tomcat7/​conf
 +</​file>​
 +[[http://​stackoverflow.com/​questions/​13423593/​eclipse-4-2-juno-cannot-create-a-server-using-the-selected-type-in-tomcat-7|source]]
 +
 +=== Accéder à Tomcat6 par le port 80 ===
 +Pour pouvoir se connecter à Tomcat à partir du port 80 :
 +<​file>​
 +/​sbin/​iptables -t nat -A PREROUTING -j REDIRECT -p tcp --destination-port 80 --to-ports 8080
 +</​file>​
 +
 +
 +==== Tomcat couplé avec Apache 2 et SSL ====
 +
 +[[tutoriel:​comment_coupler_apache_et_tomcat_avec_support_ssl|Comment coupler Apache2 avec un serveur d'​application Tomcat (avec support SSL) ?]]
 +===== Liens & références =====
 +
 +  * [[http://​tomcat.apache.org/​|Site officiel d'​Apache Tomcat]]
 +  * [[http://​tomcat.apache.org/​tomcat-5.5-doc/​index.html|Documentation officielle de Tomcat 5.5.x]]
 +  * Introduction : article encyclopédique « [[wpfr>​Tomcat (serveur)]] » sur Wikipedia
 +  * Un [[http://​www.progenvrac.com/​spip.php?​article1|tutoriel]] pour l'​installation de Tomcat 6.*.*
 +  * [[:​jetty|Jetty]],​ un autre conteneur de servlets
 +  * [[http://​www.it-connect.fr/​tutoriels/​serveur-web/​tomcat/​|Plusieurs tutoriels sur Tomcat]] sur IT-Connect
 +
 +----
  
 // Contributeurs : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​strzel_a]] [[utilisateurs:​jahbromo]],​ Brzhk, [[utilisateurs:​clement.analogue]],​ [[utilisateurs:​ph3nix_]]//​ // Contributeurs : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​strzel_a]] [[utilisateurs:​jahbromo]],​ Brzhk, [[utilisateurs:​clement.analogue]],​ [[utilisateurs:​ph3nix_]]//​
  • tomcat.1560124863.txt.gz
  • Dernière modification: Le 10/06/2019, 02:01
  • par 193.250.138.66