• 締切済み

apacheとtomcatの連携について

初めて質問させて頂きます。宜しくお願いします。 現在FedoraCore4上でApache2.2.0とTomcat5.5.15をmod_proxy_ajpを使用して 連携させております。 この環境でvar/tomcat/webappsの下にプログラムを配置し、 [http/IPaddress/test/index.html]と入力をすると、プログラムは動きます。 (Web.xmlにてindex.htmlをclassファイルに飛ばしております) ここまでは問題はないのですが、 ディレクトリ指定でアドレス先を見に行こうとする場合に問題が発生します。 [http/IPaddress/test/]とアドレスを入力したら問題なく表示されるのですが、 [http/IPaddress/test]とアドレスを入力したらApacheのNotFoundエラーが出てしまいます。 このような状態になってしまっているのですが、何か解決策はあるでしょうか。 アドバイスをいただければ幸いです。 宜しくお願いいたします。

  • carm
  • お礼率70% (26/37)

みんなの回答

  • jo-ya
  • ベストアンサー率50% (3/6)
回答No.3

httpd.confのalias設定はどうなってますか? 下記URLを参照してみてください。 http://sakaguch.com/pastbbs/0032/B0016188.html http://www.jajakarta.org/kvasir/bbs/old/316

carm
質問者

補足

回答ありがとうございます。 教えて頂いたURLを見つつ、httpd.confを確認しましたが、 Aliasの設定は追加していませんでした。(記述はデフォルトでは無し) 「特定の入力されたアドレス(/bbb)を、指定ディレクトリに行ったものとして考える(/var/wepbaas/bbb)」 と言う事ですよね。 なので、使う必要がないかと思い使っておりませんでした。

  • jo-ya
  • ベストアンサー率50% (3/6)
回答No.2

TOMCAT の設定というよりhttpd.confの設定ですかね。 / を有効にする or しない の設定があるのでやってみてください。

carm
質問者

お礼

jo-ya様 アドバイスありがとうございます。 言われた通り、httpd.confの中にてスラッシュ関係の設定を調べ、 適用しようとしてみました。以下が適用しようとした設定です。 ・useCanonicalName(2.X系にはないようです) ・directoryIndex ・directorySlash この3つを適用してもスラッシュ無しではアクセス不可でした。 他にもスラッシュ関係の設定があるのでしょうか・・・。

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.1

(1)ディレクトリ指定でアドレス先を見に行こうとする場合に問題が発)生します。 (2)[http/IPaddress/test/]とアドレスを入力したら問題なく表示されるのですが、 (3)[http/IPaddress/test]とアドレスを入力したらApacheのNotFoundエラーが出てしまいます。 ### (2)と(3)は同じことを質問していませんか?何が問題なのかよく理解できません。

carm
質問者

補足

(1)と(2)は同じように見えると思いますが、アドレスの最後のスラッシュの有無に違いがあります。 スラッシュがある場合は問題なく画面が表示されますが、 スラッシュがないとNotFoundエラーとなっている状況です。 その部分をもう少し記述すればよかったですね。申し訳ありません。

