Apache Tomcat · 9 min read · Oct 23, 2025

Intégration simple d'Apache 2 Tomcat 5 mod_jk

Intégration simple d’Apache 2 Tomcat 5 mod_jk

Le tutoriel entier est basé sur de nombreux tutoriels, mais j’en ai fait un très simple, sans hôtes virtuels. CECI N’A ÉTÉ TESTÉ QUE SUR DEBIAN 3.1 !!!! Cela pourrait ne pas fonctionner sur d’autres distributions …

La principale source d’informations peut être trouvée ici :

https://www.howtoforge.com/apache2_tomcat5_mod_jk

Installation d’Apache2

J’ai suivi ce lien : https://www.howtoforge.com/perfect_setup_debian_sarge_p5

Exécutez

apt-get install apache2 apache2-doc   
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick

Éditez /etc/apache2/apache2.conf. Changez

| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |

à

| DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |

Éditez /etc/mime.types et commentez les lignes suivantes :

| #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 |

Éditez /etc/apache2/mods-enabled/php4.conf et commentez les lignes suivantes :

| # AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps |

Éditez /etc/apache2/ports.conf et ajoutez Listen 443 :

| Listen 80 Listen 443 |

Maintenant, nous devons activer certains modules Apache (SSL, réécriture et suexec) :

a2enmod ssl   
a2enmod rewrite   
a2enmod suexec   
a2enmod include

Redémarrez Apache :

/etc/init.d/apache2 restart

Un nouvel utilisateur www-data sera automatiquement créé dans le système.

Installation de JDK (Java Development Kit)

Pour exécuter Tomcat, vous devrez installer JDK et définir la variable d’environnement JAVA_HOME pour identifier l’emplacement de l’environnement JDK sur votre système. J’ai choisi d’utiliser JDK 5.0.

  1. Vous pouvez télécharger JDK 5.0 à http://java.sun.com/j2se/1.5.0/download.jsp.
  2. Cliquez sur Télécharger JDK 5.0 Mise à jour 6 pour accéder à la page de téléchargement.
  3. Cliquez sur Accepter pour accepter l’accord de licence.
  4. Ensuite, choisissez le fichier auto-extractible Linux. C’est le téléchargement pour le fichier binaire auto-extractible plutôt que le rpm.
  5. Téléchargez dans votre répertoire de téléchargement préféré. Changez de répertoire et rendez-le exécutable en exécutant la commande suivante :
chmod +x jdk-1_5_0_06-linux-i586.bin

Exécutez maintenant le fichier :

./jdk-1_5_0_06-linux-i586.bin

Vous devriez maintenant avoir un nouveau répertoire appelé jdk1.5.0_06. Déplacez maintenant ce répertoire à l’emplacement où il doit être exécuté. J’ai choisi /usr/lib/.

mv jdk1.5.0_06 /usr/lib

Créez maintenant un lien symbolique appelé jdk vers JAVA_HOME avec la commande suivante. Cela vous permet de basculer facilement entre différentes JVM si jamais vous en avez besoin.

cd /usr/lib   
ln -s jdk1.5.0_06 jdk

Nous devons maintenant définir la variable d’environnement JAVA_HOME. Ajoutez ce qui suit à la fin de /etc/profile juste après export PATH.

| JAVA_HOME="/usr/lib/jdk" export JAVA_HOME |

/etc/profile est exécuté au démarrage et lorsque l’utilisateur se connecte au système. Pour mettre à jour l’environnement, vous devrez vous déconnecter et vous reconnecter au système.

Vérifiez que JAVA_HOME est défini correctement en exécutant la commande ci-dessous. Cela devrait rapporter l’emplacement du SDK Java qui devrait être /usr/lib/jdk.

echo $JAVA_HOME

Installation de Tomcat

Dans cette section, vous allez télécharger et installer Apache Tomcat 5.5.16. Pour cette configuration particulière, il n’est pas nécessaire de construire le paquet à partir de la source, nous allons télécharger la version binaire.

  1. Téléchargez la version binaire dans votre répertoire de téléchargement préféré depuis ici : http://tomcat.apache.org/download-55.cgi. Choisissez le tar.gz de la section core pour 5.5.16.

  2. Changez maintenant de répertoire et extrayez les fichiers en utilisant la commande suivante :

cd /mydownloads #(assurez-vous de changer vers votre répertoire de téléchargement)   
tar xvzf apache-tomcat-5.5.16.tar.gz

Vous devriez maintenant avoir un nouveau répertoire appelé apache-tomcat-5.5.16. Déplacez maintenant ce répertoire à l’emplacement où il doit être installé. Encore une fois, j’ai choisi /usr/lib/. Notez que cet emplacement sera appelé CATALINA_HOME dans la documentation de Tomcat.

