6

I am trying to set up the admin application for a Tomcat 6.0.24 instance. None of the searches I've done turn up anything I can use. I am using this configuration for 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

In the tomcat-users.xml I have this:

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

I found the docs that suggested I needed manager-gui role installed and defined, but that appears to be Tomcat 7, not Tomcat 6.

The manager.xml is the default provided with Ubuntu Lucid Lynx 10.04:

<Context path="/manager" 
        docBase="/usr/share/tomcat6-admin/manager" 
        antiResourceLocking="false" privileged="true" />

If I access /manager from a web browser, I get a 404 error from Tomcat: "requested resource not available." If I access /manager/images I get the same thing. If I access /manager/401.jsp I get the actual page.

In addition, the server.xml has not only the usual Realm (UserDatabaseRealm) but also one for MySQL authentication (JDBCRealm). Investigating this showed that the role of manager was not present there for the user admin; I fixed that by doing:

INSERT USER_ROLE_DB SET USER_NAME='admin', ROLE_NAME='manager';

I restarted Tomcat, although I suspect that was overkill. No change. I don't see any errors in catalina.out or in localhost.* log files.

What am I missing? What is the interaction between the different realms? How do I get the manager application working?

7 Answers 7

4

I had the same situation wherein tomcat manager did not start. I found this exception in my logs/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)
        ...

This exception was raised because I had used a version of tomcat that didn't have the CSRF prevention filter.

Tomcat 6.0.24 doesn't have the CSRF prevention filter in it. The first version that has it is the 6.0.30 version (at least according to the changelog).

As a result, Tomcat Manager was incompatible with version of Tomcat that I used. I've found this description of this issue.

Steps to fix it:

  1. Check version of tomcat installed by running "sh version.sh" from your tomcat/bin directory
  2. Download corresponding version of tomcat
  3. Stop tomcat
  4. Remove your webapps/manager directory and copy manager application from distributive that you've downloaded.
  5. Start tomcat

Now you should be able to access tomcat manager.

2

404 meaning is you don't have file to access. I installed tomcat 7 on Amazon EC2 and received 404 message. The default didn't ship with manager package and docs.

sudo yum install tomcat6-webapps tomcat6-docs-webapp tomcat6-admin-webapps
2

Access directly /manager/html instead. Worked for me.

0

Have you followed the guide? Some possibilities:

  • You don't have the application installed - fix with sudo apt-get install tomcat7-admin (change to your tomcat version as required)
  • Maybe the Apache configuration is wrong, given that you seem to be using AJP. I've successfully used

    <Location /manager>

    ProxyPass ajp://localhost:8009/manager

    </Location>

    with a corresponding entry in /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

I tried installing tomcat6-admin using "sudo apt-get install tomcat6-admin" on ubuntu, I was told the package is already up to date. I decided to copy /usr/share/tomcat6-admin/manager to to tomcat6 webapps directory. It works now.

I am not sure why the installation wouldn't copy the manager app to the webapps directory.

0

Check that you don't have a tomcat process stuck in the background

ps -eaf | grep -i tomcat

Reconfigured for a while before realizing service tomcat8 stop was not stopping the tomcat service because the service was frozen.

Kill then restarting the service worked.

0

0

I made a mistake in my ./META-INF/context.xml

delete below line, instead of commenting out

<Valve className="org.apache.catlina.valves.RemoteAddrValve"

allow="127.\d+.\d+|::1|0:0:0:0:0:0:0:1" />

This works fine with me

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .