|
Recherche |
Introduction Tomcat est un serveur d'applications développé en Open Source et qui implémente les technologies des Servlets et des JSP (Java Server Page). Les spécifications de ces technologies sont définies par SUN et sont rigoureusement respectées par Tomcat. Depuis la version 5.0, Tomcat implémente les spécifications 2.4 des Servlets et 2.0 des JSP. La technologie des Servlets consiste à exécuter sur un site web du code Java précompilé. La servlet est écrite en Java avant d'être compilé puis placée dans un contexte d'exécution de Tomcat. La technologie des JSP consiste à écrire des scripts qui seront interprétés par Tomcat afin de créer des sites dynamiques. Cette méthode est comparable au PHP ou à l'ASP. Dans la pratique, Tomcat compile automatiquement la page JSP en Servlet au premier appel avant de l'exécuter. Les appels suivants sont donc beaucoup lus rapide car Tomcat réutilise la Servlet obtenue. Dans les deux cas, il s'agit bien d'une exécution côté serveur, tout dépend de votre serveur dédié et rien d'autre n'est nécessaire du côté du client pour visionner un site géré par Tomcat. L'ensemble d'un site web composé de servlets, de JSP et éventuellement de pages HTML et d'images, est appelé une webapp. Chaque webapp est définie par un contexte d'exécution et peut être compressée dans une archive unique, facilitant ainsi le déploiement d'applications complexes sous Tomcat. Installation Le serveur Tomcat est écrit en Java. Pour le faire fonctionner, nous allons commencer par installer la machine virtuelle de SUN. Le JDK de SUN n'est pas la seule alternative pour lancer du code précompilé Java sous Linux mais tant qu'à installer des choses, autant tout faire d'un coup :).
Télécharger la version 1.4.2 de J2SE SDK depuis le site officiel de SUN : http://java.sun.com/j2se/1.4.2/download.html et placez-la sur votre serveur dédié dans /home/ovh/src/soft/. Nous allons décompresser l'archive récupérée pour obtenir le paquet RPM installable : [root@julien soft]# sh j2sdk-1_4_2_04-linux-i586-rpm.bin Appuyez plusieurs fois sur la barre d'espace puis taper yes pour accepter les conditions d'utilisation. Le paquet RPM est maintenant prêt à être installé : [root@julien soft]# rpm -ivh j2sdk-1_4_2_04-linux-i586.rpm Nous allons créer un lien symbolique pour retrouver le répertoire racine de Java plus facilement : ln -s /usr/java/j2sdk1.4.2_04/ /usr/local/java Puis créer les liens vers les principaux binaires de Java : ln -s /usr/local/java/bin/java /usr/bin/java ln -s /usr/local/java/bin/javac /usr/bin/javac ln -s /usr/local/java/bin/javadoc /usr/bin/javadoc ln -s /usr/local/java/bin/jar /usr/bin/jar Un petit test pour vérifier que tout va bien : [root@julien soft]# java -version java version "1.4.2_04" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode) Parfait, nous pouvons passer à l'installation de Tomcat :).
Pour éviter les complications, nous allons utiliser une version binaire de Tomcat. Comme mentionné plus haut, Tomcat est écrit en Java, ce qui permet d'exécuter sur une machine du code qui a été précompilé sur une autre machine. Vous pouvez donc récupérer la version déjà précompilée et la lancer sur votre propre serveur dédié, quelles que soient les versions des librairies qui y sont installées, c'est le gros avantage de Java :). À l'heure actuelle, la dernière version stable de Tomcat est la 5.0.25. Nous allons donc commencer par récupérer cette version dans /home/ovh/src/soft/ : cd /home/ovh/src/soft/ wget http://mir2.ovh.net/ftp.apache.org/dist/jakarta/tomcat-5/v5.0.25/bin/jakarta-tomcat-5.0.25.tar.gz Puis l'installer dans /usr/share/ : cd /usr/share/ tar xvfz /home/ovh/src/jakarta-tomcat-5.0.25.tar.gz mv jakarta-tomcat-5.0.25 tomcat À cet instant, Tomcat est installé dans le répertoire /usr/share/tomcat/, nous pouvons le tester :). Premier démarrage Pour se lancer, Tomcat n'a besoin que de connaître le répertoire de base de notre machine virtuelle Java, les scripts fournis avec la distribution binaire se chargent du reste. Pour notre premier test, nous allons donc exécuter les commandes suivantes : cd /usr/share/tomcat/bin/ export JAVA_HOME=/usr/local/java sh startup.sh Tomcat utilise le port 8080 pour accepter les connexions, vérifions que le serveur est bien lancé : [root@julien bin]# netstat -tanpu | grep ":8080" tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 13688/java Si tout va bien, vous pouvez accéder à la page d'accueil de votre serveur Tomcat à cette adresse : http://nsXXXX.ovh.net:8080/. Si vous protégez votre serveur avec un firewall (voir le guide FireWall), il vous faut autoriser les connexions entrantes sur le port 8080. Pour cela, ajoutez cette ligne dans votre firewall : /sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT Des exemples de servlets et de JSP (ainsi que leur code source) sont accessibles à ces adresses : http://nsXXXX.ovh.net:8080/jsp-examples/ http://nsXXXX.ovh.net:8080/servlets-examples/ Ces exemples font partie de deux webapps fournies avec la distribution de Tomcat. Elles se trouvent dans le répertoire /usr/share/tomcat/webapps/ Pour stopper le serveur après ce test, vous pouvez exécuter ces commandes : cd /usr/share/tomcat/bin/ sh shutdown.sh Les logs de Tomcat sont par défaut dans le fichier /usr/share/tomcat/logs/catalina.out Lancer Tomcat au démarrage du serveur Pour bien finir l'installation, nous allons ajouter un daemon pour Tomcat et le configurer pour qu'il se lance au démarrage du serveur. Commençons par créer l'utilisateur qui va lancer le daemon de Tomcat. Nous allons créer l'utilisateur tomcat dans le groupe nobody, aucune ouverture de session ne lui sera permise : [root@julien /]# /usr/sbin/useradd -g nobody -d /usr/share/tomcat -s /bin/false tomcat Puis, nous allons créer le daemon en lui même : [root@julien /]# more /etc/init.d/tomcat #!/bin/sh # description: Script de démarrage de Tomcat # chkconfig: 2345 90 20 . /etc/rc.d/init.d/functions RETVAL=0 prog="Tomcat" DESC="Tomcat 5.0.25" CATALINA_HOME=/usr/share/tomcat TOMCAT_BIN=$CATALINA_HOME/bin/catalina.sh TOMCAT_USER=tomcat JAVA_HOME=/usr/local/java export CATALINA_HOME JAVA_HOME case "$1" in start) echo -n "Démarrage de $DESC avec la JVM $JAVA_HOME: " su -p -s /bin/sh $TOMCAT_USER $TOMCAT_BIN start >/dev/null 2>&1 & RETVAL=$? [ $RETVAL -ne 0 ] && failure $"$prog startup" [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tomcat && success $"$prog startup" echo ;; stop) echo -n "Arrêt de $DESC: " su -p -s /bin/sh $TOMCAT_USER $TOMCAT_BIN stop >/dev/null 2>&1 & RETVAL=$? [ $RETVAL -ne 0 ] && failure $"$prog shutdown" [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat && success $"$prog shutdown" echo ;; restart) $0 stop sleep 5 $0 start ;; *) echo "Utilisation: /etc/init.d/tomcat {start|stop|restart}" >&2 exit 2 ;; esac Modifions les permissions sur notre deamon : [root@julien /]# chmod 755 /etc/init.d/tomcat ainsi que sur certains répertoires de Tomcat : [root@julien /]# chown -R tomcat /usr/share/tomcat/conf/ [root@julien /]# chown -R tomcat /usr/share/tomcat/work/ [root@julien /]# chown -R tomcat /usr/share/tomcat/temp/ Il ne reste plus qu'à ajouter le daemon au démarrage du serveur : [root@julien /]# /sbin/chkconfig --add tomcat Puis redémarrer le serveur et vérifier que tout est OK :). [root@julien /]# ps -ef [....] tomcat 8148 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java tomcat 15007 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java tomcat 7861 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java tomcat 28518 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java tomcat 32610 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java tomcat 27454 20425 0 01:42 ? 00:00:00 /usr/local/java/bin/java [....] Autres guides ModJk :: installer et configurer le module qui permet l'interfaçage entre Apache et Tomcat. Liens Le site officiel de Tomcat : http://jakarta.apache.org/tomcat/index.html. |