Utilisez le Tomcat Manager pour déployer vos projets web sur serveur Tomcat

Le Tomcat-Manager est un outil puissant fourni avec Tomcat qui permet de disposer d’informations précieuses sur l’état du serveur Tomcat mais aussi de gérer vos applications et de déployer très simplement des fichiers war tout cela à l’aide d’une interface graphique d’administration. Cependant le Tomcat-Manager est inclus dans un paquet supplémentaire de Tomcat 6,Tomcat6-admin. Le manager n’est donc pas systématiquement installé par défaut.

Installation du Tomcat Manager sous Windows

L’installer de Tomcat 6 pour windows contient déjà le Tomcat Manager. Ainsi en téléchargeant Tomcat 6 sur le site de la fondation Apache (http://tomcat.apache.org/download-60.cgi) et en l’installant vous avez accès aux applications Tomcat-Manager et Tomcat-HostManager.

Installation du Tomcat Manager sous Linux en ligne de commande (Debian Lenny)

Tomcat 6 n’est pas encore disponible sous Debian nous allons donc ajouter des paquets provenant de la branche sid pour pouvoir l’obtenir (en root) :
$~ vi /etc/apt/sources.list
nous modifions ensuite le fichier pour ajouter la branche instable à notre liste des repository
en ajoutant (au moins) la ligne deb http://ftp.fr.debian.org/debian sid main
Puis on télécharge le paquet admin
$~ apt-get update
$~ apt-get install tomcat6-admin

Le système créé alors un répertoire tomcat6-admin (par défaut /usr/share/tomcat6-admin) contenant les webapps “manager” et “host-manager”.
L’accès au manager de notre localhost se fait alors à l’adresse : http://localhost/manager/html. Comme vous le voyez une identification est nécessaire pour accéder au manager, nous montrons sa configuration dans la suite.

Configuration du Tomcat Manager

L’unique fichier de configuration du Tomcat Manager est le fichier tomcat-users.xml. Ce fichier définit les utilisateurs qui ont accès aux applications d’administration de Tomcat. Plus généralement ce fichier peut être utilisé pour ces propres applications puisqu’il s’agit d’un fichier de configuration d’un memory database realm au sens Tomcat.
Ce fichier se trouve dans /etc/tomcat6/ (debian) ou [Tomcat6_Install]\conf\ (windows).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version='1.0' encoding='cp1252'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<tomcat-users>
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>

Le fichier définit deux roles, “role1″ et “tomcat” associés à deux utilisateurs “both” et “tomcat”. Si l’on essaie de ce connecter avec l’un de ces comptes au Tomcat manager, une erreur 401 est renvoyée (unauthorized user) et la page d’erreur suivante est affichée:
tomcat-manager-error

qui vous indique que vous ne disposez pas des droits “manager” pour accéder à l’application. En effet, par mesure de sécurité aucun utilisateur ne peut accéder au manager par défaut. Nous modifions donc notre fichier en conséquence avec le rôle “manager”.

1
2
3
4
5
6
7
8
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="user" password="password" roles="manager"/>
</tomcat-users>

En vous connectant avec l’utilisateur “user” vous avez maintenant accès au Tomcat Manager.
tomcat-manager

Utilisation du Tomcat Manager

Gérez vos applications déployées

Sur l’écran d’accueil vous pouvez visualiser la liste des applications disponibles ici au nombre de 3 avec notamment “Tomcat-manager”.
Pour chacune d’elle vous pouvez ainsi la démarrer, l’arrêter, la recharger ou encore la supprimer du serveur.
tomcat-manager2
Par cette interface vous pouvez également paramétrer le temps de validité des sessions. A savoir que plus le temps est long (par défaut 30 minutes) plus Tomcat garde de données en mémoire et plus vous rendez vulnérables vos applications (vols de session notamment).

Déployez vos archives war directement

Mais le Tomcat-Manager permet aussi de déployer simplement des applications web au format war (Web ARchive) depuis une archive locale ou bien une archive déjà stockée sur le serveur en indiquant l’url de l’archive et le contexte.

Vérifiez les données du serveur Tomcat

Enfin le manager permet d’obtenir des informations sur le serveur comme l’OS, la version de Tomcat et la JVM.
tomcat-manager4
De même cela permet de rapidement garder l’.il sur l’état de la mémoire JVM du serveur
tomcat-manager5
ou encore de monitorer l’activité des threads et d’identifier rapidement les sources de fuites mémoires sans avoir à rentrer dans un service JMX
tomcat-manager6

About Matthieu

Hello, I joined Java-Hoster in 2009. After my engineering studies in France, I worked for several companies including some well known Natixis , Airbus and Air France . Now I am more focused and involved on Java open-source projects and of course in Java-Hoster which makes me learn a lot and feed me as well :-D I am also responsible for this blog, so if you have something to say about it feel free to contact me. Cheers.
This entry was posted in tomcat and tagged , , . Bookmark the permalink.

2 Responses to Utilisez le Tomcat Manager pour déployer vos projets web sur serveur Tomcat

  1. You’ve made some good points there. I checked on the web for additional information about the issue and found most people will go along with your views on this site.

  2. Mohamed Rabi says:

    Think you Guys for this one! ;)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>