Tomcat est un serveur applicatif JAVA, il permet d'executer des servlets et
des JSP. C'est également un serveur web qui support le ssl, les virtuals host,
les cgi, etc. Mais sa spécialité reste les servlets et les JSP. La configuration
la plus souple et la mieux adaptée à une configuration où fonctionne déjà un
serveur http apache est probablement de cantoner Tomcat à servir les servlets/JSP
et à laisser apache faire le reste.
Pour ce faire, on va configurer Tomcat en supprimant l'option HTTP et on va
rajouter le module mod_webapp à apache. Apache recevra ainsi toutes les requetes
HTTP et redirigera de manière transparente les requetes destinées à Tomcat.
Pour installer Tomcat il suffit de récuperer le tar.gz correspondant sur le
site du projet (par exemple avec un wget) puis
de faire un
tar zxvf jakarta-tomcat-4.0.1.tar.gz
pour décompresser tomcat dans le repertoire jakarta-tomcat-4.0.1,
et hop tomcat est installé.
Maintenant on appelle TOMCAT_HOME le repertoire jakarta-tomcat-4.0.1.
Le script de démarrage s'attend à avoir la variable JAVA_HOME positionnée
sur l'endroit où vous avez installé java. Il y a au moins trois solution alternatives:
- 1) éditer votre .bash_profile et rajouterla ligne
JAVA_HOME=/usr/java/java; export JAVA_HOME
- 2) éditer votre /etc/profile (comme ca tout le monde en profite)
JAVA_HOME=/usr/java/java;export JAVA_HOME
- 3) éditer le script
$TOMCAT_HOME/bin/catalina.sh et rajouter
la ligne
bref de manière à faire en sorte que le script de démarrage sache où trouver
JAVA. Maintenant pour tester que Tomcat fonctionne on tape:
$TOMCAT_HOME/bin/startup.sh
en esperant qu'aucun port utilisés par les parametres de base ne soit déjà
utilisé:
- 8005: port d'administration du serveur Tomcat
- 8080: port du serveur HTTP
- 8008: port du connecteur pour apache
pour changer un des ces port il suffit d'éditer le fichier $TOMCAT_ROOT\conf\server.xml
et de changer les valeurs correspondates.
Si tout va bien, vous devriez voir tomcat démarrer. c'est à dire voir apparaitre
des messages du type
Guessing CATALINA_HOME from catalina.sh to ./bin/..
Setting CATALINA_HOME to ./bin/..
Using CLASSPATH: ./bin/../bin/bootstrap.jar:/usr/java/java/lib/tools.jar
Using CATALINA_BASE: ./bin/..
Using CATALINA_HOME: ./bin/..
Using JAVA_HOME: /usr/java/java
mais surtout en faisant un
tail -f $TOMCAT_ROOT/logs/catalina.out
voir le message
Starting service Tomcat-Standalone
Apache Tomcat/4.0.1
Starting service Tomcat-Apache
Apache Tomcat/4.0.1
on peut également vérifier que ca fonctionne via une requete HTTP
curl -i http://monserveur:8080/ | less
Maintenant que ca marche, on va éliminer le composant serveur HTTP qui ne nous
est pas utile, car c'est apache qui va servir le HTTP.
pour ca, il suffit d'éditer le fichier $TOMCAT_HOME/conf/server.xml est de supprimer
la partie relative au composant HTTP.
Pour information, en xml, les commentaires sont semblables au HTML, ça commence
avec <!-- pour finir par -->, mais on ne peut
pas les imbriquer. Il faut donc supprimer de la ligne 16 à la ligne 291 (il
ne reste plus grand chose). Avec vi sa donne:
vi +f +"16,291d" +"wq" $TOMCAT_HOME/conf/server.xml
mais rien ne vous empeche de le faire comme vous l'entendez...
Pour éteindre tomcat, il suffit de faire
$TOMCAT_HOME/bin/shutdown.sh