Cet article est destiné à vous présenter la méthode la plus simple pour installer en frontal un serveur apache http avec derrière un serveur Tomcat.
Pré-requis :
Avoir installé tomcat ( version utilisée ici apache-tomcat-7.0.25)
Avoir installé Apache-HTTP ( version utilisée ici apache2.2)
Lire cette petite note : le protocole AJP(Apacje Jserv Protocol) est un protocole réseau pour échanger entre serveurs via TCP.
Cette méthode est la méthode du reverse proxy. Elle consiste à rediriger les requêtes http du serveur apache vers le serveur tomcat via le connecteur mod_proxy de Apache et en activant un connecteur au niveau de tomcat.
Etape 1 : activer le module mod_proxy
Pour ce faire, sous Ubuntu :
sudo a2enmod proxy
Vous pouvez aussi activer le module proxy_ajp ( normalement l 'activtaion du module proxy inclus proxy_ajp)
sudo a2enmod proxy_ajp
Le résultat attendu:
Enabling module proxy.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Donc après, vous n'aurez qu'à redémarrer apache pour activer ce module
sudo /etc/init.d/apache2 restart
Etape 2 : Configurer la correspondance apache vers tomcat du module mod_proxy
Pour ce faire, éditer un fichier tout neuf dans votre dossier {APACHE}/sites-enabled
sudo gedit /etc/apache2/monvirtualhost
Puis une fois le fichier en édition, ajouter pour chaque application web les lignes suivantes très importantes:
<VirtualHost *:80>
ServerName localhost
ProxyPass /monapplication ajp://localhost:8009/monapplication
ProxyPassReverse /monapplication ajp://localhost:8009/monapplication
</VirtualHost>
Sauvegarder et relancer apache
sudo /etc/init.d/apache2 restart
Etape 3 : Configurer Tomcat pour activer le connecteur sur le port 8081
Pour ce faire, aller dans votre installation de tomcat et éditer le fichier server.xml
sudo gedit ./conf/server.xml
Une fois le fichier en édition, vérifier que les lignes suivantessont bien actives et décommentées:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Sauvegardez et redémarrer votre serveur tomcat.
Etape finale: le test
Pour vérifier le résultat, vous n'avez plus qu'à saisir dans votre navigateur web l'adresse de votre application et vous pourrez voir que le connecteur est place si la page web affichée est bien celle d'accueil de votre application web.