Apache Tomcat 8
Transcription
Apache Tomcat 8
Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s’adresse ce livre ? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 1.1 Le protocole HTTP 1.1.1 Les méthodes HTTP 1.1.2 Les codes d’état HTTP 1.1.3 Les en-têtes HTTP 1.1.4 Gestion des sessions utilisateurs : les cookies HTTP 1.2 Les serveurs Web 1.3 Les technologies côté client 1.4 Les technologies côté serveur 1.5 Les architectures n/tiers 2. Apache Tomcat et Java 13 14 16 17 18 20 21 21 23 24 26 2.1 La fondation Apache 2.2 Java chez Apache : le projet Jakarta 2.3 Les évolutions de Tomcat 2.4 La plate-forme Java 2.4.1 Historique 2.4.2 Java aujourd’hui 2.4.3 Java et Tomcat 26 27 28 29 29 31 33 La plate-forme Java EE 1. La plate-forme Java Enterprise Edition (Java EE) www.editions-eni.fr © Editions ENI 35 1/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 1.1 Le Java Community Process (JCP) 1.2 Une forte dépendance : les annotations 2. Les composants Java EE 38 2.1 Servlet 2.2 JavaServer Pages : JSP 2.3 Enterprise JavaBeans : EJB 2.4 Les entités Java 2.5 La technologie Web Socket 38 40 41 42 43 3. La plate-forme de service 44 3.1 JDBC : Java DataBase Connectivity 3.2 JNDI : Java Naming & Directory Interface 3.3 JMS : Java Message Service 3.4 JavaMail 3.5 JTA : Java Transaction API 3.6 RMI/IIOP : Remote Method Invocation/Internet InterORB Protocol 3.7 JCA : Java EE Connector Architecture 3.8 JAAS : Java Authentication and Authorization Service 3.9 XML 4. Les applications Java EE 45 45 45 46 46 47 47 47 47 48 4.1 Le modèle de développement MVC 4.2 Les différents modules Java EE 4.2.1 Modules Web 4.2.2 Modules EJB 4.2.3 Modules clients 4.2.4 Modules de connecteurs 4.3 Structure et packaging des applications 5. Les applications Web Java EE et Tomcat 5.1 Structure et arborescence d’une application Web 5.2 Le descripteur de déploiement : web.xml 5.3 Les sessions HTTP www.editions-eni.fr 36 37 © Editions ENI 49 50 51 51 52 52 52 54 54 56 59 2/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 6. Les serveurs d’applications Java EE 62 6.1 Rôles d’un serveur d’applications 6.2 Architecture d’un serveur d’applications 6.3 Les produits du marché 6.4 Le cas Apache Tomcat 62 63 65 66 Installation et configuration 1. Les différentes versions de Tomcat 67 2. Distribution de Tomcat 68 3. Installation de la plate-forme Java 69 3.1 Quelle version choisir ? 3.2 Installation et configuration 3.2.1 Sous Microsoft Windows 3.2.2 Sous Linux 69 69 69 74 4. Installation du serveur Tomcat 8 76 4.1 Sous Microsoft Windows 4.1.1 Installation à partir du package Windows 4.1.2 Installation à partir de l’archive ZIP 4.1.3 Création d’un service Windows pour Tomcat 8 4.2 Sous Linux 4.2.1 Installation à partir des paquets RPM 4.2.2 Installation à partir d’une archive 4.2.3 Démarrer Tomcat 8 à l’amorçage du système 5. Coupler Tomcat avec un serveur Web 84 5.1 Pourquoi utiliser un serveur Web frontal ? 5.2 Les différents connecteurs pour l’intégration avec un serveur Web 5.2.1 Le protocole AJP www.editions-eni.fr 76 77 78 79 80 80 82 82 © Editions ENI 84 85 86 3/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 5.2.2 Les modules AJP 5.3 Utiliser le serveur Web Apache 5.3.1 Configurer Tomcat et Apache avec un module AJP 5.3.2 Installer et configurer Apache 5.3.3 Installer et configurer Tomcat 8 5.3.4 Le module mod_jk 5.3.5 Les modules mod_proxy et mod_proxy_ajp 5.4 Utiliser le serveur Web Microsoft IIS 5.4.1 Configurer Tomcat et IIS avec le redirecteur JK 5.4.2 Configurer Tomcat 8 pour le redirecteur JK 5.4.3 Installer et configurer le redirecteur JK 5.5 Configurer les serveurs Web pour servir les ressources statiques 86 86 87 87 90 91 103 104 104 104 105 112 Administration du serveur 1. Architecture du serveur Tomcat 8 117 1.1 Les différents composants de Tomcat 8 1.2 Arborescence de l’installation 2. Le fichier server.xml 121 2.1 Les éléments de configuration 2.1.1 L’élément <Server> 2.1.2 L’élément <Service> 2.1.3 L’élément <Executor> 2.1.4 L’élément <Connector> 2.1.5 L’élément <Engine> 2.1.6 L’élément <Host> 2.1.7 L’élément <Context> 2.1.8 L’élément <Realm> 2.1.9 L’élément <Loader> 2.1.10 L’élément <Manager> 2.1.11 L’élément <JarScanner> 2.1.12 L’élément <Resources> 2.1.13 L’élément <Valve> www.editions-eni.fr 117 119 121 123 123 124 125 127 128 131 133 135 136 138 140 140 © Editions ENI 4/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 2.1.14 L’élément <Listener> 151 3. Les autres fichiers de configuration 152 3.1 Le fichier web.xml 3.1.1 Configuration de filtres 3.1.2 Les filtres Tomcat 8 3.2 Le fichier tomcat-users.xml 3.3 Le fichier catalina.policy 152 156 158 162 163 4. Configuration des ressources 163 4.1 Visibilité et portée des ressources 4.2 Pools de connexions et DataSource JDBC 4.2.1 La connectivité aux bases de données 4.2.2 Le pooling de connexions JDBC 4.2.3 Configuration d’un pool de connexions JDBC avec Tomcat 8 4.2.4 Mise en œuvre 4.3 Sessions JavaMail 4.4 JavaBeans 4.5 Entrées d’environnement 165 167 167 169 170 172 175 177 180 Déploiement et gestion des applications 1. Introduction 183 2. Déployer une application dans Tomcat 8 183 2.1 Déploiement automatique d’applications 2.2 Utiliser le répertoire webapps/ 2.3 L’élément <Context> 2.4 Déploiement avec XML 3. Les ressources des applications Web 187 3.1 Introduction et concepts 3.2 Les éléments de configuration www.editions-eni.fr 184 184 185 185 187 188 © Editions ENI 5/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 3.3 Mise en œuvre 189 4. L’application manager de Tomcat 8 190 4.1 L’interface texte 4.1.1 Installer une application sous Tomcat 8 4.1.2 Mettre à jour une application 4.1.3 Démarrer et arrêter une application 4.1.4 Recharger une application 4.1.5 Supprimer une application 4.1.6 Obtenir des informations 4.1.7 Les messages d’erreur du manager 4.2 L’interface HTML 4.2.1 Déployer des applications localement 4.2.2 Déployer des applications à distance 4.3 L’interface ANT 5. Le Deployer de Tomcat 193 193 195 195 196 197 197 200 201 202 203 204 207 5.1 Automatiser le déploiement des applications 208 La sécurité du serveur et des applications 1. Introduction 211 2. Authentification, autorisation et cryptage : le modèle de sécurité Java EE 211 2.1 Authentification 2.2 Autorisation 2.3 Cryptage 2.4 La sécurité des applications Web Java EE 3. Les Realms de Tomcat 222 3.1 User Database Realm 3.2 JDBC Realm 3.3 DataSource Realm www.editions-eni.fr 212 214 215 217 224 227 235 © Editions ENI 6/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 3.4 JNDI Realm 3.5 JAAS Realm 3.6 Combined Realm 3.7 LockOut Realm 237 242 245 245 4. Configuration de Tomcat pour le Single Sign-On 4.1 La Valve d’authentification unique 5. Sécurisation avec SSL 246 246 247 5.1 Génération des certificats et clés de cryptage 5.2 Configuration du connecteur HTTPS 5.3 Utiliser le serveur Web Apache comme serveur frontal HTTPS 6. Restrictions d’accès 248 251 253 254 6.1 Restriction par adresse IP 6.2 Restriction par nom de machine 255 256 7. Le gestionnaire de sécurité : utiliser Tomcat en mode sécurisé 7.1 Lancer Tomcat en mode sécurisé 7.2 Configuration du gestionnaire de sécurité pour Tomcat 8. Autres considérations de sécurité 256 259 259 261 8.1 Exécuter Tomcat 8 avec un compte sans privilèges 8.1.1 Configuration sous Windows 8.1.2 Configuration sous Linux 262 262 264 Analyse et supervision 1. Les fichiers journaux de Tomcat 8 267 1.1 Configuration des journaux de Tomcat 8 1.1.1 Le système de journalisation de Tomcat 8 1.1.2 Structure du fichier logging.properties 1.1.3 Le fichier logging.properties par défaut www.editions-eni.fr © Editions ENI 267 267 268 272 7/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 1.2 Configuration des journaux avec Log4J 1.2.1 Le système de journalisation Log4J 1.2.2 Utiliser Log4J avec Tomcat 2. Tester la montée en charge du serveur 2.1 Apache JMeter 2.1.1 Écrire des plans de test Web avec JMeter 2.1.2 Plans de test avancés : les composants de JMeter 2.1.3 Stratégie de conception des tests : un exemple complet 2.2 Optimisation et reconfiguration de Tomcat 2.2.1 Les paramètres d’optimisation de Tomcat 8 2.2.2 La machine virtuelle Java 3. Utiliser l’interface JMX de Tomcat 273 273 273 276 276 278 283 290 292 292 297 299 3.1 Qu’est-ce que JMX ? 3.2 JMX et Tomcat 3.3 Utiliser un client 3.3.1 Configurer la machine virtuelle de Tomcat 8 3.3.2 Configurer Tomcat 8 3.3.3 Lancement de JConsole 299 300 304 304 306 307 Clustering avec Tomcat 1. Introduction au clustering avec Tomcat 8 309 2. Une solution de haute disponibilité avec Tomcat 8 310 2.1 Une infrastructure disponible et performante 310 3. Configuration d’un cluster Tomcat 8 311 3.1 Installer plusieurs instances de Tomcat 8 sur la même machine 3.2 Répartition de charge avec les modules AJP 3.2.1 Configuration avec Apache HTTP Server et mod jk 3.2.2 Configuration avec Apache HTTP Server et mod_proxy_ajp www.editions-eni.fr © Editions ENI 311 314 315 319 8/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 3.2.3 Configuration avec Microsoft IIS 3.3 Configuration d’un cluster Tomcat 8 en mode maître/esclave 4. Maintenir l’état des clients dans un cluster 4.1 La problématique 4.2 Les solutions 4.2.1 La réplication de mémoire à mémoire 4.2.2 Les sessions persistantes sur système de fichiers 4.2.3 Les sessions persistantes en base de données 5. Déploiement d’applications dans un cluster Tomcat 8 5.1 Configuration du deployer en cluster 5.2 Conclusion 319 320 321 321 323 324 331 334 337 337 338 Utiliser Tomcat pour le développement 1. Introduction 339 2. Développer avec Eclipse 340 2.1 Les perspectives et les vues 2.2 Les plug-ins d’Eclipse pour Tomcat 3. Développer avec NetBeans 351 3.1 Configuration d’un serveur Tomcat 8 4. Apache ANT 352 355 4.1 Installation 4.2 Construction d’un projet 4.3 Générer les archives de déploiement 4.4 Déployer sur le serveur 5. Intégration de librairies tierces-parties 355 358 360 361 363 5.1 Exemples avec Struts www.editions-eni.fr 341 342 363 © Editions ENI 9/10 Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux 5.2 Exemple avec Hibernate 5.3 Pour conclure... 364 365 Installation et configuration de MySQL 1. Introduction 367 2. Téléchargement 367 3. Installation sous Windows 368 4. Installation sous Linux 373 Installation et configuration d'OpenLDAP 1. Installation sous Windows 375 2. Installation sous Linux 377 3. Configuration 378 4. Installation de JXplorer 379 5. Importation d’un fichier LDIF 382 Index 385 www.editions-eni.fr © Editions ENI 10/10