Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:comment_coupler_apache_et_tomcat_avec_support_ssl [Le 01/06/2008, 21:05]
84.98.165.208, 213.95.41.13
tutoriel:comment_coupler_apache_et_tomcat_avec_support_ssl [Le 11/09/2022, 12:21] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>dapper reseau web serveur tutoriel}}+{{tag>réseau internet ​serveur tutoriel ​VÉTUSTE}}
  
 ---- ----
 +
 +====== Comment coupler Apache2 avec un serveur d'​application Tomcat (avec support SSL) ? ======
  
 ===== Introduction ===== ===== Introduction =====
  
-Le conteneur de servlet Tomcat est très pratique pour des projets J2EE d'​envergure moyenne. Il est relativement simple à installer et à administrer.+Le conteneur de servlet ​[[:Tomcat]] est très pratique pour des projets J2EE d'​envergure moyenne. Il est relativement simple à installer et à administrer.
  
 Un serveur Tomcat sert les requêtes (HTTP) par défaut sur un port différent des ports standards destinés au web. Ces requêtes sont servies par le biais d'un petit moteur HTTP simpliste nommé //Coyote//. Bien que parfaitement adapté à des situations de développement,​ ce moteur HTTP est moins robuste qu'​Apache pour la montée en charge et la gestion des caches. De plus, ce moteur //Coyote// ne prend pas en charge le SSL nativement. Un serveur Tomcat sert les requêtes (HTTP) par défaut sur un port différent des ports standards destinés au web. Ces requêtes sont servies par le biais d'un petit moteur HTTP simpliste nommé //Coyote//. Bien que parfaitement adapté à des situations de développement,​ ce moteur HTTP est moins robuste qu'​Apache pour la montée en charge et la gestion des caches. De plus, ce moteur //Coyote// ne prend pas en charge le SSL nativement.
Ligne 16: Ligne 18:
  
  En rédigeant cette documentation,​ je pars des principes suivants :  En rédigeant cette documentation,​ je pars des principes suivants :
-  - Vous avez une machine fonctionnelle et à jour sous Dapper.+  - Vous avez une machine fonctionnelle et à jour sous [[:Xenial]].
   - Vous avez un [[:Tomcat]] installé et fonctionnel sur son port par défaut.   - Vous avez un [[:Tomcat]] installé et fonctionnel sur son port par défaut.
   - Vous avez un certificat SSL disponible dans ''/​etc/​ssl''​. ([[tutoriel:​comment_creer_un_certificat_ssl|une page expliquant la marche à suivre existe dans le wiki]])   - Vous avez un certificat SSL disponible dans ''/​etc/​ssl''​. ([[tutoriel:​comment_creer_un_certificat_ssl|une page expliquant la marche à suivre existe dans le wiki]])
 +  - Votre FAI ne bloque pas le port 80, si votre FAI le bloque suivez [[:​fai_bloque_port_80|ce tutoriel]] après l'​installation d'​apache2.
 ===== Installation et configuration ===== ===== Installation et configuration =====
 +==== Installation d'​Apache 2 et du module mod_JK====
  
-==== Installation ​d'​Apache 2 et du module ​====+Tout d'abord, nous installons dans le serveur ​Apache 2,   le connecteur "​JK"​ destiné à faire le lien avec Tomcat  ​et le "​multi-processing ​module ​prefork"​ préférable pour les machines .NIX
  
-Tout d'​abordnous devons installer une version légèrement modifiée d'Apache ​2Nous installons ​donc le paquet ''​apache2-mpm-prefork''​ et le module destiné à faire le lien avec Tomcat ​''​libapache2-mod-jk''​ :+//This Multi-Processing Module (MPM) implements a non-threadedpre-forking web server that handles requests in a manner similar to Apache ​1.3// 
 + 
 +Pour cela nous installons ​les paquet ''​apache2-mpm-prefork''​ et ''​libapache2-mod-jk''​ :
  
 <​code>​ <​code>​
Ligne 30: Ligne 35:
 </​code>​ </​code>​
  
