• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
 

2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携

on

  • 1,980 views

 

Statistics

Views

Total Views
1,980
Views on SlideShare
1,958
Embed Views
22

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 22

http://share-wis.com 22

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携 2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携 Presentation Transcript

    • この章では、TomcatがHTTPサーバーおよび データベース・サーバーと連携して稼動できるよう、 Tomcatの仮想ホストやデータソースの設定方法について学習します。また、Webアプリケーションをデプロイし、正常に稼動できるよう必要なライブラリの設定についても学習します。
    • HTTPサーバー、Tomcat、DBサーバー(PostgreSQL)が連携して稼動していくように設定していきます。まず、Tomcatに仮想ホストを追加します。次に、Webアプリケーションを Tomcat仮想ホスト上にデプロイし、HTTPサーバー経由で稼動できるようにします。 デプロイしたWebアプリケーションがデータベースを利用するものであれば、Tomcat上に利用するデータベースに応じたデータソースを設定します。
    • HTTPサーバーは仮想ホストの機能を持っており、1台のマシン上に複数の Webサイトがあるように機能させることができます。それに応じて、Tomcatもリクエストされた完全修飾ホスト名に応じたリクエストを識別し、適切なWebアプリケーションを呼び出します。http://www.mydomain.com/SimpleStruts/○○○スキーマ    仮想ホスト名    コンテキスト・パス   url パターン
    • HTTPサーバー上のデフォルトのホストwww.mydomain.comと仮想ホストwww.tomcatlab.comに対して、 Tomcatにもデフォルトのホストであるlocalhostの他に追加の仮想ホストを設定して、 適切なWebアプリケーションによって処理が行われるように設定していきます。追加したwww.tomcatlab.comというホストにWebアプリケーションをデプロイしていきます。
    • デフォルトの仮想ホスト(localhost)以外の仮想ホストを使用するのであれば、その仮想ホスト用のWebアプリケーションをデプロイするフォルダを用意します。 デフォルトの仮想ホストは、%CATALINA_HOME%webappsにアプリケーションがデプロイされます。フォルダの名前や位置は任意ですが、Tomcatからアクセスできるようアクセス権を設定します。ここでは、sitesフォルダの下に、リクエストされるドメイン名に相当するフォルダ(例えば、tomcatlab.comフォルダ)を作成し、さらにWebアプリケーションのデプロイ先として、例えばwebappsフォルダを作成しておきます。
    • webapps下に、他のWebアプリケーションのフォルダと並んでROOTフォルダを作成しておくと、 「http://仮想ホスト名/」でアクセスされた場合のデフォルトのコンテンツを置いておくことができます (http://仮想ホスト名/コンテキスト・パス/でアクセスされたのではなく)。仮想ホストwww.tomcatlab.comに対応するフォルダの下にwebというフォルダがありますが、これは、Apacheに仮想ホストを作成し、静的コンテンツを返させる場合のドキュメント・ルートです。 Apacheのhttpd.confに仮想ホストの設定を行い、ドキュメント・ルートとしてそのフォルダが指定されることを想定しています。
    • Tomcat上に仮想ホストを追加します。%TOMCAT_HOMEconfserver.xmlファイルで設定します。 name属性とappBase属性は指定が必須ですので、仮想ホスト名としてnameを、Webアプリケーションのデプロイ先としてappBaseを指定します。server.xmlを編集し、その内容を反映させるためには、Tomcatの再起動が必要です。
    • 上記の属性にはありませんが、deployOnStartup="true"と言う属性もあり(デフォルトはtrue)、 この仮想ホストのappBaseにあるWebアプリケーションをTomcat起動時に自動的に配備するかどうかのフラグです。deployOnStartup="true"でかつautoDeploy="true"であると、サーバー起動時に配備された後、ホット・デプロイという形で再配備されるため、 deployOnStartup="false"にしておくとよいでしょう。
    • 一時的かつ動的に(Tomcatを再起動することなく)仮想ホストが必要であれば、 Tomcatに標準添付されているHostManager Webアプリケーションを使用して追加することができます。Host Manager Webアプリケーションは、server.xmlに設定情報を保管しないため、Tomcatを再起動すると設定した仮想ホストは削除されてしまいますが、 一時的な利用であれば、このツールを使って動的に追加することができます。
    • Host Manager Webアプリケーションにアクセスする際は認証が必要となりますので、admin-guiロールをもつユーザーを用いてログインします(adminロールでも可)。通常は、Tomcatのインストール時に設定したユーザーがadmin-guiロールをもつように設定されています。ユーザー情報は、%CATALINA_HOME%conftomcat-users.xmlに設定されています。図のようにNameに仮想ホスト名、appBaseにWebアプリケーションのインストール先を設定し、必要に応じてAutoDeploy等の設定も行います。
    • Host Manager Webアプリケーションを使用して仮想ホストを追加すると、%CATALINA_HOME%confCatalinaサーバー名manager.xmlファイルが作成されているため、マネージャ・ツールが使用できます。デフォルトの仮想ホストと同様に、http://追加した仮想ホスト名:8080/manager/html/にアクセスし、アプリケーションの稼働状況を確認したり、Webアプリケーションのデプロイを行うことができます。
    • AJP 1.3コネクタを使用して、外部HTTPサーバーと連携する設定を行います。Tomcat単体ではなくHTTPサーバーを経由することにより、Apacheがリバース・プロキシとして動作します。 プロキシは元々、企業等のファイアウォール内におかれたHTTPサーバーに対して、外部のHTTPサーバーの代役をさせるためのものですが、 その機能をうまく利用し、アプリケーション・サーバーに直接アクセスさせないことにより、セキュリティを高めることができます。
    • server.xmlファイルにおいて、 8009ポートで HTTP サーバーと接続できる設定になっているかを確認します。■Connectorの定義(server.xmlファイル):次の定義が< Service >タグ内にあれば有効です。  < Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    • ApacheとTomcatが連携する場合、Apache 2.2ではmod_proxy_ajpモジュールを使用します。 Apacheの構成ファイルに、LoadModuleディレクティブを用いてmod_proxyモジュールとmod_proxy_ajpモジュールがロードされるように設定します。さらに、リクエストされたコンテキスト(Webアプリケーション)が、Tomcatの8009 AJPコネクタに接続されるように、ProxyPassディレクティブを用いて設定します。 簡単に表現すれば、プロトコルを読み替えることになります。