Script d’installation de Tomcat

Cette page a été rédigée il y a fort fort longtemps, et n'a pas tellement été mise à jour.

 

Vous savez, moi je ne crois pas qu'il y ait de bonne ou de mauvaise page. Moi, si je devais résumer mon wiki aujourd'hui avec vous, je dirais que c'est d'abord des rencontres. Des gens qui m'ont tendu la main, peut-être à un moment où je ne pouvais pas, où j'étais seul chez moi. Et c'est assez curieux de se dire que les hasards, les rencontres forgent une destinée... Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite, le beau geste, parfois on ne trouve pas l'interlocuteur en face je dirais, le miroir qui vous aide à avancer. Alors ça n'est pas mon cas, comme je disais là, puisque moi au contraire, j'ai pu ; et je dis merci au wiki, je lui dis merci, je chante le wiki, je danse le wiki... je ne suis qu'amour ! Et finalement, quand des gens me disent « Mais comment fais-tu pour avoir cette humanité ? », je leur réponds très simplement que c'est ce goût de l'amour, ce goût donc qui m'a poussé aujourd'hui à entreprendre une construction logicielle... mais demain qui sait ? Peut-être simplement à me mettre au service de la communauté, à faire le don, le don de soi.

Plutôt que de reproduire manuellement la procédure d’installation de Tomcat, j’ai cherché à automatiser un maximum de tâches. Le script qui en découle est encore sommaire et ne fournit pas une configuration définitive, et de toute façon par conforme à une configuration de production. De plus, ce travail est ciblé pour mon système d’exploitation habituel qui est Linux Ubuntu, avec Tomcat 6.

Procédure d’installation

Installation de Java

Le premier pré-requis est la présence de Java. J’utilise la version 6 d’OpenJDK. J’en profite aussi pour ajouter des outils associés à Java, comme la commande update-java-alternative qui peut être pratique pour détecter le répertoire d’installation du JDK.

# Installation de Java
apt-get -y install openjdk-6-jdk
apt-get -y install java-common

Cette portion pourrait être améliorée en vérifiant au préalable la présence d’un autre JDK 6.

Installation de Tomcat

Dans cette portion, on télécharge la distribution de Tomcat, puis on l’installe dans le répertoire /usr/java. On crée en plus un lien symbolique, qui permet d’accéder au répertoire de Tomcat sans se préoccuper du numéro de version dans le nom du répertoire.

# Variables (racine du miroir et version de Tomcat)
MIRROR_HOME=link:http://mir2.ovh.net/ftp.apache.org/dist[http://mir2.ovh.net/ftp.apache.org/dist]
TOMCAT_VERSION=6.0.20

# Téléchargement et installation de tomcat
wget $MIRROR_HOME/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
mkdir /usr/java
tar -xvf apache-tomcat-$TOMCAT_VERSION.tar.gz -C /usr/java/
ln -s /usr/java/apache-tomcat-$TOMCAT_VERSION/ /usr/java/apache-tomcat

Installation en service

Pour l’installation de Tomcat en service, j’ai préparé un script de type init.d qu’il faut télécharger et installer. Ce script est épuré et ne tient pas compte des bonnes pratiques de mise en production.

Pour le démarrage, il lance le script startup de Tomcat avec l’utilisateur java ; pour l’arrêt, il lance le script shutdown.

#!/bin/bash
# Tomcat auto-start
#
# description: Démarrage automatique de Tomcat

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
export CATALINA_HOME=/usr/java/apache-tomcat
USER=java

# Fonction de démarrage
start()
{
  su -p -s /bin/sh - $USER $CATALINA_HOME/bin/startup.sh
}

# Fonction d'arrêt
stop()
{
  sh $CATALINA_HOME/bin/shutdown.sh
}

case $1 in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  sleep 1
  start
  ;;
esac
exit 0

Pour installer Tomcat, il suffit donc de copier ou télécharger ce script dans le répertoire bin de Tomcat et de faire un lien symbolique depuis /etc/init.d/tomcat.

SCRIPTS_HOME=link:http://download.jtips.info/scripts[http://download.jtips.info/scripts]
wget $SCRIPTS_HOME/tomcat-init-ubuntu.sh
mv tomcat-init-ubuntu.sh /usr/java/apache-tomcat/bin/init-ubuntu.sh
ln -s /usr/java/apache-tomcat/bin/init-ubuntu.sh /etc/init.d/tomcat
chmod 755 /etc/init.d/tomcat

Enfin, pour que ce script soit pris en compte automatiquement au démarrage et à l’arrêt du serveur, on ajoute des lien symboliques dans /etc/rcN.d.

ln -s /etc/init.d/tomcat /etc/rc1.d/K80tomcat
ln -s /etc/init.d/tomcat /etc/rc2.d/S80tomcat

Installation de Log4J

Je n’aime vraiment pas utiliser JULI, et même en développement, je préfère Log4J. J’ai donc préparé un fichier de configuration élémentaire qu’il faut télécharger et installer dans le répertoire lib de Tomcat, en plus des fichiers jar de l’adaptateur Log4J.

# LOG4J
wget $MIRROR_HOME/logging/log4j/1.2.15/apache-log4j-1.2.15.tar.gz
tar -xvf apache-log4j-1.2.15.tar.gz apache-log4j-1.2.15/log4j-1.2.15.jar
mv apache-log4j-1.2.15/log4j-1.2.15.jar  /usr/java/apache-tomcat/lib/
rm -r apache-log4j-*
wget $MIRROR_HOME/tomcat/tomcat-6/v$TOMCAT_VERSION/bin/extras/tomcat-juli-adapters.jar
mv tomcat-juli-adapters.jar /usr/java/apache-tomcat/lib/
wget $MIRROR_HOME/tomcat/tomcat-6/v$TOMCAT_VERSION/bin/extras/tomcat-juli.jar
mv tomcat-juli.jar /usr/java/apache-tomcat/bin/
wget $SCRIPTS_HOME/tomcat-log4j.properties
mv tomcat-log4j.properties /usr/java/apache-tomcat/lib/log4j.properties

Script d’installation

Le script complet d’installation peut être téléchargé et utilisé librement.

wget link:http://download.jtips.info/scripts/tomcat-install.sh[http://download.jtips.info/scripts/tomcat-install.sh]
chmod +x tomcat-install.sh
bash tomcat-install.sh