mv apache-tomcat-5.5.16 /usr/lib
  1. Ensuite, changez de répertoire vers /usr/lib/.
cd /usr/lib
  1. Maintenant, créez un lien symbolique appelé apache-tomcat vers le CATALINA_HOME avec la commande suivante.
ln -s apache-tomcat-5.5.16 apache-tomcat

Cela vous évitera d’avoir à apporter des modifications aux scripts de démarrage et d’arrêt chaque fois que vous mettez à jour Tomcat et, si vous le souhaitez, cela vous permet également de garder plusieurs versions de Tomcat sur votre système et de basculer facilement entre elles.

Vous devriez maintenant être en mesure de démarrer et d’arrêter Tomcat depuis le répertoire CATALINA_HOME/bin. Si vous utilisez un autre shell que le shell bash, vous devrez ajouter sh au début de la commande. Vous devriez maintenant être en mesure de tester que Tomcat est installé en le démarrant et en ouvrant votre navigateur et en entrant http://localhost:8080 dans votre navigateur. Le port 8080 est le port par défaut pour Tomcat et peut être facilement changé dans le fichier /usr/lib/apache-tomcat/conf/server.xml. (Nous travaillerons avec ce fichier plus tard.) Si vous prévoyez d’accéder à cette page à distance, assurez-vous de rediriger le port respectif vers l’adresse IP de votre serveur dans votre routeur. Vous devriez maintenant voir la page d’accueil de Tomcat qui contient des liens vers la documentation de Tomcat ainsi que des scripts JSP/Servlet d’exemple. Vérifiez que Tomcat fonctionne en exécutant certains des exemples trouvés sur la page d’accueil.

cd /usr/lib/apache-tomcat/bin   
./startup.sh

Pour arrêter le serveur, vous devrez exécuter la commande suivante. N’hésitez pas à l’essayer, mais pour l’instant, nous laisserons Tomcat en cours d’exécution.

./shutdown.sh

Installation et configuration de mod_jk

Pour établir la connexion entre Tomcat et Apache, nous devrons télécharger et installer le connecteur mod_jk. Vous constaterez que la documentation d’Apache recommande d’installer la version empaquetée de mod_jk si elle est disponible pour votre distribution Linux particulière. De nombreuses ressources obsolètes recommandent d’installer le connecteur mod_jk2, mais j’ai constaté qu’il a été déprécié et bien que mod_jk ait été développé avant mod_jk2, il est toujours entièrement pris en charge et est très stable.

Mike Millson a donné de bonnes raisons d’utiliser mod_jk pour connecter Tomcat à Apache pour Red Hat ici : Intégration de Tomcat et Apache sur Red Hat Linux.

  1. J’ai choisi de télécharger la source actuelle des archives Apache : http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/. Téléchargez le fichier jakarta-tomcat-connectors-1.2.15-src.tar.gz dans votre répertoire /usr/src/.

  2. Changez de répertoire vers /usr/src.

cd /usr/src
  1. Ensuite, extrayez le contenu pour créer le répertoire /usr/src/jakarta-tomcat-connectors-1.2.15-src.
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
  1. Changez de répertoire vers /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
  1. Maintenant, vous êtes prêt à créer le fichier de configuration personnalisé pour votre système. Exécutez ce qui suit :
./buildconf.sh

Cela créera un fichier de configuration dans le répertoire /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.

  1. Exécutez la commande suivante afin de configurer mod_jk pour votre système.
    Remarque importante : Vous devrez avoir apxs2 (outil d’extension APache) installé et configuré avec Apache. Si vous ne l’avez pas, comme c’était mon cas, vous pouvez télécharger et installer le paquet apache2-threaded-dev (qui a remplacé l’ancien paquet apache-dev) depuis www.debian.org. Au moment de la rédaction de cet article, l’archive des paquets Debian sur www.debian.org était en panne et ils m’ont référé à leur site temporaire jusqu’à ce qu’ils résolvent leurs problèmes pdo.debian.net. J’ai trouvé le paquet apache2-threaded-dev et j’ai pu l’installer avec succès.
    Assurez-vous d’inclure l’emplacement correct d’apxs2 sur votre système dans le chemin de la commande.
./configure --with-apxs=/usr/bin/apxs2
  1. Maintenant, construisez le mod_jk avec ce qui suit :
make
  1. Enfin, si vous avez réussi avec les commandes précédentes, copiez le mod_jk.so nouvellement créé dans votre répertoire de modules Apache2. Mes modules étaient situés à /usr/lib/apache2/modules.
cd apache-2.0   
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules

Vous êtes maintenant prêt à passer à l’étape suivante qui consiste à commencer à configurer Apache et Tomcat. Vous pouvez trouver plus d’informations sur le connecteur mod_jk à http://tomcat.apache.org/connectors-doc/howto/apache.html.

