Magazine High tech

Redirection apache tomcat avec Mod JK sur centos 7

Publié le 22 janvier 2018 par Crocodanser

Pour que les utilisateurs de vos applications Tomcat n’aient plus à mémoriser leurs ports, nous pouvons utiliser un module d’apache permettant de discuter avec le serveur Tomcat de manière invisible (Mod_jk).

Exemple :

http://monappli.mondomaine.fr:8080/MonAppli deviendra  http://monappli.mondomaine.fr/MonAppli

Dans cet article, nous verrons également comment rediriger http://monappli.mondomaine.fr/ vers http://monappli.mondomaine.fr/MonAppli automatiquement.

Pré-requis :

install httpd-devel apr apr-devel apr-util apr-util-devel gcc gcc-c++ make autoconf libtool

Installation de mod_jk :

mkdir -p /opt/mod_jk/
cd /opt/mod_jk
wget http://www.eu.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
tar -xvzf tomcat-connectors-1.2.41-src.tar.gz
cd tomcat-connectors-1.2.41-src/native
./configure --with-apxs=/usr/sbin/apxs
make
libtool --finish /usr/lib64/httpd/modules
make install

Configuration :

vim $TOMCAT_HOME/conf/server.xml

Vérifier le port :

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Créer le fichier de configuration du mod_jk :

vim /etc/httpd/conf.d/mod_jk.conf

et placer à l’intérieur :

LoadModule jk_module "/etc/httpd/modules/mod_jk.so"
 
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk shared memory
JkShmFile     /var/run/httpd/mod_jk.shm
# Where to put jk logs
JkLogFile     /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#JkRequestLogFormat "%w %V %T"
#JkEnvVar SSL_CLIENT_V_START worker1

Créer le répertoire pour la mémoire partagée :

mkdir -p /var/run/mod_jk
chown apache:apache /var/run/mod_jk

Créer le fichier worker.properties. C’est le fichier qui permet la communication entre apache et Tomcat

vim /etc/httpd/conf/workers.properties

Et placer à l’intérieur :

workers.apache_log=/var/log/httpd
worker.list=app1Worker
worker.stat1.type=status
 
worker.app1Worker.type=ajp13
worker.app1Worker.host=app1.myhost.com #put your app host here
worker.app1Worker.port=8009

Création d’un virtualhost d’apache :

vim /etc/httpd/conf.d/app1.conf

Placez ceci dans le fichier en modifiant les valeurs en rouge ;

<VirtualHost *:80>

ServerName app1.myhost.com

ServerAdmin admin@myhost.com

LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-agent}i\ » » combined

CustomLog /var/log/httpd/app1_access.log combined

ErrorLog /var/log/httpd/app1_error.log

<IfModule mod_jk.c>

JkMount /* app1Worker

</IfModule>

</VirtualHost>

app1Worker doit correspondre au nom défini dans la directive worker.list du fichier worker.properties

Redémarrez apache et testez.

Ajouter une redirection vers le répertoire applicatif :

Pour ne plus avoir à taper le nom de l’appli après le domaine, il faut faire de la réécriture d’Url.

Exemple :

Nous avons une application qui est accessible via http://monappli.mondomaine.fr/MonAppli. Nous voulons modifier l’url pour que lorsque l’on pointe sur http://monappli.mondomaine.fr/ , nous accédions automatiquement à http://monappli.mondomaine.fr/MonAppli/.

Pour cela, ouvrez votre fichier httpd.conf. Dans le VirtualHost correspondant à votre application, ajouté à la fin :

RewriteEngine On

RewriteRule ^/$ /MonAppli [PT]

Et voilà une belle redirection n’est ce pas??

Ancienne doc : https://www.croc-informatique.fr/2009/03/redirection-apache-tomcat-avec-mod_jk-et-rewriterule/

Source : http://www.diegoacuna.me/installing-mod_jk-on-apache-httpd-in-centos-6-x7-x/


Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur


Crocodanser 15 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte