Ecole Supérieure du canton de Neuchâtel - filière informatique de gestion 1 1.1 Services applicatifs Installation de conteneur web JEE - Apache Tomcat Prérequis – installer une machine virtuelle java, voir installation de la machine virtuelle java – Pour quelques explications sur – Java Entreprise Edition voir [7, 4] – le conteneur web JEE Apache Tomcat voir [6, 1, ?] 1.2 Installation d’un tomcat de référence (CATALINA_HOME) – Télécharger un archive zip de tomcat (apache-tomcat-6.y.z.zip) sur [2]ou [5] – Extraire le contenu de l’archive en c :\usr ($JAVA_APPLICATION_ROOT). CATALINA_HOME=$JAVA_APPLICATION_ROOT\apache-tomcat-6.y.z – Lancer le serveur Tomcat avec C :\usr\apache-tomcat-6.0.29\bin\startup.bat – Accèder avec le navigateur Internet au site http://localhost:8080/ – Stopper le serveur Tomcat avec C :\usr\apache-tomcat-6.0.29\bin\shutdown.bat 1.2.1 Hiérarchie des dossiers Pour les détails de configuration voir [3] $CATALINA_HOME bin # contient les exécutables conf # contient les fichiers de configuration catalina.policy # fichier contenant la politique de sécurité catalina.properties # propriétés pour la JVM context.xml # 1 information sur le context # qui sera chargé par toutes les applications logging.properties # propriétés pour la journalisation server.xml # configuration du conteneur WEB tomcat-users.xml # configuration des utilisateurs locaux web.xml # descripteur d’application pasr défaut Catalina localhost 2 host-manager.xml manager.xml lib logs temp webapps docs examples host-manager manager ROOT # # # # contient contient contient contient les les les les librairies journaux d’exécution fichiers temporaires applications web # application d’administrateur de conteneur WEB # accessible par http://localhost:8080/manager/html # application par défaut accessible # par http://localhost:8080/ work 1. Le C ONTEXT représente une application web qui est exécuté par un virtual host. Chaque application web est basé sur une archive WAR (Web Application Archive), ou à un dossier correspondant au contenu d’une archive WAR, comme décrit dans les Servlet Specification (version 2.2 or later). 2. contient les options de configuration de Tomcat pour un context donnée. Ces options de configuration peuvent être pour la journalisation, l’accès au source de données, l’emplacement des fichiers de l’application etc. 1 Dominique Huguenin mailto:[email protected] Ecole Supérieure du canton de Neuchâtel - filière informatique de gestion Services applicatifs 1.3 Installation d’une instance tomcat (CATALINA_BASE) 1.3.1 Création de l’instance – Créer un dossier racine pour l’instance de tomcat (CATALINA_BASE) CATALINA_BASE=$JAVA_APPLICATION_ROOT\tomcat-instance – Créer dans CATALINA_BASE les dossiers suivant : $CATALINA_BASE | |- conf # contient les configurations de l’instance |- temp # contient les fichiers temporaires |- logs # contient les journaux d’erreurs et d’exécution |- webapps # contient les applications web de l’instance – Copier le contenu du dossier $CATALINA_HOME/conf dans $CATALINA_BASE/conf 1.3.2 Configuration de l’instance server.xml Pour configurer le serveur, éditer le fichier $CATALINA_BASE/conf/server.xml comme suit, vérifier que les numéro de ports soient compatibles : <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <GlobalNamingResources> <!-- Used by Manager webapp --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" /> <Host name="localhost" appBase="webapps" /> </Engine> </Service> </Server> tomcat-user.xml configurer les utilisateurs, éditer le fichier $CATALINA_BASE/conf/tomcat-user.xml comme suit : <?xml version="1.0" encoding="UTF-8"?> <tomcat-users> <user name="admin" password="<mot de passe> 3 " roles="manager" /> </tomcat-users> Les contextes pour les applications d’administration – Créer dans le fichier $CATALINA_BASE/conf/catalina/localhost/host-manager.xml contenant : 3. mot de passe : admin 2 Dominique Huguenin mailto:[email protected] Ecole Supérieure du canton de Neuchâtel - filière informatique de gestion Services applicatifs <Context docBase="${catalina.home}/webapps/host-manager" privileged="true" antiResourceLocking="false" antiJARLocking="false"> </Context> – Créer dans le fichier $CATALINA_BASE/conf/catalina/localhost/manager.xml contenant : <Context docBase="${catalina.home}/webapps/manager" privileged="true" antiResourceLocking="false" antiJARLocking="false"> <!-- Link to the user database we will get roles from --> <ResourceLink name="users" global="UserDatabase" type="org.apache.catalina.UserDatabase"/> </Context> 1.3.3 Création du script de démarrage et d’arrêt l’instance Script de démarrage – Créer le script de démarrage $CATALINA_BASE/instance-start.bat set CATALINA_HOME=<JAVA_APPLICATION_ROOT>\apache-tomcat set CATALINA_BASE=<JAVA_APPLICATION_ROOT>\tomcat-instance call %CATALINA_HOME%\bin\startup.bat – Lancer le script $CATALINA_BASE/instance-start.bat pour vérifier le fonctionnement. Avec le navigateur internet appeler l’url http://localhost:8080/manager/html et s’identifier avec l’utilisateur admin Script d’arrêt – Créer le script de d’arret $CATALINA_BASE/instance-stop.bat set CATALINA_HOME=<JAVA_APPLICATION_ROOT>\apache-tomcat set CATALINA_BASE=<JAVA_APPLICATION_ROOT>\tomcat-instance call %CATALINA_HOME%\bin\shutdown.bat – Lancer le script $CATALINA_BASE/instance-stop.bat pour vérifier le fonctionnement. La fenêtre de l’instance tomcat doit se fermer. 1.3.4 Création du script d’enregistrement du service installation de l’instance TOMCAT en service windows – Créer le script d’installation du service $CATALINA_BASE/service-install.bat set CATALINA_HOME=<JAVA_APPLICATION_ROOT>\apache-tomcat set CATALINA_BASE=<JAVA_APPLICATION_ROOT>\tomcat-instance call %CATALINA_HOME%\bin\service.bat install TomcatInstance – lance script $CATALINA_BASE/service-install.bat Dans la gestion des services (services) – Vérifier la présence du service TomcatInstance – Démarrer le service TomcatInstance et modifier la propriété type de démarrage à automatique – Avec le navigateur internet appeler l’url http://localhost:8080/manager/html et s’identifier avec l’utilisateur admin retrait du service TOMCAT des services Windows – Créer le script de désinstallation du service $CATALINA_BASE/service-remove.bat set CATALINA_HOME=<JAVA_APPLICATION_ROOT>\apache-tomcat set CATALINA_BASE=<JAVA_APPLICATION_ROOT>\tomcat-instance call %CATALINA_HOME%\bin\service.bat remove TomcatInstance – Dans la gestion des services (services), arreter le service TomcatInstance – Lancer script $CATALINA_BASE/service-remove.bat – Dans la gestion des services (services), rafraichir l’affichage et vérifier l’absence du service TomcatInstance 3 Dominique Huguenin mailto:[email protected] Ecole Supérieure du canton de Neuchâtel - filière informatique de gestion 1.4 Services applicatifs Références [1] Apache Tomcat - documentation. http://tomcat.apache.org/tomcat-6.0-doc/index.html. [2] Apache Tomcat - site. http://tomcat.apache.org/. [3] Apache Tomcat Configuration Reference. index.html. [4] Java Entreprise Edition - documentation. overview/index.html. http://tomcat.apache.org/tomcat-6.0-doc/config/ http://www.oracle.com/technetwork/java/javaee/ [5] SRVAPP - distribution des applications pour le cours. http://www.esne.ch/pub/intranet/ infogestion/supportsCours/SYS_INF/applications/. [6] Wikipedia - Apache Tomcat. http://fr.wikipedia.org/wiki/Apache_Tomcat. [7] Wikipedia - Java EE. http://fr.wikipedia.org/wiki/JEE. 4 Dominique Huguenin mailto:[email protected]