Configuration de Tomcat et Apache

Créez le fichier workers.properties.
Remarque importante : Assurez-vous de faire une copie de sauvegarde de vos fichiers de configuration avant de les modifier.
Le fichier workers.properties contient les détails sur la façon dont chaque processus est lié à Tomcat en définissant des workers qui communiquent via le protocole ajpv13. Consultez le Workers HowTo pour plus de détails.

  1. Tout d’abord, créez le fichier workers.properties dans votre répertoire racine Apache2.
touch /etc/apache2/workers.properties
  1. Ensuite, ouvrez le fichier workers.properties et ajoutez ce qui suit. Vous pouvez trouver de nombreux autres exemples de fichiers workers.properties sur Internet, mais celui-ci est celui que j’ai créé et il semble bien fonctionner avec les autres parties qui ont déjà été configurées dans ce tutoriel.

| workers.tomcat_home=/usr/lib/apache-tomcat workers.java_home=/usr/lib/jdk ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 |

  1. Enregistrez et fermez le fichier.

  2. Maintenant, nous devons ouvrir le fichier /etc/apache2/apache2.conf et ajouter les lignes suivantes en bas. (httpd.conf est juste pour la compatibilité ascendante) :

| LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # Où trouver workers.properties JkWorkersFile /etc/apache2/workers.properties # Où mettre les journaux jk JkLogFile /var/log/apache2/mod_jk.log # Définir le niveau de journalisation jk [debug/error/info] JkLogLevel info # Sélectionner le format de journal JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indique d'envoyer la TAILLE DE LA CLÉ SSL, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat définit le format de la requête JkRequestLogFormat "%w %V %T" # Envoyer le servlet pour le contexte / jsp-examples au worker nommé worker1 JkMount /jsp-examples worker1 # Envoyer les JSP pour le contexte /jsp-examples/* au worker nommé worker1 JkMount /jsp-examples/* worker1 |

Enregistrez et fermez le fichier.

Maintenant, un dernier point de sécurité.

Nous allons créer un groupe et un utilisateur tomcat tomcat comme ceci :

groupadd tomcat   
useradd -g tomcat tomcat

Ensuite, changez l’utilisateur et le groupe du chemin Tomcat :

chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16

Pour changer le mot de passe de l’utilisateur tomcat, avec root tapez :

passwd tomcat

et suivez les instructions.

Ensuite, pour démarrer et arrêter le serveur Tomcat, vous devriez utiliser l’utilisateur tomcat.

su - tomcat

Maintenant, arrêtez et démarrez Tomcat :

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Et redémarrez Apache :

/etc/init.d/apache2 restart

C’est fait.

Test :

Dans ce test, nous dirigeons toutes les URL qui commencent par “ /jsp-examples “ vers Tomcat.
Dans une situation réelle, nous pourrions seulement diriger les JSP ou les servlets vers le worker JK.

Assurez-vous qu’aucun autre serveur ne fonctionne sur les ports Tomcat par défaut de 8005, 8009 et 8080.
Assurez-vous qu’aucun autre serveur ne fonctionne sur le port Apache, qui est normalement 8080 ou 80.

Démarrez d’abord Tomcat : Démarrez toujours Tomcat en premier, puis démarrez Apache.
Si vous devez redémarrer Tomcat, n’oubliez pas d’arrêter d’abord Apache et de le redémarrer après le redémarrage de Tomcat.
Démarrez Apache : Pointez votre navigateur vers http://localhost et vérifiez que vous obtenez la page par défaut d’Apache. Remplacez “localhost” par le nom de la machine/IP réelle si nécessaire.

Pointez votre navigateur vers http://localhost:8080 et vérifiez que vous obtenez la page par défaut de Tomcat.

Pointez votre navigateur vers http://localhost/jsp-examples/ et vérifiez que vous obtenez la page d’index pour les exemples de Tomcat.

Cela sera servi par Apache et indiquera que vous avez réussi votre intégration d’Apache et Tomcat.

Références et chemins :

Conf Tomcat :

/usr/lib/apache-tomcat/conf/server.xml

Arrêt et démarrage de Tomcat :

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Modules Apache :

/usr/lib/apache2/modules

Conf Apache :

/etc/apache2/workers.properties   
/etc/apache2/apache2.conf   
/etc/apache2/httpd.conf

Apache2 :

/etc/init.d/apache2 restart   
/etc/init.d/apache2 stop   
/etc/init.d/apache2 start

Pour ceux qui ont besoin d’aide avec ce tutoriel, veuillez poster vos questions ici :

https://www.howtoforge.com/forums/showthread.php?t=3595

Ou même si vous trouvez des erreurs dans le tutoriel, veuillez me le faire savoir dans le forum.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.