web-dev-qa-db-ja.com

Tomcat manager / htmlは利用できませんか?

こんにちは、Tomcatをインストールしたばかりで、実行しようとしていますが、manager/htmlに移動しようとすると、「要求されたリソース(/ manager/html)は使用できません」というエラーが表示されます。

ホームページ、/ docs、/ examplesはすべて正常に機能し、ログには何も表示されません。どうすれば修正できますか? Windows 7 64ビットでTomcat 6.0.20とJDK 1.6.0_21を使用しています。

30
John Jacobs

Tomcatのmanagerフォルダー内にwebappsという名前のフォルダーがあるかどうかを確認する必要があります。

Rubens-MacBook-Pro:Tomcat rfanjul$ ls -la webapps/
total 16
drwxr-xr-x   8 rfanjul  staff   272 21 May 12:20 .
drwxr-xr-x  14 rfanjul  staff   476 21 May 12:22 ..
-rw-r--r--@  1 rfanjul  staff  6148 21 May 12:20 .DS_Store
drwxr-xr-x  19 rfanjul  staff   646 17 Feb 15:13 ROOT
drwxr-xr-x  51 rfanjul  staff  1734 17 Feb 15:13 docs
drwxr-xr-x   6 rfanjul  staff   204 17 Feb 15:13 examples
drwxr-xr-x   7 rfanjul  staff   238 17 Feb 15:13 Host-manager
drwxr-xr-x   8 rfanjul  staff   272 17 Feb 15:13 manager

その後、ファイルconf/Tomcat-users.xmlにユーザー用のこのパーミントがあることを確認します。

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="test" password="test" roles="admin-gui,manager-gui"/>

tomcatを再起動し、Tomcatを再度統計します。

sh bin/shutdown.sh 
sh bin/startup.sh

それがうまくいくことを願っています。

24

最初にアクセスを有効にする必要があります。 Manager Application Accessの設定

10
digitalsanctum

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バージョンです(少なくとも、変更ログによると)。その結果、Tomcat Managerは使用したTomcatのバージョンと互換性がありませんでした。ここでこの問題の説明を掘り下げました: http://blog.techstacks.com/.m/2009/05/Tomcat-management-setting-up-Tomcat/comments/

修正手順:

  1. Tomcat/binディレクトリから「sh version.sh」を実行して、インストールされているTomcatのバージョンを確認します
  2. Tomcatの対応するバージョンをダウンロードする
  3. Tomcatを停止します
  4. Webapps/managerディレクトリを削除し、ダウンロードした配布アプリケーションからマネージャーアプリケーションをコピーします。
  5. Tomcatを起動します

これで、Tomcatマネージャーにアクセスできるはずです。

5
Sergey Smirnov

私の問題/解決策は非常に恥ずかしいですが、誰が知っている...おそらく他の誰かに起こった:

私の解決策:プロキシをオフにする

過去2時間、私はマネージャーがなぜ読み込まれないのかと思っていました。 (ルートがキャッシュされたため、ロードされました)。ブラウザのプロキシを設定して、自宅へのトラフィックをプロキシしていました。 :/

2
capdragon

Tomcat-users.xmlファイルが正しく設定されていても、マネージャーアプリにログインできませんでした。問題は、Tomcatがデータベースからユーザーを取得するように構成されていたことです。これがすべてどのように機能するかを知っていた従業員が会社を辞めたので、これをすべて追跡しなければなりませんでした。

プロジェクトweb.xmlに次のようなWebアプリケーションがある場合:

<security-role>
    <role-name>manager</role-name>
</security-role>

これはTomcatと同じシステムをログインに使用していることに注意してください!そのため、マネージャーロールのユーザーが定義されている場所、つまりマネージャーGUIのロールとユーザーを定義する必要があります。 server.xmlでこれを見つけました:

 <Realm className="org.Apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/<DBName>?user=<DBUser>&amp;password=<DBPassword>"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />

これは、すべてのユーザーとロールを保存するデータベースがあることを示しています。これにより、Tomcat-users.xmlファイルが上書きされます。このファイルは、このレルムがコメント化されない限り機能しません。解決策は、Tomcatユーザーをusersテーブルに追加し、manager-guiロールをuser_rolesテーブルに追加することです。

insert into users (user_name, user_pass) values ('Tomcat', '<changeMe>');
insert into user_roles (user_name, role_name) values ('Tomcat', 'manager-gui');

また、ロールテーブルに「manager-gui」ロール名が必要です。存在しない場合は追加します。これが誰かを助けることを願っています。

2
Brent Sandstrom

[〜#〜] root [〜#〜]ディレクトリが../webappsフォルダーにないため、ウェブサイトは空白です。特定の場所については、 Tomcat documentation を参照してください。

1
kabucek

私の場合、フォルダーは_Managerでした。名前をManagerに変更した後、機能しました。

ログインポップアップが表示され、conf/Tomcat-users.xmlから資格情報を入力すると、すべて正常に機能します。