J'essaie de configurer l'application d'administration pour une instance de Tomcat 6.0.24. Aucune des recherches que j'ai effectuées ne révèle quoi que ce soit que je puisse utiliser. J'utilise cette configuration pour Apache 2.2.14:
Alias /manager /usr/share/Tomcat6-admin/manager
<Directory "/usr/share/Tomcat6-admin/manager">
Options Indexes FollowSymLinks
AllowOverride None
allow from all
</Directory>
ProxyPass /manager ajp://localhost:8009/manager
Dans le Tomcat-users.xml, j'ai ceci:
<Tomcat-users>
<role rolename="Tomcat"/>
<role rolename="admin"/>
<role rolename="operator"/>
<role rolename="manager"/>
<user username="admin" password="nopasswordforyou" roles="admin,Tomcat,manager"/>
<user username="operator" password="nevermind" roles="operator"/>
</Tomcat-users>
J'ai trouvé les documents suggérant que j'avais besoin du rôle manager-gui
installé et défini, mais il semble s'agir de Tomcat 7, pas de Tomcat 6.
Le fichier manager.xml est celui fourni par défaut avec Ubuntu Lucid Lynx 10.04:
<Context path="/manager"
docBase="/usr/share/Tomcat6-admin/manager"
antiResourceLocking="false" privileged="true" />
Si j'accède à /manager
à partir d'un navigateur Web, Tomcat reçoit une erreur 404: "ressource demandée non disponible". Si j'accède à /manager/images
j'obtiens la même chose. Si j'accède à /manager/401.jsp
j'obtiens la page réelle.
De plus, le fichier server.xml contient non seulement le royaume habituel (UserDatabaseRealm
name__), mais aussi un pour l’authentification MySQL (JDBCRealm
name__). L'examen de cette question a montré que le rôle manager
n'y était pas présent pour l'utilisateur admin
name__; J'ai corrigé ça en faisant:
INSERT USER_ROLE_DB SET USER_NAME='admin', ROLE_NAME='manager';
J'ai redémarré Tomcat, bien que je soupçonne que c'était excessif. Pas de changement. Je ne vois aucune erreur dans les fichiers de log de catalina.out ou de localhost. *.
Qu'est-ce que je rate? Quelle est l'interaction entre les différents royaumes? Comment faire fonctionner l'application manager?
J'ai eu la même situation dans laquelle Tomcat manager n'a pas commencé. J'ai trouvé cette exception dans mes journaux/manager.DDD-MM-YY.log:
org.Apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter CSRF
Java.lang.ClassNotFoundException: org.Apache.catalina.filters.CsrfPreventionFilter
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
...
Cette exception a été déclenchée car j'avais utilisé une version de Tomcat ne disposant pas du filtre de prévention CSRF.
Tomcat 6.0.24 ne contient pas de filtre de prévention CSRF. La première version qui l'a est la version 6.0.30 (du moins selon le changelog).
En conséquence, Tomcat Manager était incompatible avec la version de Tomcat que j’utilisais. J'ai trouvé cette description de ce problème.
Étapes pour y remédier:
Vous devriez maintenant pouvoir accéder au gestionnaire Tomcat.
Accédez directement à /manager/html
à la place. Travaillé pour moi.
404 signifie que vous n'avez pas de fichier à accéder. J'ai installé Tomcat 7 sur Amazon EC2 et reçu un message 404. La valeur par défaut n'a pas été livrée avec le package de gestionnaire et la documentation.
Sudo yum install Tomcat6-webapps Tomcat6-docs-webapp Tomcat6-admin-webapps
Vérifiez qu'aucun processus Tomcat n'est bloqué en arrière-plan
ps -eaf | grep -i Tomcat
Reconfiguré pendant un certain temps avant de réaliser service Tomcat8 stop
n'arrêtait pas le service Tomcat parce que le service était gelé.
Tuez puis redémarrez le service a fonctionné.
J'ai essayé d'installer Tomcat6-admin en utilisant "Sudo apt-get install Tomcat6-admin" sur Ubuntu. On m'a dit que le paquet est déjà à jour. J'ai décidé de copier/usr/share/Tomcat6-admin/manager dans le répertoire webapps de Tomcat6. Ça fonctionne maintenant.
Je ne sais pas pourquoi l’installation n’a pas copié l’application du gestionnaire dans le répertoire webapps.
Avez-vous suivi le guide ? Quelques possibilités:
Sudo apt-get install Tomcat7-admin
(modifiez votre version de Tomcat selon vos besoins)Peut-être que la configuration d'Apache est incorrecte, étant donné que vous semblez utiliser AJP. J'ai utilisé avec succès
<Location /manager>
ProxyPass ajp://localhost:8009/manager
</Location>
avec une entrée correspondante dans /etc/Tomcat7/server.xml
:
<Connector port="8009" enableLookups="false" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="8443" proxyPort="443" scheme="https" secure="true" />