Bon. Maintenant JAVA est en place, Tomcat est en place. Il ne reste plus qu'a
brancher apache sur tomcat (via le port 8008). La première chose à vérifier
est que votre serveur apache accepte les modules dynamiques: (APACHE_HOME designe
le repertoire d'installation de votre apache). Si en faisant
$APACHE_HOME/bin/httpd -l
vous voyez mod_so.c dans la liste, c'est gagné! sinon il faut
recompiler apache en activant mod_so. En effet, mod_webapp n'existe pas en version
statique.
Il faut télécharger le module mod_webapp.so.
Mais c'est une version compilée avec la glibc 2.2 pour un apache 1.3.x sans
mod_ssl. Si votre version de linux ne permet pas d'utiliser cette version, ou
si vous avez besoin de mod_ssl, il faut recompiler ce module c'est une opération
assez douloureuse, car il faut recompiler apr (une librairie apache pour gérer
les url) qui n'est pas complétement finalisée. Bref pour vous simplifier la
vie, j'ai un mod_webapp compilé contre la glibc-2.1 pour apache 1.3.x sans mod_ssl
que vous pouvez télécharger.
Si vous avez la glibc-2.2 vous devez utiliser la version fournit par tomcat
qui fonctionne très bien. Ou, vous pouvez encore vous la compiler vous-même.
Oui, c'est faisable ;)
La nouvelle version du connecteur webapp (4.0.2 beta2) est beaucoup
plus facile à compiler:
wget http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.2-b2/src/webapp-module-1.0.2-tc402-src.tar.gz
tar zxvf webapp-module-1.0.2-tc402-src.tar.gz
cd webapp-module-1.0.2-tc402/
./support/buildconf.sh
./configure --with-apxs
cp apache-1.3/mod_webapp.so $APACHE_HOME\libexec
Donc une fois que fous avez en votre possesion un mod_webapp.so qui fonctionne
avec votre système, il faut le copier dans le repertoire $APACHE_HOME\libexec.
(ou dans $APACHE_HOME\modules selon les cas).
On va ensuite modifier $APACHE_HOME\conf\httpd.conf pour prendre
en compte ce nouveau module de la manière suivante:
- On cherche la chaine
LoadModule
- il faut placer la ligne suivante après le dernier
LoadModule
(peut etre n'avez vous aucun LoadModule, ce n'est pas grave, mais il faut
quand meme rajouter la ligne suivante)
LoadModule webapp_module libexec\mod_webapp.so
- (ou
LoadModule webapp_module modules\mod_webapp.so
en fonction de votre configuration.
- Puis rajouter
AddModule mod_webapp.c à la fin de la liste des
AddModule
- Puis rajouter dans le vhost où vous voulez faire un le lien avec tomcat
vhost sera désigné par
VHOST
WebAppConnection MaConnexion warp localhost:8008
WebAppDeploy examples MaConnexion /UnExample
WebAppInfo /webapp-info
La premiere ligne définit une connexion qui s'appelle MaConnexion
vers votre tomcat qui ecoute sur le port 8008.
La deuxième ligne définit le mapping entre l'url http://VHOST/UnExample/
et la webapp examples qui existe dans Tomcat.
La troisième ligne est optionnelle et sert a obtenir des infos sur le connecteur
mod_webapp via l'URL http://VHOST/webapp-info/.
Il faut maintenant relancer apache, mais avant ça, il faut vérifier qu'on n'a
pas trop de bétise avec un configtest:
$APACHE_HOME/bin/apachectl configtest
Si la réponse est Syntax OK, alors on peut le relancer avec
$APACHE_HOME/bin/apachectl restart
Pour vérifier que tout a bien marché, tester avec l'URL http://VHOST/UnExample/