• 締切済み

ApacheとTomcatの連携について

お世話になります。JSPを勉強する為にJSPが稼動するサーバー構築を行っていますがacheとtomcatの連携がうまくいきません。ネットで色々調べてみると.bashrcとか.bash_profileとかに環境変数を設定していましたが環境変数を設定するのはrootの中のファイルでしょうか? いままで行った作業は下記の通りです。 1.Java、TOMCAT、mod_webappをインストールしました。 2.tomcat4.confにJAVA_HOMEを下記のように設定。 JAVA_HOME="/usr/java/j2sdk1.4.1_01"←ここを追加 3.httpd.confを下記のように設定。 ・ServerName localhost←コメント「#」を削除。 ・LoadModule webapp_module modules/mod_webapp.so  AddModule mod_webapp.c  ※上記の内容が設定されているか確認。 ・下記のように変更。 <IfModule mod_webapp.c>  WebAppConnection warpConnection warp localhost:8008  WebAppDeploy examples warpConnection /examples/  WebAppDeploy manager warpConnection /manager/  WebAppDeploy webdav warpConnection /webdav/  WebAppInfo info ←追加。 </IfModule> 4.httpd.confのポートとserver.xmlのポートが「8008」になっているかを確認。 apcheは表示しました。 ・http://xxx.xxx.xxx.xxx[OK] Tomcatも表示しました。 ・http://xxx.xxx.xxx.xxx:8080[OK] ApacheとTomcatの連携がうまくいきません。 ・http://xxx.xxx.xxx.xxx/examples/jsp/index.html[NG] ※一度だけ表示できましたがサーバーを再起動したら表示できなくなりました。 下記のようにURLを設定する表示。 ・http://xxx.xxx.xxx.xxx:8080/examples/jsp/index.html[OK] □使用環境□ OS:RedHat7.2 Linux JAVA:1.4.1_01[SDK] APACHE:1.3.20※Apacheは既存を使用。 TOMCAT:4.0.4 TOMCAT-webapps:4.0.4 モジュール:mod_webapp-1.0-1 どうか宜しくお願いします。 では、失礼します。

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.4

>度々、すみませんが初心者でもわかる参考書やサイトがありましたら教えて下さい。宜しくお願いします。 参考書やサイトは検索すればやまほど出てきますので、 取り敢えずメーリングリストのご紹介です。 Apache 初心者メーリングリスト http://mm.apache.or.jp/mailman/listinfo/newbie Apache ユーザーズ メーリングリスト http://mm.apache.or.jp/mailman/listinfo/apache-users The Ja-Jakarta Project 掲示板 http://jajakarta.good-day.net/bbs/wforum.cgi でもせっかくですから、たまにはここでも質問してください ^^;

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>なぜ標準でインストールされるApacheを使わないのですか? >何かTomcatを使用するのに支障があるのでしょうか? Tomcatは頻繁にバージョンアップされますので、Apacheのバージョンとの相性がすぐ問題になります。ディストリビューションの都合にあわせる義務はないので、さっさと、相性の良いバージョンのapacheをソースから構築した方がよいですね。 その他にも、ディストリビューションが標準で用意しているapacheは、たまに、DSOを有効にしてコンパイルしてなかったりするし、モジュールをコンパイルするapxsがついてなかったりする時がありました。 それにapacheをソースからコンパイルする時に、オプションを指定する事で、自分のシステムや用途に合わせて最適化できるのが良いです。 サーブレット/JSPをやりはじめたら、すぐにDB連携もしたくなります。PostgreSQLなんかもRPM版はさっさと削除して、ソースから構築しちゃいましょう。

taka_jp
質問者

補足

返答ありがとうございます。 正直、最新バージョンを使用したかったのですが私はLinux初心者なので何をどうしていいのかわからず、出来るだけ既存の物を使おうと思ってました。 勉強をかねてトライして頑張ってみます。 度々、すみませんが初心者でもわかる参考書やサイトがありましたら教えて下さい。宜しくお願いします。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

