Hello, bonjour à tous.
Ayant développé une application java ( Apache+Tomcat+MySql ) accessible par http:// ( module jk activé dans Apache pour faire le lien vers Tomcat ), je me suis débrouillé pour la faire fonctionner en local sur mon poste de travail sous Linux. J'ai eu a me dépatouiller avec pas mal de FileNotFoundException et de Permission Denied : la méthode bulldozzer a consisté à faire du chmod +x +w ( un peu trop à mon goût ).
Le problème commence avec le déploiement de l'application :
- lorsque je copie monAppli.war ( appartenant à toto:users ) dans /webapps ( déjà que le répertoire appartiennent à root, il faut chmod o+w ) Tomcat déploie l'application et crée le directory /monAppli ainsi que les répertoires associés, tout celà appartenant à ( root:root ).
- lors du premier appel ( http://localhost/monAppli ), il y a instanciation par Tomcat d'un certain nombre d'éléments ( dont root est le propriétaire )
- le fonctionnement de Tomcat nécessite principalement des écritures dans /logs et /work/Catalina
La façon dont je procède est révélatrice de pbs de droits sur fichiers qui doivent être résolus avant la mise en production.
Donc quelles sont les méthodes classiques d'installation d'une appli web/java; quel doit être le propriétaire des répertoires Tomcat, sous quels droits/user se fait le dépôt d'un fichier .war; sous quels droits une requête http s'exécute-t'elle ; Par exemple, pour la partie data , Mysql crée un user et un groupe spécifique ( mysql:mysql ); est-il nécessaire de procéder de cette manière avec Tomcat et avec quels droits? Le démarrage de Tomcat doit-il se faire sous le compte root ou un autre?
La finalité étant d'obtenir un fonctionnement cohérent de l'environnement et de l'application sans être gêné par des droits et des propriétaires de fichiers inadéquats.
Merci de vos éclaircissements ou de liens pertinents.
Partager