Documentation Tomcat
TOC:

Intro

Tomcat signifie gros chat (le logo est un gros chat brun)
Tomcat est un logiciel qui permet de contenir (contenair) des fichier html,jsp,java,perl ...
Il existe bien sur des contenaire concurrent mais celui ci est: gratuit , bien soutenue , ancient, durable utilisé par beaucoup de société.
Il est parfois couplé a un apache (pour servire la partie html)

Install

Download gunzip,..

Downloader tomcat sur le site du fabriquant ici
Le deplacer ou on veux l'isntaller dans mon cas mv ~/Download /opt
Decompresser gunzip apache-tomcat-6.0.20.tar.gz(l'extension gz signifiant gunzip)
Puis detar tar -xzvf apache-tomcat-6.0.20.tar on optient l repertoir apache-tomcat-xxxx

Demarrage

Demarrer le tomcat (instance par default) /opt/apache-tomcat-6.0.20/bin/startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-6.0.20
Using CATALINA_HOME: /opt/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /opt/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr/java/latest
Et voila la home page de votre tomcat est diponible ici
Le nom de 127.0..0.1 ne vous plais pas sous une console shell taper hostname pour recuperre le nom de votre machine
Editer en root le fichier vi /etc/hosts
Rajouter 127.0..0.1 acer-lio localhost.localdomain localhost ma machine est acer-lio c'est ceux que j'ais rajouté
Maintenant le tomcat est axcécible via ce nom liens : home
Pourquoi taper 8080 : parceque c'est le port de la conf par default les entreprise place souvent un apache devant pour servir les fichier ahtml faire des rewrite rule et du balancing
C'est donc l'apache qui est sur le port 80 port par default (pas besoins de taper :xxx)
Il transmet les requettes du navigateur destiner au tomcat de facons transparante l'utilisateur ne se rend comtep de rien
On va en reparler plus loin
L'éteindre /opt/apache-tomcat-6.0.20/bin/shutdown.sh
Recharger la page qui doit mener a une erreur

Service tomcat

Pour le moment je le demarre par le system de startup de gnome (pas vraiment propre)
System-->preference-->Startup aplication
je place dedans le /opt/tomcat-8081/bin/startup.sh

Un service peux etre demarre automatiqument par linux pratique non
Il existe un script service pour tomcat (la doc fournit est fausse) il s'agit de catalina.sh
Test du script /opt/apache-tomcat-6.0.20/bin/catalina.sh start pour le demarage /opt/apache-tomcat-6.0.20/bin/catalina.sh stop pour l'arret du service
Pour que le script sois considérer commeun vraie script de service il faut le copier dans /etc/init.d en root
Je vous conseille de le renomer en tomcat-instance8080
cp /opt/apache-tomcat-6.0.20/bin/catalina.sh /etc/init.d/tomcat-8080
Pour le demarrer vous pouvais maintenant en root lancer la commande /etc/init.d/tomcat-instance8080 start

Creation de son instance

Je vais créer une instance sur le port 8081 vous pouvez la creer sur le port 80 et ainsi ne plus a avoir a taper de port apret votre url
Je fais sa pour pouvoir faire des etude de couplage entre serveur apache et un serveur tomcat

Pour la version 6.0.2x

Copier dans /opt/tomcat-8081 (mon rep vous dans le votre)
cp -r /opt/apache-tomcat-6.0.20/conf /opt/tomcat-8081/
cp -r /opt/apache-tomcat-6.0.20/bin /opt/tomcat-8081/
cp -r /opt/apache-tomcat-6.0.20/lib /opt/tomcat-8081/
modifier le server.xml vi /opt/tomcat-8081/conf/server.xml
<Server port="8005" shutdown="SHUTDOWN">
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
<Connector port="8081" protocol="HTTP/1.1"
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443"/>
Le connecteur http sera donc sur le port 8081

OPTION

Enable categorie listing
vi /opt/tomcat-8081/conf/web.xml
uncoment listing true

Enable follow links versionstomcat6.0.2
vi /opt/tomcat-8081/conf/context.xml
change Context tag for Context allowLinking="true"
Pour les versions a partir de 6.0.20 il faut effectuer les modif dans le fichier de context (voir en dessous)

vi /opt/tomcat-8081/bin/catalina.sh
JAVA_OPTS="-Xms32m -Xmx64m -XX:MaxPermSize=64m";

Context

Tous lse fichier de context ce trouve dans ~~~/conf/Catalina/localhost
cd /opt/tomcat-8081/conf/Catalina/localhost/
<Context path="/workspace" reloadable="true" allowLinking="true" docBase="/home/mel21lio/workspace" workDir="/opt/tomcat-8081/work"> </Context>
path = nom a taper dans votre navigateur
reload = ce charge quand vous modifier des fichier
allowlinking = suit les lient symbolique
docbase = ou sont les fichier html jsp ect
wordir = emplacement de travaille
Exemple2:
<Context path="/MonTrust" reloadable="true" docBase="/home/mel21lio/workspace-perso/MonStrust/src/main/webapps" workDir="/home/mel21lio/workspace-perso/MonTrust/work">
<Logger className="org.apache.catalina.logger" verbosity="3" timestamp="true"/>
</Context>
Ici on log dans un fichier spécifique les info du context
verbosity 0 à 4 (zero le moins verbeux)
Logger ==> org.apache.catalina.logger , org.apache.catalina.logger.SystemOutLogger et org.apache.catalina.logger.SystemErrLogger
timestamp ==> true pour logger les milliseconde


Arreter votre tomcat et le relancer en mode debuger
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
/opt/tomcat-8080/bin/catalina.sh jpsa start

sous !!EclipseEE!! pas le standard utiliser le debuger choisir remote java aplication laisser le port 800
poser c'est break point et sa marche