Autres versions

Vous êtes ici : Installer et exploiterInstallationServeur applicatifApache

Installation d'Apache mod_jk

Procédure d'installation du module mod_jk Apache

Cette page décrit les étapes de configuration du module apache mod_jk d'Apache, à installer sur le serveur applicatif.

1 - Installation

  • Sur Debian
    apt-get install libapache2-mod-jk
  • Sur Redhat
    yum install gcc gcc-c++ httpd-devel make libtool wget
    wget http://www.eu.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz
    tar xvzf tomcat-connectors-1.2.42-src.tar.gz
    cd tomcat-connectors-1.2.42-src/native
    ./configure -with-apxs=/usr/sbin/apxs      #pour Centos 7 => /usr/bin/apxs
    make
    make install

2 - Activation du module

  • Sur Debian, le module est automatiquement activé. Cela peut être vérifié par la commande :
    apache2ctl -M
    Si le module n'est pas dans la liste des modules actifs, l'activer par la commande :
    a2enmod jk
  • Sur Redhat : éditer le fichier /etc/httpd/conf/httpd.conf
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile conf/workers.properties

3 - Configuration

Le fichier à éditer se nomme workers.properties et se trouve dans le dossier /etc/libapache2-mod-jk/ sur Debian, ou dans /etc/httpd/conf/ sur Redhat. Si le fichier n'existe pas, vous devrez le créer. S'il existe déjà, vous pouvez remplacer son contenu.
Pour renseigner le fichier, vous devez connaître l'adresse IP du serveur sur lequel se trouve Tomcat si celui-ci n'est pas installé sur le même serveur, et le port d'écoute du serveur Tomcat.

Note importante GhostCat
Depuis tomcat 9.0.31 (ou tomcat 8.5.51), un nouvel attribut a été ajouté afin de sécuriser les échanges entre le apache http et le tomcat.
Ce nouveau paramètre est disponible à partir de mod_jk 2.1.12
Cette nouvelle directive nommée secret doit être ajoutée dans le fichier workers.properties sous la forme habituelle worker.[[nom du worker]].[[directive]]=valeur
Pour la valeur du secret, choisissez une chaîne de caractère alphanumérique du 20aine de caractères.
Cette chaîne est à reporter dans la configuration tomcat au niveau du connecteur AJP

Renseignez ensuite les valeurs dans le fichier :
#identifiant du worker
worker.list=%NOM_WORKER%
# ip du serveur Tomcat, à modifier s'il n'est pas sur la même machine
worker.%NOM_WORKER%.host=127.0.0.1
# port d'écoute du serveur Tomcat
worker.%NOM_WORKER%.port=8009
# protocole d'échange, ne pas modifier
worker.%NOM_WORKER%.type=ajp13
# secret (GHOSTCAT)
worker.%NOM_WORKER%.secret=mettre_ici_la_valeur_de_votre_secret
Dans le fichier de configuration du virtualhost, ajouter les lignes suivantes :
L'exemple ci-dessous présente une configuration minimale qui devra être adaptées aux spécificités du projet si besoin.
 # déclaration des variables à transmettre à "mod_jk" (erreur 404 et 500 traitées par le apache) 
 JkEnvVar REDIRECT_URL 
 JkEnvVar REDIRECT_QUERY_STRING
  
 # déclaration des points de montage vers "mod_jk"
 JkMount /* %NOM_WORKER%
avec 
  • %NOM_WORKER% : nom du worker AJP

Mis à jour le 27 janvier 2023