-Ensuite, nous effectuons une configuration de base du module jkEn éditant ​le fichier ''​/etc/apache2/mods-available/jk.load''​ de la manière suivante ​:+Notes : 
 +  * la documentation sur les différents "​mpm" ​du serveur apache2 est ici :​[[http://​httpd.apache.org/​docs/​2.0/​mpm.html]] 
 +  * la documentation sur le module "​mod_jk"​ est ici : [[http://httpd.apache.org/docs/2.0/​mod/​mod_proxy.html]] 
 +  * Les directives du module mod_jk sont décrite ici [[https://​tomcat.apache.org/​connectors-doc/​reference/​apache.html]]
  
 +Pour créer les règles de redirection il faut utiliser la directive JKMount dans le fichier décrivant le VirtualHost "​*:​80"​ à savoir :"/​etc/​apache2/​sites-enabled/​000-default"​
 <​file>​ <​file>​
-LoadModule jk_module ​/usr/lib/apache2/​modules/​mod_jk.so +<​VirtualHost *:80> 
- + ServerAdmin webmaster@localhost 
-JkWorkersFile ​/etc/apache2/​workers.properties + DocumentRoot ​/var/www/ 
-JkLogFile ​/var/log/apache2/​mod_jk.log + ..
-JkLogLevel debug + JkMount ​/contextA/* ajp13_worker 
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " + JkMount ​/contextB/jsps/*.jsp ajp13_worker 
- +</VirtualHost>​
-JkMount ​worker1 +
-JkMount /* worker1+
 </​file>​ </​file>​
  
-Assurez-vous que le lien symbolique ''/​etc/​apache2/​mods-enabled/​jk.load''​ existe bien et pointe bien vers ''/​etc/​apache2/​mods-available/​jk.load''​.+Ici, contextA ​et contextB correspondent aux applications web déployées sur tomcat.
  
 +Notes :
 +  * ajp13_worker est le nom du worker défini par défaut dans le fichier "/​etc/​libapache2-mod-jk/​workers.properties"​
 +  * Pour changer le nom du worker, vous pouvez modifier ce fichier ou bien indiquer à apache d'en charger un autre en modifiant la propriété JkWorkersFile du fichier "/​etc/​apache2/​mods-available/​jk.conf"​
 ==== Configuration du lien avec Tomcat ==== ==== Configuration du lien avec Tomcat ====
  
-Créez ​le fichier ​''​/etc/apache2/workers.properties''​ avec les informations suivantes :+Pour activer le connecteur ajp, il faut modifier ​le fichier /etc/tomcat8/server.xml
  
-<​file>​ +Cherchez le bloc de code suivant :
-workers.tomcat_home=/​opt/​apache-tomcat-5.5.20 +
-workers.java_home=/​usr/​lib/​jvm/​java-1.5.0-sun +
-ps=/ +
-worker.list=worker1 +
-worker.worker1.port=8009 +
-worker.worker1.host=localhost +
-worker.worker1.type=ajp13 +
-worker.worker1.lbfactor=1 +
-</​file>​+
  
-Les valeurs ''​tomcat_home'',​ ''​java_home''​ et ''​worker1.host''​ sont à adapter suivant votre configuration Tomcat et Java.+<​code>​ 
 +    <!-- Define an AJP 1.3 Connector on port 8009 --> 
 +    <!-- 
 +    <​Connector port="​8009"​ protocol="​AJP/​1.3" redirectPort="​8443"​ /> 
 +    --> 
 +</​code>​
  
-Redémarrez ​le serveur Apache.+Et décommentez-le :
  
 <​code>​ <​code>​
-sudo /etc/init.d/apache2 ​restart+    <!-- Define an AJP 1.3 Connector on port 8009 --> 
 +    <​Connector port="​8009"​ protocol="​AJP/1.3" redirectPort="​8443" ​/
 +</​code>​ 
 + 
 +Puis redémarrez le serveur Tomcat : 
 + 
 +<​code>​ 
 +sudo service tomcat8 ​restart
 </​code>​ </​code>​
  
Ligne 130: Ligne 143:
 ---- ----
  
-// Contributeur : [[utilisateurs:​ostaquet]] //+// Contributeur : [[utilisateurs:​ostaquet]], [[utilisateurs:​charlycoste]] //
  • tutoriel/comment_coupler_apache_et_tomcat_avec_support_ssl.1212347130.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)