> なぜ標準でインストールされるApacheを使わないのですか? バージョンが古いなどの理由で、セキュリティホールがあるからです。 また、ソースからインストールしたときと、ディストリビューションごとにインストールされているApacheのディレクトリが違ったりする場合があるからです。 > ソースからコンパイルした場合、アンインストールの方法がわからないので インストールディレクトリを削除するだけです。 通常、インストール先を指定しなければ、/usr/local/apacheにインストールされるので、それを丸ごと削除してやればいいです。 rm -rf /usr/local/apache # rfオプションには充分ご注意を(笑) > 私は出来るだけ最新バージョンで考えています。 私もそれには賛成です!

taka_jp
質問者

補足

返答ありがとうございます。 Linuxを触ってそんなに経っていないのでtar形式のソフトを使うのを避けてました。kusukusuさんからアドバイス頂いたので助かりました。 正直、私も最新バージョンを使いたかったです。 頑張って環境を作りたいと思います。 また、何かわからない事がありましたら宜しくお願いします。 では、失礼します。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

ApacheとTomcatはどこで起動させていますか? 私の環境は、 まず標準インストールされるApacheは使わない(あるいはアンインストールする) Apacheはソースからコンパイルする。 /etc/rc.d/rc.localスクリプトに環境設定、パス設定、及びApacheとTomcatの起動コマンドを記述しています。

taka_jp
質問者

補足

返答ありがとうございます。 私の環境では下記の通りで起動しています。 ・/etc/rc.d/init.d/ ※ApacheとTomcatは同じ場所です。 なぜ標準でインストールされるApacheを使わないのですか? 何かTomcatを使用するのに支障があるのでしょうか? ソースからコンパイルした場合、アンインストールの方法がわからないので標準でインストールしているApacheを使用しています。 ※全て(Tomcat、mod_webapp)同じでrpm形式のをインストールしています。 ApacheのバージョンとTomcatのバージョンはどれがいいのでしょうか? 私は出来るだけ最新バージョンで考えています。 すみませんがアドバイスをお願いします。 では、失礼します。

