Я пытаюсь настроить приложение администрирования для Tomcat 6.0.24 экземпляра. Ни один из поисков, которые я сделал, не поднимает ничего, что я могу использовать. Я использую эту конфигурацию для 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
В tomcat-users.xml у меня есть это:
<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>
Я нашел документы, которые предположили, что мне было нужно manager-gui
роль установила и определенный, но это, кажется, Tomcat 7, не Tomcat 6.
manager.xml является значением по умолчанию, которому предоставляют Ubuntu Ясный Lynx 10.04:
<Context path="/manager"
docBase="/usr/share/tomcat6-admin/manager"
antiResourceLocking="false" privileged="true" />
Если я получаю доступ /manager
от веб-браузера я получаю 404 ошибки от Tomcat: "требуемый ресурс, не доступный". Если я получаю доступ /manager/images
Я получаю то же самое. Если я получаю доступ /manager/401.jsp
Я получаю фактическую страницу.
Кроме того, server.xml не имеет только обычной Области (UserDatabaseRealm
) но также и один для аутентификации MySQL (JDBCRealm
). Исследование этого показало что роль manager
не присутствовал там для пользователя admin
; Я зафиксировал это путем выполнения:
INSERT USER_ROLE_DB SET USER_NAME='admin', ROLE_NAME='manager';
Я перезапустил Tomcat, хотя я подозреваю, что это было излишеством. Никакое изменение. Я не вижу ошибок в catalina.out или в localhost.* файлы журнала.
Что я пропускаю? Каково взаимодействие между различными областями? Как я получаю работу приложения менеджера?
У меня была такая же ситуация, когда менеджер tomcat не запускался. Я нашел это исключение в моем 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)
...
Это исключение было вызвано тем, что я использовал версию tomcat, в которой не было фильтра предотвращения CSRF.
Tomcat 6.0.24 не имеет фильтра предотвращения CSRF. Первая версия, которая имеет это, является версией 6.0.30 (по крайней мере согласно журналу изменений).
В результате Tomcat Manager был несовместим с версией Tomcat, которую я использовал. Я нашел это описание этой проблемы.
Действия по ее устранению:
Теперь вы сможете получить доступ к менеджеру tomcat.
404 означает, что у вас нет доступа к файлу. Я установил tomcat 7 на Amazon EC2 и получил сообщение 404. По умолчанию не поставляется с менеджером пакета и документов.
sudo yum install tomcat6-webapps tomcat6-docs-webapp tomcat6-admin-webapps
Доступ напрямую /manager/html
вместо. Работал на меня.
Я попытался установить tomcat6-admin с помощью «sudo apt-get install tomcat6-admin» в ubuntu, мне сказали, что пакет уже обновлен. Я решил скопировать / usr / share / tomcat6-admin / manager в каталог веб-приложений tomcat6. Это работает сейчас.
Я не уверен, почему при установке не будет скопировано приложение менеджера в каталог webapps.
Вы следовали руководству ? Некоторые возможности:
sudo apt-get install tomcat7-admin
(при необходимости измените версию tomcat) Возможно, конфигурация Apache неверна , учитывая, что вы, кажется, используете AJP. Я успешно использовал
<Location /manager>
ProxyPass ajp://localhost:8009/manager
</Location>
с соответствующей записью в /etc/tomcat7/server.xml
:
<Connector port="8009" enableLookups="false" URIEncoding="UTF-8"
protocol="AJP/1.3" redirectPort="8443" proxyPort="443"
scheme="https" secure="true" />
Убедитесь, что у вас нет процесса tomcat, застрявшего в фоновом режиме.
ps -eaf | grep -i tomcat
На некоторое время перенастроил, прежде чем понял, что service tomcat8 stop
не останавливал службу tomcat, потому что служба была заморожена.
Убить и перезапустить службу сработало.