Table des matières

Installation de tomcat

tomcat 4.1.31

Installer d'abord java:

  1. télécharger le binaire de sun (sur http://java.sun.com/j2se/)
  2. le décompacter et mettre tout ça dans /usr/local/
  3. faire un lien de /usr/local/java → /usr/local/j2sdk1.4.2_08 (dans mon cas, la version du sdk peut changer).
  4. faire aussi un lien ln -s /usr/local/java/bin/java /usr/local/bin/java
  5. tester avec “java -version”

Ensuite,

  1. télécharger le tar.gz de tomcat (depuis http://jakarta.apache.org/tomcat/index.html), testé avec 4.1.31
  2. décompresser, mettre dans /usr/local/ et faire un lien /usr/local/tomcat dessus
  3. se créer un script pour start / stop

Par exemple (cf tomcat_start de ns2230)

#!/bin/sh su - tomcat -c /usr/local/tomcat/bin/startup.sh

#!/bin/sh su - tomcat -c /usr/local/tomcat/bin/shutdown.sh

tomcat 5.5.9

On passe à une version plus récente, mais on garde quand même le tomcat4

  1. install de java5
    1. aller sur http://java.sun.com/j2se/, choisir la dernière version, cocher la licence et récupérer l'url pour download le rpm.bin puis fair lynx url (un wget marche pas car il y a une redirection)
    2. sh jdk-1_5_0_04-linux-i586-rpm.bin
    3. ça installe tout ça dans /usr/java/jdk1.5.0_04 donc on met un lien ln -s /usr/java/jdk1.5.0_04 /usr/local/java5
    4. on peut ajouter les liens vers les bin dans /usr/bin (attention, il y a java 1.4 dans /usr/local/bin, whereis java pour voir ça): ln -s /usr/local/java5/bin/java /usr/bin/java && ln -s /usr/local/java5/bin/javac /usr/bin/javac && ln -s /usr/local/java5/bin/javadoc /usr/bin/javadoc && ln -s /usr/local/java5/bin/jar /usr/bin/jar

pas testé, mais il y a une autre solution :télécharger le sdk, faire en user simple “fakeroot make-jpkg sdk.bin” qui donne un sdk.deb que l'on installe avec “dpkg -i sdk.deb”

  1. install de tomcat 5.5
    1. dans /home/softs_installes/ on fait un wget http://apache.crihan.fr/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.tar.gz et on “detar”
    2. le raccourci qui va bien ln -s /home/softs_installes/jakarta-tomcat-5.5.9 /usr/local/tomcat5
    3. on crée un user tomcat5 sans shell (il y a déjà un tomcat pour tomcat4) /usr/sbin/useradd -g tomcat -d /usr/local/tomcat5 -s /bin/false tomcat5
    4. on le met proprio sur ses reps de travail: chown -R tomcat5 /usr/local/tomcat5/conf && chown -R tomcat5 /usr/local/tomcat5/work && chown -R tomcat5 /usr/local/tomcat5/temp
    5. on ajoute les bonnes variables dans /usr/local/tomcat5/.bash_profile (sinon il prend java 1.4 et ça plante): export CATALINA_BASE=/usr/local/tomcat5 CATALINA_HOME=/usr/local/tomcat5 CATALINA_TMPDIR=/usr/local/tomcat5/temp export JRE_HOME=/usr/local/java5
    6. reste à adapter un /etc/init.d/tomcat5 avec les bons params en copiant sur l'exemple de http://guides.ovh.net/InstallerTomcat/
  2. install de mod_jk (facultatif, pour éviter de préciser 8080 comme port)

Il reste à configurer l'admin (pas de'admin ni de manager par défaut, c'est pas plus mal, ça évite les trous de sécu), le nb de workers & co dans ???

ATTENTION: les users mysql qui utilisent jdbc doivent avoir localhost.localdomain comme host dans mysql.user.host

Installation de tomcat 5.5.15 sur debian

recup de apache-tomcat-5.5.15.tar.gz et jdk-1_5_0_06-linux-i586.bin

groupadd tomcat5
useradd -g tomcat5 -d /opt/tomcat5 -s /bin/bash tomcat5
chown -R tomcat5 /opt/tomcat5/temp /opt/tomcat5/work /opt/tomcat5/conf /opt/tomcat5/logs

Il faudrait éviter de donner un shell à tomcat mais en l'état il peut pas éxécuter startup.sh sinon.

cat /opt/tomcat5/.bash_profile
#!/bin/sh
export CATALINA_BASE=/opt/tomcat5 CATALINA_HOME=/opt/tomcat5 CATALINA_TMPDIR=/opt/tomcat5/temp
export JRE_HOME=/opt/java
cat /etc/init.d/tomcat5
#! /bin/bash
#
# tomcat   Start the tomcat server.
#
 
NAME="Jakarta Tomcat 5.5.15"
TOMCAT_HOME=/opt/tomcat5
CATALINA_HOME=/opt/tomcat5
JAVA_HOME=/opt/java
CATALINA_OPTS="-Dfile.encoding=iso8859-1"
TOMCAT_USER=tomcat5
LC_ALL=fr_FR
export TOMCAT_HOME CATALINA_HOME JAVA_HOME CATALINA_OPTS TOMCAT_USER LC_ALL
cd $TOMCAT_HOME/logs
case "$1" in
  start)
    echo -ne "Starting $NAME.\n"
    /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh
  ;;
 
  stop)
    echo -ne "Stopping $NAME.\n"
    /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh
  ;;
 
  *)
    echo "Usage: /etc/init.d/tomcat {start|stop}"
    exit 1
  ;;
esac
exit 0

Il vaut mieux utiliser start-stop-daemon, cf http://www.libricks.org/pub/article24.html