J'ai parcouru pas mal de docs sur le sujet mais aucune ne m'a permis d'avoir un systeme completement fonctionnel sans retouche persos.
J'y vais donc de mon petit billet sur la question avec au final une install entierement ok


Je vais donc creer :
1 virtual host apache classique
1 virtual host apache supportant les fichiers jsp
1 virtual host apache default
1 acces tomcat administration qui passera directement sur le port 8180 de tomcat


Config de la machine :

vweb2:/# free
total used free shared buffers cached
Mem: 255744 252024 3720 0 38020 132172
-/+ buffers/cache: 81832 173912
Swap: 176672 2044 174628

vweb2:/# cat /proc/version
Linux version 2.6.22.18-vs2.2.0.6 (root@sarge) (gcc version 4.1.2 20061115 (prerelease)
(Debian 4.1.1-21)) #1 SMP Sat Feb 23 17:44:03 CET 2008


vweb2:/# ifconfig
eth0 Lien encap:Ethernet HWaddr 00:0C:29:C2:F3:89
inet adr:192.168.0.160 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183133 errors:19 dropped:24 overruns:0 frame:0
TX packets:89845 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:151137100 (144.1 MiB) TX bytes:16285637 (15.5 MiB)
Interruption:17 Adresse de base:0x1400

lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2092 errors:0 dropped:0 overruns:0 frame:0
TX packets:2092 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:331540 (323.7 KiB) TX bytes:331540 (323.7 KiB)

J'ai un dns local sur le rle

vweb2:/# hostname --fqdn
vweb2.net.sarge

vweb2:/# cat /etc/apt/sources.list
deb http://192.168.0.42:9999/debian/ etch main contrib non-free
deb-src http://192.168.0.42:9999/debian/ etch main contrib non-free
deb http://192.168.0.42:9999/security etch/updates main
deb http://192.168.0.42:9999/dotdeb etch all
deb http://192.168.0.42:9999/backports etch-backports main


On installe le necessaire:

vweb2:/#apt-get install apache2 libapache2-mod-php5 libtomcat5.5-java tomcat5.5 tomcat5.5-admin tomcat5.5-webapps sun-java5-jre sun-java5-bin sun-java5-jdk sun-java5-demo libapache2-mod-jk

Puis on parametre :
1) /etc/default/tomcat55

/etc/default/tomcat5.5

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.14
CATALINA_BASE=/var/lib/tomcat5.5
TOMCAT_HOME=/usr/share/tomcat5.5


2) /etc/apache2/workers.properties
/etc/apache2/workers.properties

workers.tomcat_home=/usr/share/tomcat5.5
workers.java_home=/usr/lib/jvm/java-1.5.0-sun-1.5.0.14
ps=/
worker.list=ajp13
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)
i386$(ps)classic$(ps)libjvm.so
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

3) /var/lib/tomcat5.5/conf/tomcat-users.xml
/var/lib/tomcat5.5/conf/tomcat-users.xml

evidemment il faudra penser a
changer le pass de l'utilisateur root


tomcat-users
  role rolename="tomcat"
  role rolename="role1"
  role rolename="manager"
  role rolename="admin"
  user username="tomcat" password="tomcat" roles="tomcat"
  user username="role1" password="tomcat" roles="role1"
  user username="both" password="tomcat" roles="tomcat,role1"
  user username="root" password="root" roles="admin,manager,tomcat,role1"
tomcat-users




4) /etc/apache2/sites-available/{default,ajp,apache}



Contenu du virtual-host default
Contenu du virtual host ajp (celui qui fournira les pages jsp via apache)


Contenu du virtual host apache

5) modif du fichier /etc/apache2/apache2.conf (juste a la fin du fichier)
tail du fichier apache2.conf

Ensuite le plus chaud est le parametrage du fichier : /var/lib/tomcat5.5/conf/server.xml.
server.xml

Derniere etape: je recopie les exemples jsp et servlets dans le vhost:
vweb2:/# cd /usr/share/tomcat5.5-webapps/
vweb2:/usr/share/tomcat5.5-webapps# cp -R . /var/www/ajp

Voila c'est fini. On passe aux tests:

Demarrage des serveurs:
/etc/init.d/tomcat55 start
/etc/init.d/apache2 start

On verifie que tout le monde est a l'ecoute:

vweb2:/# netstat -lnp
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 192.168.0.160:8005 0.0.0.0:* LISTEN 4749/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 4749/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5364/apache2
tcp 0 0 0.0.0.0:8180 0.0.0.0:* LISTEN 4749/java
Sockets du domaine UNIX actives(seulement serveurs)
Proto RefCpt Indicatrs Type Etat I-Node PID/Program name Chemin


Copie d'ecrans

Administration tomcat en passant par le vhost defaut ou vweb2.net.sarge ce qui revient au
meme dans la mesure ou ce nom de domaine n'est pas declare dans la conf apache. On passe par le port 8180

Toujours via tomcat test des jsp et des servlets : ca tourne !
Maintenant je reprends les memes url mais je passe par le port 80 (apache donc et j'utilise le mod_jk) : c'est tout bon !
suite

suite

Et pour terminer les tests en réel : http://jspmenier.dynalias.net:8180/services.html

Voila c'est fini.