Table des matières
Installation de tomcat
tomcat 4.1.31
Installer d'abord java:
- télécharger le binaire de sun (sur http://java.sun.com/j2se/)
- le décompacter et mettre tout ça dans /usr/local/
- faire un lien de /usr/local/java → /usr/local/j2sdk1.4.2_08 (dans mon cas, la version du sdk peut changer).
- faire aussi un lien ln -s /usr/local/java/bin/java /usr/local/bin/java
- tester avec “java -version”
Ensuite,
- télécharger le tar.gz de tomcat (depuis http://jakarta.apache.org/tomcat/index.html), testé avec 4.1.31
- décompresser, mettre dans /usr/local/ et faire un lien /usr/local/tomcat dessus
- 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
- install de java5
- 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)
- sh jdk-1_5_0_04-linux-i586-rpm.bin
- ç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
- 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”
- install de tomcat 5.5
- 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”
- le raccourci qui va bien ln -s /home/softs_installes/jakarta-tomcat-5.5.9 /usr/local/tomcat5
- 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
- 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
- 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
- reste à adapter un /etc/init.d/tomcat5 avec les bons params en copiant sur l'exemple de http://guides.ovh.net/InstallerTomcat/
- 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
- install du jdk 1.5 (sh jdk-1_5_0_06-linux-i586.bin && mv jdk1.5.0_06 /opt/)
- cd /usr/local/bin/ && ln -s ../../../opt/jdk1.5.0_06/bin/java java
- le reste idem ci dessus (creation groupe, user, bash_profile)
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