web-dev-qa-db-fra.com

Application Tomcat Manager et erreur HTTP 404

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 (UserDatabaseRealmname__), mais aussi un pour l’authentification MySQL (JDBCRealmname__). L'examen de cette question a montré que le rôle managern'y était pas présent pour l'utilisateur adminname__; 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?

6
Mei

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:

  1. Vérifiez la version de Tomcat installée en exécutant "sh version.sh" à partir de votre répertoire Tomcat/bin
  2. Télécharger la version correspondante de Tomcat
  3. Arrêtez Tomcat
  4. Supprimez votre répertoire webapps/manager et votre application de gestion de la distribution téléchargée.
  5. Démarrer Tomcat

Vous devriez maintenant pouvoir accéder au gestionnaire Tomcat.

3
Sergey Smirnov

Accédez directement à /manager/html à la place. Travaillé pour moi.

2
Etienne

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
2
Yoon Lee

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é.

0
kervin

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.

0
Willa O Ng'wana

Avez-vous suivi le guide ? Quelques possibilités:

  • L'application n'est pas installée - corrigez-la avec 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" />

0
beldaz