2007/02/05
Téléchargez la version stable de Tomcat ici -> http://tomcat.apache.org/download-55.cgi, prendre le tar.gz du Core et l'Administration Web Application.
Téléchargez la source du module connector pour Apache mod_jk1.2 ici -> http://tomcat.apache.org/download-connectors.cgi.
On a besoin de la JRE (environnement de travail java) ou d'un JDK (outils de développement et de compilation):
A propos de JDK, il sert à Tomcat à compiler les JSP à la volée, depuis les version 5.5.x de Tomcat il n'est plus nécéssaire, tomcat est livré avec un compilateur(le JDT), celui d'Eclipse, il se trouve dans /common/lib/jasper-compiler-jdt.jar (les dev de Tomcat assurent qu'il est le plus rapide).
Pour utiliser un autre compilateur Java que celui d'Eclipse dans Tomcat, il faut renseigner la variable JDK_HOME avec un chemin vers un JDK, dans le cas où on indique un chemin vers une JRE, alors la JRE sera utilisée pour démarrer Tomcat et ce sera le compilateur JDT d'eclipse inclus dans Tomcat qui sera utilisé pour compiler les JSP.
Pour télécharger la JRE ou le JDK de sun c'est ici -> http://java.com/fr/download/manual.jsp ou là ->http://java.sun.com/javase/downloads/index.jsp
On va créer un répertoire java dans /opt pour y installer tout ce qu'il faut.
sudo mkdir /opt/java
On y détarre le JDK ou la JRE et Tomcat, dans mon cas:
sudo tar xvzf apache-tomcat-5.5.20.tar.gz -C /opt/java
chmod +x jdk-6-linux-i586.bin.bin;./jdk-6-linux-i586.bin.bin;sudo mv jdk1.6.0 /opt/java/
On crée un lien relatif pour Tomcat et le JDK, c'est un truc pour éviter d'avoir à changer les fichiers de configuration, en cas de changement de version de Tomcat ou du JDK. On fera pointer les variables des fichiers de configuration sur le lien relatif plutot que sur Tomcat ou le JDK lui même, dans mon cas:
sudo ln -s /opt/java/jdk1.6.0 /opt/java/jdk
sudo ln -s /opt/java/apache-tomcat-5.5.20 /opt/java/tomcat
Voila il n'y aura plus qu'a changer les liens pour utiliser une autre version des logiciels.sans toucher aux fichiers de conf.
Afin de pouvoir lancer Tomcat en Daemon, il faut compiler le binaire jsvc, le tar du source ce trouve dans le répertoire bin de Tomcat
cd /opt/java/apache-tomcat-5.5.20/bin
tar xvzf /opt/java/apache-tomcat-5.5.20/jsvc-src.tar.gz
cd jsvc-src;sudo ./configure --with-java=/opt/java/jdk; sudo make
Voilà le binaire jsvc est créé, il se trouve dans le répertoire bin de tomcat.
export JAVA_HOME=/opt/java/jdk;./jsvc --help #pour avoir des infos sur jsvc.
Pour demarrer et arrêter automatiquement Tomcat on vas placer un script dans /etc/init.d
Puis créer les liens nécessaires:
sudo update-rc.d -f tomcat5 start 90 2 3 4 5 . stop 10 0 1 6 .
Le script /etc/init.d/Tomcat5:
#!/bin/sh # This init.d script is used to start the jakarta Tomcat java server. # It basically just calls jsvc. # Autor: Georges Roux # initrd command : sudo update-rc.d -f tomcat5 start 90 2 3 4 5 . stop 10 0 1 6 . NAME="Tomcat5" TOMCAT_HOME="/opt/java" CATALINA_HOME="$TOMCAT_HOME/apache-tomcat-5.5.20" CATALINA_BASE="/raid5/data/www/tomcat" TOMCAT_USER=www-data JDK_HOME="/opt/java/jdk/jre" JAVA_HOME=$JDK_HOME #JSSE_HOME="/opt/java/j2sdkee1.4" JRELOG="/var/log/jre.log" CATALINA_OPTS="-Xloggc:$JRELOG -Djava.awt.headless=true" DISPLAY=:0.0 PIDFILE=/var/run/tomcat5.pid TMP_DIR="/tmp" #export JAVA_HOME JDK_HOME JSSE_HOME TOMCAT4_USER CATALINA_OPTS DISPLAY NAME=tomcat5 OPTIONS="-home $JDK_HOME \ -user $TOMCAT_USER \ -Dcatalina.home=$CATALINA_HOME \ -Dcatalina.base=$CATALINA_BASE \ -Djava.endorsed.dirs=./common/endorsed \ -Djava.io.tmpdir=$TMP_DIR \ -cp ./bin/bootstrap.jar \ -outfile $CATALINA_BASE/logs/catalina.out \ -errfile $CATALINA_BASE/logs/catalina.err \ -pidfile $PIDFILE" #-Xms256m \ #-Xms1024m \ #-wait 10 \ start(){ echo -n "Starting Tomcat5 server: " modprobe capability cd $CATALINA_HOME ./bin/jsvc $OPTIONS org.apache.catalina.startup.Bootstrap RETVAL=$? [ $RETVAL = 0 ] && touch /var/lock/$NAME [ $RETVAL = 0 ] && echo "success" || echo "failure" echo return $RETVAL } stop(){ echo -n "Stopping Tomcat5 server: " PID=`cat $PIDFILE` kill $PID RETVAL=$? [ $RETVAL = 0 ] && rm /var/lock/$NAME [ $RETVAL = 0 ] && rm $PIDFILE [ $RETVAL = 0 ] && echo "success" || echo "failure" echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart|reload) stop sleep 10 start ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart}" exit 1 ;; esac exit 0
le reste de l'histoire arrive bientôt, me faut un moment de libre de plus.