Bonjour cher lecteur,
Aujourd'hui je vous présente les différentes étapes nécessaires pour créer un
site web avec Tomcat. tout d'abord
installer les paquets correspondants à Tomcat6:
1/ Installation de tomcat6
Les paquets minimum à installer sont : tomcat6. tomcat6, tomcat6-webapps
et tomcat6-admin-webapp
# yum install tomcat6*
2/ Éditer le fichier de conf de tomcat avec votre éditeur
préféré ici vim:
# vim /etc/tomcat6/tomcat-users.xml
le fichier doit ressembler à ça:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="TomcatAdmin" password="tomcat" roles="admin,manager"/>
</tomcat-users>
Remplacer les mots de passe tomcat par un mot de passe de votre choix.
3/ Créer votre projet par exemple dans votre homedir
$ mkdir -p ~/Projet/java/monProjet
4/ Faites un lien symbolique dans
/usr/share/tomcat6/webapps/ qui pointe sur votre projet
dans le cas d'un projet avec netbeans (après un clean and build l'archive war
est généré)
# ln -s
/home/<login>/Projet/java/<monProjet>/dist/<monProjet>.war
/usr/share/tomcat6/webapps/<monProjet>.war
dans le cas d'un projet avec eclipse
# ln -s /home/<login>/Projet/java/<monProjet>/webapps
/usr/share/tomcat6/webapps/<monProjet>
5/ Vérifier votre fichier /etc/hosts qu'il contient bien le
nom de votre machine par exemple:
$ cat /etc/hosts
jonathan 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6/ Démarrer le service httpd:
# service httpd start
7/ Vérifier que la page localhost soit accessible
8/ Démarrer le service tomcat6:
# service tomcat6 start
9/ Vérifier que la page localhost:8080 soit accessible
10/ Dans la partie Manager
Normalement vous avez rien a faire est votre application web dervait s'ajouter tout seul dans le tableau. Toutefois si vous avez des soucis à ce niveau, vérifiez que vous avez bien un lien <monProjet>.war dans le répertoire /usr/share/tomcat6/webapps/ qui pointe wers le war de votre application. Pour le vérifier:
$ ls -l /usr/share/tomcat6/webapps/<monProjet>.war
Relancer le service tomcat # service tomcat6 start6 Sinon vous
pouvez le faire à la main comme suit:
a) Mettre le nom du projet
b) Mettre le fichier web.xml
c) Valider
d) Démarrer si ce n'est pas fait automatiquement
Note: j'ai eu des soucis de droit sur les répertoires en
effet le groupe tomcat ne pouvait lire/écrire à nombre d'endroits
indispensables pour y remédier j'ai dû faire:
#chmod -R g+w /var/log/tomcat6 /etc/tomcat6/Catalina
Puis plus tard lorsqu'il génère les fichiers
#chmod -R g+w /usr/share/tomcat6/work/
Pour vous assurer à ne pas souffrir de ce type de soucis regarder dans
/var/log/tomcat6/ les log si la mention permission
denied apparaît penser à faire un ls -ld sur le(s) répertoire(s)
posant soucis puis de mettre les bons droits avec chmod comme précédemment.
11/ Afin de pouvoir accéder depuis l'extérieur
a) Re-rooter le port 80 de votre routeur vers le port 8080 de votre machine (tcp et udp)
b) Ouvrir le port 8080 en tcp et udp sur votre pare-feu
c) Créer un fichier de conf dans le répertoire /etc/httpd/conf.d exemple de monProjet.conf:
# activation des hôtes virtuels
NameVirtualHost *:80
# Hôte virtuel par défaut
<VirtualHost *:80>
ProxyPass / ajp://localhost:8009/monProjet/
ProxyPassReverse / ajp://localhost:8009/monProjet/
</VirtualHost>
remplacer monProjet par le nom de votre projet
12/ relancer le service httpd
13/ A partir d'un navigateur web entrer l'ip externe de
votre routeur (cf www.mon-ip.com) +
le nom du projet\\ exemple: http://86.68.135.168/<nomDuProjet>
Pour finir je tiens à remercier trashy du chan irc
#fedora-fr de sa précieuse aide.
A bientôt
Signé: bioinfornatics, Jonathan MERCIER