tutoriel | Installation et configuration de Tomcat 8

Transcription

tutoriel | Installation et configuration de Tomcat 8
tutoriel | Installation et
configuration de Tomcat 8
Article publiée le 7 Avril 2014
1) Présentation
Tomcat 8 est enfin sortie en version final et forcément je ne
peux résister à l’idée de rédiger un petit tutoriel dessous.
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
J’ai également eu des retours comme quoi Tomcat 8 serait plus
performant que son prédécesseur!
Ci dessous un petit tuto rappel de comment installer un
serveur tomcat (version 8):
Cette article reprend le tutoriel que j’ai rédigé pour
tomcat 7 en étant adapté pour cette nouvelle version. Il n’y
aura pas de gros changement pour les personnes ayant lu le
tutoriel sur tomcat 7
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 /apps/tomcat
mkdir /apps/tomcat
– Décompressez l’archive dans le répertoire de destination:
mv <votre archive>.tar.gz <repertoire d’installation> &&
-xvf <repertoire d’installation>/<votre archive>.tar.gz
exemple: mv apache-tomcat-8.0.3.tar.gz
/apps/tomcat/apache-tomcat-8.0.3.tar.gz
&&
tar
tar
-xvf
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
configuration de tomcat
tous
les
fichiers
de
– 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 »
roles= »manager,manager-gui »/>
password=
»tomcat
»
Sans oublier de modifier le password !
-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)
– Connectez
vous à l’interface d’administration de votre
serveur tomcat via votre navigateur depuis cette URL: <ip ou
DNS de votre machine>:8080
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 selectionnez 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 plus longue mais très utile si vous voulez
scripter des déploiements automatiques consiste à arrêter
votre serveur tomcat, déposez votre fichier war dans le
répertoire webapps et redémarrer le service tomcat.
Votre Webapp sera automatiquement déployée.
Petite nouveauté! :
Avec la version 8 de tomcat l’interface d’administration a
légèrement changé. Il est maintenant possible d’avoir
facilement une vue concernant la consommation mémoire java:
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 :
http://journaldunadminlinux.fr/tomcat-severe-failed-to-initial
ize-java-lang-outofmemoryerror-permgen-space/
Cette article traite d’un problème Tomcat et pourra peut-être
vous aider.
4) Jumelage avec un server Apache
Il est possible de jumeler votre serveur Tomcat avec un
serveur Apache.
Une excellent procédure (je n’aurais pu faire mieux ;-))
rédigée par la communauté Ubuntu vous explique de manière
simple comment procéder :
http://doc.ubuntu-fr.org/tutoriel/comment_coupler_apache_et_to
mcat_avec_support_ssl
5) 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_OWNER
start() {
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
6) 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
– Afin d’évitez tous problèmes je vous conseille de créer un
utilisateur dédié à tomcat (changer le propriétaire de votre
répertoire tomcat) et de démarrer votre serveur tomcat avec un
utilisateur différent de root