Utiliser Apache en frontal de Tomcat

Utiliser Apache en frontal de Tomcat

Cet article va vous expliquer comment connecter le serveur HTTP de Apache avec Tomcat.

Cela permettra de :

  • répartir les charges entre les 2 serveurs
  • utiliser les fonctionnalités du serveur Apache comme l’url rewriting
  • gérer le SSL

Environnement

L’article a été réalisé sous l’environnement suivant :

  • Windows XP
  • Apache HTTP 2.0.59
  • Apache Tomcat 5.5.20

Pour faire le lien entre les 2 serveurs, il vous faudra télécharger sur le site Tomcat Connector le module mod_jk pour Apache : http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/. Dans notre cas, vous devez choisir le fichier situé dans le répertoire win32/jk-x.y.zz nommé mod_jk-apache-2.0.xx.so.

Configuration de mod_jk

Pour configurer le module de Apache, nous allons créer un fichier dans le répertoire conf du serveur Apache. Dans notre cas, nous allons l’appeler workers.properties.

Dans ce fichier, nous allons ajouter les lignes suivantes :

worker.list=default
worker.default.type=ajp13
worker.default.host=127.0.0.1
worker.default.port=8009

Un peu d’explication sur les parmètres que nous venons de saisir :

  • worker.list : définit le nom de la liste de paramètres qui sera utilisée. Comme vous pouvez le remarquer, le nom de la liste spécifiée fait partie des noms de paramètres suivants
  • worker.default.type : le type de worker utilisé pour faire le lien entre Apache et Tomcat ; la valeur de ce paramètre doit être l’une des suivantes : ajp13, ajp14, jni, lb ou status ; par défaut, il s’agit de ajp13
  • worker.default.host : le nom ou l’adresse IP du serveur Tomcat
  • worker.default.port : indique le port

Installation de mod_jk

La mise en place du module mod_jk est très simple :

  1. Copiez le fichier mod_jk-apache-2.0.xx.so que vous avez téléchargé dans le répertoire modules de votre distribution du serveur Apache
  2. Éditez le fichier conf.httpd du répertoire conf
  3. Recherchez le groupe de ligne commençant par LoadModule
  4. Ajoutez à la fin de ce groupe de lignes l’instruction suivante LoadModule jk_module modules/mod_jk-apache-2.0.xx.so
  5. Ajoutez à la fin du fichier les lignes suivantes
JkWorkersFile "W:/Apache2/conf/worker.properties"
JkLogFile "W:/Apache2/logs/mod_jk.log"
JkLogLevel warning
JkMount /monApplication default
JkMount /monApplication/* default

Arrêtons nous un instant sur les dernières lignes que nous venons d’ajouter :

  • JkWorkersFile : indique le chemin vers le fichier de configuration, workers.properties, que nous avons créé (n’oubliez pas de préciser votre chemin)
  • JkLogFile : le chemin vers le fichier de log (idem que précédemment, il faut utiliser vos propres paramètres)
  • JkLogLevel : le niveau de log à partir duquel les informations seront enregistrées dans votre fichier de log
  • JkMount : indique le lien entre votre application J2EE installée dans le Tomcat (monApplication) et le worker que vous avez défini

Démarrage des serveurs

Vous pouvez maintenant démarrer votre serveur Tomcat puis votre serveur Apache. Pour tester le bon fonctionnement de votre configuration, après le démarrage de vos serveur, il vous suffit de démarrer votre navigateur Web préféré et de saisir l’adresse http://localhost/monApplication ; vous devriez alors avoir accès à votre application J2ee.