けんとのブログ

ぼやき&開発メモ

Apache導入

2008年12月06日 20時30分24秒 | Apache
:apache導入(windows編):

apache2.2.10使用。
本家「http://httpd.apache.org/」からDL。
DLに関しての参考HP「http://www.adminweb.jp/apache/index.html」

ダウンロード後、いきなりインストールできないエラー。
内容
「Your system has not been modified, To complete installation at
another time,Please run setup agein.」

インターネットが繋がっている状態だとこうなること発見!
切断したらインストールできた。
ちなみに最初のエラーのみ通過したら、その後のインストール設定時に
インターネット接続しても問題なかった。

~概要~
TomcatもWebサーバ機能を持っていますが、
従来のWebサーバソフトと比較すると性能が良くなく検証作業など内部利用にとどめた方が良いと言われています。
本格的なWebサーバ機能が必要なシステムでは、Apache、IISなどの専用WebサーバソフトとTomcatを連携して使用します。
以下に、TomcatのWebサーバ機能を利用すべきでないと言われている理由を記載します。

・ TomcatのWebサーバ機能は歴史が浅く、Webサーバ専用ソフトと比較すると安定性が悪く、セキュリティも高くない。
・ TomcatのWebサーバ機能は一般に高速ではない。
・ Webサーバ専用ソフトを使用することにより静的コンテンツと動的コンテンツの処理を分散させることができる。

TomcatとWebサーバ(Apache、IISなど)の連携は以下のようにして行います。
(1). Webサーバエンジンは受け取ったリクエストが設定したURLパターンに合致する場合、そのリクエストを連携モジュールに渡します。
(2). 連携モジュールは連携プロトコルを使用し、そのリクエストを連携コネクタに渡します。
(3). 連携コネクタはリクエストをJSP/サーブレットコンテナに渡し、そこで処理が実行されます。

~Apacheの設定 ~
mod_proxy_ajpモジュールを有効化するため、
httpd.confに設定されているmod_proxy_ajpモジュールの設定を有効にします(コメントアウトの解除)。

・ モジュールはmod_proxy_ajpに加え、mod_proxyも設定を有効にする必要があります。
・ httpd.confは「$APACHE_HOME\conf」ディレクトリ配下にあります。$APACHE_HOMEはApacheのインストールディレクトリです。

httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

※mod_proxyとmod_proxy_ajpのモジュールの設定を有効にします(コメントアウトの解除)。


連携するコンテンツの設定は、httpd.confの<Location>設定で行います。

httpd.conf

<Location /docs/>
ProxyPass ajp://localhost:8009/docs/
</Location>

※「http://ドメイン/docs」にアクセスしたら、「Tomcatのdocsディレクトリ」配下に転送されることを表します。
※8009は、Tomcat側の連携コネクタのポート番号です。


~Tomcatの設定~
$CATALINA_HOME\conf配下のserver.xmlの連携コネクタの設定部分が有効になっていること(コメントアウトの解除)、
ポート番号が8009になっていることを確認します。

・ $CATALINA_HOMEはTomcatのインストールディレクトリです。

server.xml


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


~動作確認~
Tomcat、Apacheを起動し、http://localhost/docs/ にアクセスします。
ロゴ(猫)の画面が出れば正常に動作しています。
Tomcatのポート番号8080ではなく、HTTPのポート番号である80で、Tomcatに接続していることが確認できます。


参考HP「http://www.javaroad.jp/opensource/js_tomcat3.htm」