tutoriel | Installation et configuration de Tomcat 9
Article publiée le 8 Novembre 2016
1) Présentation
Tomcat 9 est sortie depuis quelque temps.
Tous d'abord faisons un point sur les nouveautés:
- Implémentation des spécification de JAVA7
- Implémentation de Java Servlet 3.1,
- Implémentation de de JavaServer Page2.3
Ci dessous un petit tuto rappel de comment installer un serveur tomcat (version 9):
Cette article reprend le tutoriel que j'ai rédigé pour tomcat 8 en étant adapté pour cette nouvelle version. Il n'y aura pas de gros changement pour les personnes ayant lu le tutoriel sur tomcat 8 🙂
Prérequis: Java
yum install java* pour (RedHat/Centos) ou apt-get install openjdk* (Sous debian/Ubuntu)
- Créez proprement votre répertoire d’installation de tomcat, dans mon cas cela sera /srv/tomcat
mkdir /srv/tomcat
- Décompressez l'archive dans le répertoire de destination:
mv <votre archive>.tar.gz <repertoire d’installation> && tar -xvf <repertoire d’installation>/<votre archive>.tar.gz
Exemple: mv /root/apache-tomcat-9.0.0.tar.gz /srv/tomcat/
Quelques petites explications:
- Le répertoire bin contient tous les scripts de tomcat notamment ceux de démarrage et d’arrêt.
- Le répertoire conf contient tous les fichiers de configuration de tomcat
- Le répertoire webapps contient toutes les webapps (vos servlets java)
2) Configuration
- Allez dans le répertoire conf:
cd conf
- Si vous désirez changer le port d’écoute éditez le fichier server.xml et éditez cette ligne en remplaçant le port par défaut 8080 par celui que vous désirez:
<Connector port= »8080″ protocol= »HTTP/1.1″
connectionTimeout= »20000″
redirectPort= »8443″ />
<!– A « Connector » using the shared thread pool–>
- Editons ensuite le fichier tomcat-user afin de définir le mot de passe de l’interface d’administration de tomcat:
Le dernier « paragraphe » du fichier de configuration est commenté. Pour le dé-commentez enlevez :
<!– et –>
Ajoutez ensuite les balises rolename:
<role rolename= »manager »/>
<role rolename= »manager-gui »/>
Créons ensuite le user qui aura les droits d’admin de votre serveur tomcat:
<user username= »tomcat-admin » password= »tomcat » roles= »manager,manager-gui »/>
Sans oublier de modifier le password !
Nouvel particularité avec Tomcat 9: si vous désirez accéder au manager app depuis une machine distante vous devez créer le fichier conf/Catalina/localhost/manager.xml et y ajoutez les lignes suivantes:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
-Il ne reste plus qu’ à redémarrer Tomcat :
rendez vous dans le répertoire bin (de tomcat) et exécutez ces scripts:
./shutdown.sh (pour arréter tomcat)
./startup.sh (pour démarrer tomcat)
Ici vous trouverez la liste des Webapp déployées.
-Il existe 2 méthodes pour déployer une Webapp (fichier .war):
La première (la plus simple) consiste à cliquer sur le bouton déployer et de sélectionnez votre fichier war.
Tomcat se chargera de la déployer pour vous. Une fois le déploiement terminé vous pourrez voir apparaître une nouvelle ligne avec le nom de votre Webapp.
La deuxième est de déposer le war directement dans le répertoire Webapp est de redémarrer le serveur Tomcat
Votre Webapp sera automatiquement déployée.
3) Tunning :
Il est possible, si vous déployez des applications lourdes ou en grand nombre, que vous ayez des problèmes mémoires.
Dans ce cas vous pourrez avoir des messages d’erreur ou de grosses lenteurs lors de l’exécution de vos webapps.
Pour cela éditez le fichier startup.sh et ajoutez à la ligne export JAVA_OPTS= -server -Xms<mémoire minimal alloué> -Xmx <mémoire maximum alloué>
Exemple:
export JAVA_OPTS= »-server -Xms2048m -Xmx2048m »
Redémarrez votre serveur Tomcat afin que les modifications soient prises en comptes.
Si vous rencontrez d’autres problèmes mémoire vous pouvez vous rendre sur cette page :
Cette article traite d’un problème Tomcat et pourra peut-être vous aider.
4) Script de démarrage
Afin de vous faciliter la vie, je vous livre ci-dessous le script de démarrage de tomcat à déposer dans le répertoire init.d:
#!/bin/sh
CATALINA_HOME=<repertoire tomcat>; export CATALINA_HOME
JAVA_HOME=<repertoire java>; export JAVA_HOME
TOMCAT_OWNER=<votre user tomcat>; export TOMCAT_OWNERstart() {
echo -n « Starting Tomcat: »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
sleep 2
}
stop() {
echo -n « Stopping Tomcat: »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
}# See how we were called.
case « $1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ »Usage: tomcat {start|stop|restart} »
exit
esac
5) Best Pratice
- Si votre application doit-être accessible depuis le monde extérieur je vous conseille de procéder à un couplage (Apache/Tomcat) avec les règles firewall qui vont bien
- Utilisez toujours un serveur apache en front en mode revese proxy. Vos clients ne doivent pas se connecter en direct sur le Tomcat. Un tuto est disponible: http://journaldunadminlinux.fr/tutoriel-mettre-en-place-un-reverse-proxy-sur-apache-via-mod_proxy/
simple et préci merci
Merci, cela fonctionne, je n’ai juste pas la même page d’accueil
j’ai la page
It works !
If you’re seeing this page via a web browser, it means you’ve setup Tomcat successfully. Congratulations!
J’ai acces au manager après…