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 6ではなくTomcat 7のようです。
Manager.xmlは、Ubuntu Lucid Lynx 10.04で提供されるデフォルトです。
<Context path="/manager"
docBase="/usr/share/Tomcat6-admin/manager"
antiResourceLocking="false" privileged="true" />
Webブラウザーから/manager
にアクセスすると、Tomcatから404エラーが表示されます:「要求されたリソースが利用できません。」 /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)
...
CSRF防止フィルターのないバージョンのTomcatを使用していたため、この例外が発生しました。
Tomcat 6.0.24にはCSRF防止フィルターがありません。最初のバージョンは6.0.30バージョンです(少なくともchangelogによると)。
その結果、Tomcat Managerは使用したTomcatのバージョンと互換性がありませんでした。この問題の この説明 が見つかりました。
修正手順:
これで、Tomcatマネージャーにアクセスできるはずです。
代わりに直接/manager/html
にアクセスしてください。私のために働いた。
404の意味は、アクセスするファイルがないことです。 Amazon EC2にTomcat 7をインストールし、404メッセージを受け取りました。デフォルトには、マネージャーパッケージとドキュメントが付属していません。
Sudo yum install Tomcat6-webapps Tomcat6-docs-webapp Tomcat6-admin-webapps
Tomcatプロセスがバックグラウンドでスタックしていないことを確認します
ps -eaf | grep -i Tomcat
サービスがフリーズしたため、service Tomcat8 stop
がTomcatサービスを停止していなかったことを認識する前に、しばらくの間再構成されました。
強制終了してからサービスを再起動しました。
Ubuntuで「Sudo apt-get install Tomcat6-admin」を使用してTomcat6-adminをインストールしようとしましたが、パッケージはすでに最新であると言われました。/usr/share/Tomcat6-admin/managerをTomcat6 webappsディレクトリにコピーすることにしました。今は動作します。
インストールでマネージャーアプリがwebappsディレクトリにコピーされない理由がわかりません。
ガイド に従っていますか?いくつかの可能性:
Sudo apt-get install Tomcat7-admin
で修正する(必要に応じてTomcatバージョンに変更する)AJPを使用していると思われる場合、Apacheの構成が間違っている可能性があります。私は正常に使用しました
<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" />