関連するQ&A

  • Tomcat4.0とApache1.3の連携で?

    WindowsXPの環境でTomcat4.0とApache1.3を導入し、 Web開発を行っているのですが、両方を起動しても うまく動作しません。 通常 http://localhost:8080/ で表示できるものが    http://localhost/    でも表示できる とのことですが、無理でした。 連携のためのコネクタは mod_webapp.so を使っています。 また配置も C:\Program Files\Apache Group\Apache\modules の下に 設定しています。 Apacheのhttpd.confには  LoadModule webapp_module modules/mod_webapp.so  AddModule mod_webapp.so  WebAppConnection conn warp localhost:8080  WebAppDeploy examples conn /examples とちゃんと記述しています。 起動時のメッセージは --------------- [Fri Mar 21 23:55:43 2003] [warn] module mod_webapp.c is already added, skipping Apache/1.3.26 (Win32) running... --------------- と表示されます・・・・ なぜでしょうか? 教えてくださいm(__)m

  • 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! やはり連携が成立しないのです。いったい何か足りないものがあるのでしょうか?どうぞ解決までご協力をお願いします。

  • Tomcat5.0.30とApache2.2.3の連携方法について

    Tomcat5.0.30とApache2.2.3を入れて、連携させたいのですがどうしても上手くいきません。 環境は OS:Windows XP Tomcat:Ver5.0.30 Apache:Ver2.2.3 です。 不足情報がありましたら仰って下さい。 Tomcat単体では左上にマークとVerが表示され、Apache単体ではIt works!と表示されます。 http://archive.apache.org/dist/tomcat/tomcat-4/archive/v4.0.1/bin/win32/webapp-module-1.0-tc40-windows.zip 上記URLからwebappをDLして、Apacheのmodulesフォルダに入れて、httpd.confの最後に " LoadModule webapp_module modules/mod_webapp.so WebAppConnection conn warp localhost:8080 WebAppDeploy examples conn /examples " の3行を追加してみたのですが上手くいかず http://www.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip こちらからmod_jk2.soをDLして入れ、workers2.propertiesファイルを新規製作し " [status:] [uri:/jkstatus/*] group=status: [shm:] disabled=1 [channel.socket:] [ajp13:] [uri:/servlets-examples/*] [uri:/examples/*] " とし、Apache/confフォルダに入れてみたのですが連携できていません。 httpd.confには LoadModule jk2_module modules/mod_jk2.so を最後に追加しました。 一応、ファイルを追加したり修正したりしたときは、Tomcat/Apache共に再起動をさせています。 どうしたらいいのでしょうか? また、httpd.confに行を追加するときは最初に"#"をつけているのですが、その他のファイルにもつけなくてはいけないのでしょうか? 教えていただけないでしょうか。 宜しくお願いします。

    • ベストアンサー
    • 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/     →  正常表示 連携の確認のみとれず、何が原因なのか、全くわかりません。 どなたかご存じの方、ご教授下さい。。

  • 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
  • Apache-Tomcatを連携させる方法

    Tomcat4.1.30とApache2.0.55の連携についての質問になります。 連携させたいのですがどうしても上手くいきません。 環境 OS:Red Hat Enterprise Linux 5 Tomcat:Ver4.1.30 Apache:Ver2.0.55 JAVA :Ver1.4.2.10 になります。 不足情報がありましたら追記しますので仰ってください。 環境作成 1.Apache、Java、Tomcatをインストールしました  (1)Apacheインストール手順  # tar zxvf httpd-2.0.55.tar.tar  # cd httpd-2.0.55  # ./configure --enable-module=so --prefix=/usr/local/apache  # make  # make install  (2)Javaインストール手順  # sh j2sdk-1_4_2_10-linux-i586-rpm.bin  # rpm –ivh j2sdk-1_4_2_10- fcs-linux-i586.rpm  (3)Tomcatインストール手順  # tar zxvf jakarta-tomcat-4.1.31.tar.gz 2.次にApache-tomcatを連携させるmod_jkをコンパイルしました  (1)手順  # tar zxvf jakarta-tomcat-connectors-current-src.tar.gz  # sh buildconf.sh  # ./configure --with-apxs=/usr/local/apache/bin/apxs --with-tomcat41=/usr/local/tomcat --with-java-home=/usr/java/j2sdk1.4.2_10  # make 3.apacheの設定にmod_jkを認識させるため下記ファイルを編集しました。  (1)httpd.confに以下内容を追記  途中に追記  # LoadModule jk_module module /mod_jk.so  # <IfModule mod_jk.c> #  JkWorkersFile conf/workers.properties  #  JkLogFile logs/mod_jk.log  #  JkLogLevel warn  #  JkMount /examples/* ajp13  #</IfModule>  最終行に追記  #  Alias /examples "/usr/local/tomcat/webapps/examples"  #  <Location "/examples/">  #   Options Indexes FollowSymLinks  #  </Location>  #  <Location "/examples/WEB-INF/">  #   AllowOverride None deny from all  #  </Location>  (2)workers.propertiesに以下内容を編集・追記  編集  #  worker.list=ajp13  # worker.ajp13.port=8009  # worker.ajp13.host=localhost  # worker.ajp13.type=ajp13      最終行に追記  #  [uri:/aquatech/servlet/*]  # [uri:/aquatech/*.jsp]   上記内容のように変更致しました。 以前作成したサーバは、これだけの手順でTomcatとApacheの連携はできています。 しかし、今回のサーバはなぜかエラーが発生しました。 エラーログ /usr/local/apache/logs/mod_jk.logより抜粋 [Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1815): can't resolve tomcat address localhost [Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1818): invalid host andport localhost 8009 [Fri Feb 06 18:09:47 2009] [error] wc_create_worker::jk_worker.c (158): validate failed for ajp13 [Fri Feb 06 18:09:47 2009] [error] build_worker_map::jk_worker.c (256): failed to create worker ajp13 これにより、ポート8080接続(http://localhost:8080/examples/index.jsp)は表示されますが、 80接続(http://localhost/examples/index.jsp)では、500 Internal Server Errorの画面が表示されます。 3.(1)に追記した、mod_jk.soのLoadModule郡を全てコメントにすると、 エラーログは発生されず、80接続(http://localhost/examples/index.jsp)を表示すると、 jspファイルのソース中身が丸出しになった状態で表示されました。 また、http://localhost/examplesへ移動すると、 tomcatのwebappsの中にあるexamplesディレクトリ構造が表示されてしまいました。 tomcatもapacheも起動はしていますが、mod_jk.soの認識がされてないと 考えているのですが、結局解決策が全くわからない状態です。 どなたか、ご教示願いますでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Apache1.3.27とTomcat4.0.6LEの連携

    Apache1.3.27とTomcat4.0.6LEの連携 お世話になります。 Windows XP SP3でApache1.3.27とTomcat4.0.6LEを連携しようとしています。 1.mod_jk.soをmoduleへ配置 2.apacheのconfフォルダにmod_jk.confファイルを作成 ↓内容 LoadModule jk_module modules/mod_jk.so <IfModule mod_jk.c> JkWorkersFile "【Apacheインストールフォルダ】/conf/workers.properties" JkLogFile logs/mod_jk.log/ JkLogLevel warn JkMount /*.jsp worker1 JkMount /servlet/* worker1 JkMount /examples/* worker1 </IfModule> 3.apacheのconfフォルダのhttpd.confの最後に以下を追加記述 Include "【Apacheインストールフォルダ】/conf/mod_jk.conf" 4.apacheのconfフォルダにworkers.propertiesを作成し以下を記述 worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 5.Tomcatを起動しApacheを起動するとDosプロンプトにて The Apache service has already been started. Note the error or messages above, and press the <ESC> key to exit. ・・・ と表示され起動できません。 apacheに対して適切なコネクタのバージョンやその設定方法等を知っている方、 何卒ご教示お願いします。

  • 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 の連携ができていないのでしょうか

    いつもお世話になっております。 質問させていただきます。 以下の手順でapacheとtomcatを連携させました。 1. mod_jk2.soをAPACHE_HOME\modulesへコピーする。 2. mod_jk2.conf.sample,workers2.properties.sampleを APACHE_HOME\confへコピーしそれぞれ、mod_jk2.conf、 workers2.propertiesとリネームする 3. APACHE_HOME\conf\httpd.confの最後に 「Include conf/mod_jk2.conf」と記入する。 4. TOMCAT_HOME/conf/server.xmlの <Connector acceptCount="100" connectionTimeout="2000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"> </Connector> の部分をコメント化する。 5. tomcat,apacheの順に起動する。 そして、「http://localhost/」にアクセスすると 正しく「あなたの予想に反して、 このページが見えているでしょうか?」 のページが表示されるのですが、 「http://localhost/"コンテキスト名"/test.jsp」 アクセスしようとすると 「ページを表示できません。」と表示されてしまいます。 連携がうまくいってないのでしょうか? どなたか原因、解決方法を教えていただけないでしょうか よろしくお願いします。 ---------------------- 環境 Apache HTTP Server 2.0.58 Apache Tomcat 5.0

  • Tomcat5.5.23とApache2.2.4とmod_jk

    似た質問が過去にあったのですが上手く出来なかったので質問させて頂きます。 環境は OS:Solaris9 Apache:2.2.4 Tomcat:5.5.23 mod_jk:1.2.21 Apache単体では http://localhost It worksと表示され問題ないと思います。 Tomcat単体では http://localhost:8080 トップページ表示され問題ないと思います。 http://localhost:8080/jsp-examples/ ではJSP Sampleページが出力され、連携出来ていると他サイトで書かれておりましたので問題ないと思います。 問題の http://192.168.10.25:8080/servlets-examples/ でHTTP Status 404 が出力されて表示できません。 [Apacheのhttp.confに以下を付け足しました] LoadModule jk_module modules/mod_jk.so <IfModule mod_jk.c> JkWorkersFile /usr/local/apache/conf/workers.properties JkLogFile /usr/local/apache/logs/mod_jk.log JkLogLevel warn JkMount /jsp-examples/* worker1 JkMount /servlets-examples/* worker1 </IfModule> [workers.propertiesファイルを作成しました] worker.list=worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 わかる方がおりましたらご指導下さい。 よろしくお願い致します。