Administration web: Apache, JBoss et Tomcat

Introduction

  • Historique
  • La licence d'Apache
  • Un serveur robuste et modulaire

Rappel sur l'architecture Internet et le protocole HTTP

  • Le réseau d'interconnexion des réseau : DoD Internet
  • Généralités sur les réseaux TCP/IP
  • Notion d'URL, HTTPv1.0 et HTTPv1.1
  • Contenu et type MIME
  • Les cookies
  • Généralités sur SSL

Introduction à Apache

  • Description et rappels historiques
  • Les versions d'Apache (1 et 2)
  • La structure d'Apache (architecture, modules, handlers, pools, traitement des requêtes (processus, thread), parallélisme...)
  • Arborescence du serveur (fichier de log ..)

Installation et configuration d'Apache

  • Installation à partir des paquets binaires (Red Hat, Debian)
  • Installation à partir du code source (choix des options de compilation, compilation séparée des modules)
  • Construction d'un module
  • Sécurisation d'HTTP à l'aide de la librairie SSL (création de certificat, rattachement à une AC via une PKI)
  • Apache en tant que proxy, introduction au reverse proxy

Logging sous Apache

  • Surveillance d'Apache (mod_status, server-status)
  • Lancement / arrêt du serveur

Configuration du serveur Apache

  • Format du fichier httpd.conf (les directives de groupe : Directory, Location et File)
  • Identification du serveur
  • Emplacements de fichiers
  • Fonctionnement du processus httpd (directives communes, UNIX et Windows, options de httpd)
  • Les modules (statiques / dynamiques (DSO), chargement / déchargement, chargement inverse / exécution, création de modules)

Configuration avancée et administration du serveur

  • Le module mod_mime
  • Modules fournis avec Apache
  • Modules extérieurs
  • Virtual hosting
  • Nouveauté d'Apache 2 (multiprocessing)
  • Administration (apachectl, webmin)

Apache et les technologies de génération dynamique de pages Web

  • Panorama des méthodes côté client (JavaScript, Java et la JVM, ActiveX)
  • Panorama des méthodes côté serveur (PHP, CGI, Perl, Servlet, JSP, SSI)
  • LAMP (installation, configuration des modules et test)

Sécurité avec Apache

  • Gestion des répertoires
  • Contrôle d'accès fin et limitation au protocole HTTP - .htaccess méthode basique et MD5
  • Capture de trames et mise en évidences de lacunes (tcpdump + arpspoof, récupération de mot de passe...)
  • Fichier de log (directives associées)
  • Parser de logs (awstats, Webalizer...)

JBoss

  • Présentation
  • L'architecture JBoss : le noyau, la couche services, la couche présentation, la couche application, le principe JMX et les Mbeans
  • Les outils JBoss : Hibernate, AOP, cache IDE
  • Installation, configuration

Le modèle JEE

  • Terminologie : application Web, container, sources de données, pilote JDBC, hôtes virtuels
  • Visualisation dans la console JMX de JBoss
  • Configuration des services essentiels : JBossWeb, JNDI, JBossMQ...
  • Déploiement d'applications avec le scanner de déploiement
  • Mise en place d'un référentiel central d'applications
  • Architecture d'exploitation pour les applications

Lien avec Tomcat

  • Installation de Tomcat et modification des paramètres de base
  • Activation du service Tomcat dans la configuration JBoss
  • Le fichier server.xml

Intégration

  • Les différents composants d'une application : les fichiers application d'entreprise (.ear), les fichiers EJB (.jar), les fichiers application Web (.war)
  • Regroupement de composants unitaires en une application

Cluster

  • Fonctionnement en cluster ou en grappes de serveurs
  • Configuration d'un cluster, modifications des paramètres réseaux
  • Fonctionnement en multi-partitions
  • Réplication de sessions
  • Distribution de sessions HTTP
  • Routage de niveau 7
  • Les outils
  • Mise en place de pound et mod_jk
  • Réplication d'EJB, HA-JNDI

Automatisation

  • Exploitation par scripts avec twiddle
  • Recherche de MBeans
  • Écriture d'un script de visualisation de statistiques sur un cluster : taux d'utilisation mémoire, nombres de requêtes, connexions JDBC
  • Scripts locaux avec bshDeployer

Outils d'exploitation

  • Lancement JBoss depuis un référentiel : netboot
  • La gestion des performances, utilisation du MBean SNMP
  • Les fichiers de logs, résolution d'incidents

Définition JEE (rappel)

  • Architecture JEE
  • Serveur d'applications JEE
  • Modules JEE (Web, client, ejb, connecteurs)
  • Définition application Web : servlet - JSP

Architecture du produit

  • Historique
  • Java et Tomcat
  • Catalina, jasper, connecteurs, valves...

L'installation du produit

  • Installation, configuration, test de Tomcat
  • Server.xml, Web.xml

Intégration avec Apache

  • Connecteur Tomcat
  • Module mod_jk et Worker
  • Module mod_proxy

Le déploiement et la gestion d'application Web

  • Déploiement - répertoire de déploiement - WAR
  • Intégration avec un SGBD (pool de connexion, Datasource)

La sécurité du produit

  • Bonnes pratiques sur la sécurité de Tomcat
  • JAAS, Realm : mise en place au sein d'application Web

Superviser Tomcat

  • Monitoring du serveur : Java Management Extensions JMX
  • Journalisation : système de logs du JDK, JULI (Tomcat), LOG4J

Les performances

  • Monitorage de la JVM : outils du JDK
  • Profiling (JVisualVM)

Le cluster

  • Définition, architecture et solutions
  • Load balancing
  • Mise en place d'un cluster
Subscribe to Notre catalogue de formations