関連するQ&A

  • Apache2.2とTomcat6.0の連携方法

    Apache2.2とTomcat6.0の連携がうまくいかず、困っています。 宜しくお願い致します。 ■問題点 ApacheとTomcatの連携の設定を行い、http://localhost/examplesを 表示させようとしましたが、[ページが見つかりません]と表示され、 ApacheとTomcatの連携が出来ません。 以下に設定した内容を記載致しました。 設定内容に不備があればご教授お願い致します。 ■Apacheの設定は以下の様にしています。 C:\Program Files\Apache Software Foundation\Apache2.2\conf 内の httpd.confを編集 (1)コメント行の有効化 #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 先頭の「#」を外し、有効化する。 ↓ LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so (2)文末に以下を追加する。 (Apacheへの要求を Tomcatにて処理が行われる様にする。) <Location /examples/> ProxyPass ajp://localhost:8009/examples/ </Location> <Location /examples/> ProxyPass ajp://localhost:8009/jspbook/ </Location> ■備考 1.Apache2.2インストール後、Apache2.2サーバを起動させ、 http://localhost/ が表示される事は確認出来ています。 2.Tomcat6.0インストール後、Tomcatを起動させ、 http://localhost:8080/ が表示される事は確認出来ています。 3.Apacheのバージョン:Apache2.2.6  Tomcatのバージョン:Tomcat6.0.14 宜しくお願い致します。

  • Tomcatとapacheの連携

    環境は fedora core 5 jdkのversionを1.5_0_05 です。 やりたいことは、Tomcatとapacheの連携ですが途中で 行きづまってしまいました。 http://memo.blogdns.net/java3.htmlのページの Tomcatとapacheの連携の箇所を見ながら 作業していたのですが fedora core 5をインストールをしたのですが mod_proxy_ajpは ファイルシステム/etc/httpd/modules/mod_proxy_ajp.conf にあるのですが mod_proxyが探したのですが、見つからなかったのです。 読み込まれてないのではないかなと思いまして もしご存知でしたら、mod_proxyのディレクトリを 教えていただけないでしょうか』

  • ApacheにPHPを組み込みつつ、Tomcatを連携

    こんにちは。現在私は自宅のパソコン(WindowsXP)をWWWサーバにしようと考えておりまして、Apache(Ver2.2.4)をインストールし、Tomcat(ver5.5)と連携させております。ApacheからTomcatに連携させることは成功した(はず)と思います。以下のような設定です。confフォルダの中のhttpd.confファイルの中で、 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so を有効にし、 ProxyPass / ajp://localhost:8009/ を追加しました。これで、http://localhost/と入力すると、:8080を付加しなくてもTomcatのトップに跳ぶようにはなっています。これで連携はOKなんですよね?  さらにこれに、PHPをモジュールとして組み込みたいんです。 Tomcatを使わずに、Apacheのみで動かす場合は、うまくphpがモジュールとして組み込めて、Apacheのhtdocsフォルダにphpinfo.phpファイルをおいて、テストすると正常に表示されます。  しかし、Tomcatと連動させると、phpをApacheのモジュールに組み込んでも、Tomcatとの連携が優先されて、Apacheの中身(htdocsフォルダなど)がブラウザで呼び出せないために、phpファイルにアクセスできません。  以上が疑問点ですが、とにかく知りたいのは、Tomcatとの連携とApacheの機能(PHPをモジュールに組みこんで使う)とを両立させるには、どうしたらいいのでしょうか、ということです。どなたか教えてくださいませんか。お願いします!

    • 締切済み
    • PHP
  • TomcatとApacheの連携

    TomcatとApacheの連携がうまくいかないので質問させてもらいました。 環境:Tomcat4.0.3 Apache1.3 jsdk1.4.0 windows ME ディレクトリ構成: C:\Program Files\Apache Tomcat 4.0 C:\Apache C:\j2sdk1.4.0 実行した手順としては、mod_jk_1.3.28.dllをC:\Apache\modules にコピーし 下記の設定を実施。 C:\Apache\conf\mod_jk.conf C:\Program Files\Apache Tomcat 4.0\conf\workers.properties modjk_confの内容: LoadModule jk_module modules/mod_jk_1.3.28.dll AddModule mod_jk.c JkWorkersFile C:/Program Files/Apache Tomcat 4.0/conf/workers.properties JkLogFile C:/Program Files/Apache Tomcat 4.0/logs/mod_jk.log JkLogLevel error JkOptions +ForwardKeySize JkMount /examples/* ajp13 JkMount /examples ajp13 JkMount /admin/* ajp13 JkMount /admin ajp13 JkMount /manager/* ajp13 JkMount /manager ajp13 workers.propertiesの内容: worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 C:\Apache\conf\httpd.confの一番下の行にC:\Apache\conf\httpd.confを追加。 Tomcat起動、Apache起動をすると下記のエラーメッセ-ジが出力されます。 Syntax error on line 2 of c:/apache/conf/mod_jk.conf: Cannot load c:/apache/modules/mod_jk_1.3.28.dll into server: (31) システムに接続 されたデバイスが機能していません。というエラーが表示されています。 どこか設定でおかしいところがあるのでしょうか困っているのでぜひお願いします。

    • ベストアンサー
    • Java
  • apache2.2とtomcat6.0(ssl設定済)の連携に関して質

    apache2.2とtomcat6.0(ssl設定済)の連携に関して質問です。 環境(windows 2003 server,JDK1.6,eclipse3.5,struts1.3,postgresql8.4) apacheを使用して公開したいのですが、tomcatのssl設定が絡んでいる関係でうまくいきません。 tomcatでsslを設定せず、apacheでsslを設定した方が良いのか。 tomcatとapache両方でssl設定をした方が良いのか。 tomcatでsslを設定しているとapache2.2とtomcat6.0の連携はできないのか。 または、やり方が違うのか。 教えてください。 tomcat(ssl設定済)をapacheに連携したいのですが、Apache2.0以前の時と異なり、mod_jk/mod_jk2は要らなくなったみたいなので、インターネットを調べた結果 ■server.conf <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> をコメント <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> を追加 ■httpd.conf #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so コメントを解除 <Location /jsp/> ProxyPass ajp://localhost:8009/jsp> </Location>

    • ベストアンサー
    • Java
  • apache2.0とtomcat5.5の連携がうまくいかず非常に困って

    apache2.0とtomcat5.5の連携がうまくいかず非常に困ってます。 Windowsでapache2.0.61とtomcat5.5.28を連携しようとしています。JDKは5.1.14をいれてます。 1、mod_jk.soをmodulesに入れる。 2、apache2のconfにworkers.propertiesを新規作成して worker.list=ajp13 worker.ajp13.type=ajp13 と編集して保存。 3、apache2のconfのhttpd.confに LoadModule jk_module modules/mod_jk.so JkWorkersFile "C:/Program Files/Apache Group/Apache2/conf/workers.properties" JkMount /*.jsp ajp13 JkMount /servlets-examples/* ajp13 JkMount /jsp-examples/* ajp13 JkMount /*.do ajp13 と編集して保存。 4、tomcat→apache2の順番に起動。 結果:tomcatもapacheも動作しているけど、連携は出来ず。。 http://localhost/hoge/  →  ページがない http://localhost:8080/  →  正常表示 http://localhost/     →  正常表示 連携の確認のみとれず、何が原因なのか、全くわかりません。 どなたかご存じの方、ご教授下さい。。

  • ApacheとTomcat連携後DocumentRootはどう設定しますか?

    Apache,Tomcatをmod_jk2で連携できたのですが、 /usr/local/tomcat4/webapps/test/index.jsp のページをhttp://www.***.com/test/ではなく、 http://www.***.com/で表示したいのですが、 どこで設定すればよいでしょうか? 以外にこれについて書かれているサイトがなく困っています。 server.xmlに以下を書いてTomcat,Apacheを再起動しても駄目でした。 <Context path="" docBase="test" debug="0" reloadable="true"/> なので、Apacheで設定するのかと思いhttpd.confに 以下を書いてみましたが駄目でした。 <IfModule mod_alias.c> Alias / "/usr/local/tomcat4/webapps/test" <Directory "/usr/local/tomcat4/webapps/test"> Options FollowSymLinks MultiViews </Directory> 環境はRedHat9です。よろしくおねがいします。

    • ベストアンサー
    • Java
  • apache2.2とtomcat5.5の連携

    http://oshiete1.goo.ne.jp/qa5793960.html 上記のとおり、apache2.0とtomcat5.5でmod_jk.soを使い連携をがんばってましたが、どうにもラチがあかないので、連携方法が簡単になったというapache2.2に切り替えました。 コンパイル+インストールは下記のとおり ./configure --prefix=/usr/local/apache2 --enable-proxy --enable-proxy-ajp --enable-so make make install /usr/local/apache2/conf/httpd.confは下記を追加 <Location /jsp-examples/> ProxyPass ajp://localhost:8009/jsp-examples/ </Location> <Location /servlets-examples/> ProxyPass ajp://localhost:8009/servlets-examples/ </Location> これで、tomcatとapacheを再起動 http://localhost:8080/jsp-examples/ = 正常に表示 http://localhost/jsp-examples/ = ページなし http://localhost/ = It works! やはり連携が成立しないのです。いったい何か足りないものがあるのでしょうか?どうぞ解決までご協力をお願いします。

  • apache2.0とtomcat5.5の連携

    お世話になります。 Linux(centos3.9)でapache2.0.63とtomcat5.5.28を連携しようとしています。(JDKは最新の1.6.2だっけかな?をいれてます) 1 mod_jk.soをmodulesに入れる 2 apache2のconfにworkers.propertiesを新規作成して worker.list=ajp13 worker.ajp13.type=ajp13 とviで編集して保存。 3 apache2のconfのhttpd.confに LoadModule jk_module modules/mod_jk.so JkWorkersFile "/usr/local/apache2/conf/workers.properties" JkMount /*.jsp ajp13 JkMount /hoge/* ajp13 と編集 4 tomcat→apache2の順番に起動(error_logは変化なし) 結果:tomcatもapacheも各々は動作しているけど連携はされない http://192.168.○.○/hoge/  →  ページがない http://192.168.○.○:8080/  →  正常表示 http://192.168.○.○/    →  apacheのデフォページ 以上のことから連携だけがうまくいってない様子・・・ いったい何がたりなくて何がダメなのかが手詰まりです。 勉強不足で大変申し訳ありませんが、解決にご協力おねがいします。

  • Apache→Tomcatでセッション維持されない

    Apache->Tomcatでセッションが維持されない Apacheのproxy_ajp.confの設定を ProxyPass /xxx/ ajp://localhost:8009/ とした時にhttp://サーバー名/xxx/(webapps内フォルダ名)/ でアクセスした場合アクセスする度に新しいセッションIDになってしまします。 Apacheのproxy_ajp.confの設定を ProxyPass / ajp://localhost:8009/ とした時にhttp://サーバー名/(webapps内フォルダ名)/ でアクセスした場合はセッションIDは保持されます。 http://サーバー名/でアクセスした時はTomcatのwebappsとは別の場所に配置したWebサイトを表示させている為、 【ProxyPass / ajp://localhost:8009/】とは設定したくはないんですが・・・ どうしたらよいでしょうか・・・? 今の状況 ■http://サーバー名/xxx/(webapps内フォルダ名)/  でアクセスするとセッションが保持されない。 ■Apache単体でphpを使った時、セッションは保持される。 ■8080ポートを使ってTomcatへ直接アクセスした場合、セッションは保持される。 環境 OS:CentOS 5 Apache:2.2 Tomcat:6.0

    • ベストアンサー
    • Java