[kaneko lab.]
  1. 金子邦彦研究室
  2. Tomcat インストール(Windows 上)

    【概要】

    Apache Tomcat は,Jakarta Servlet(旧 Java Servlet)と Jakarta Server Pages(旧 JavaServer Pages, JSP)の実装である。 Apache Tomcat プロジェクトの成果物である。

    この資料では,2026年時点で提供されている Apache Tomcat 11.0 系列のインストールとテスト実行を行う。あわせて,Apache HTTP サーバ(2.4 系列)と連携させ,mod_proxy_ajp モジュールによる連携動作までを扱う。

    【目次】

    • あらかじめ決めておく事項
    • 手順
    • Apache Tomcat コネクタの設定
    • 準備事項
    • Apache mod_proxy_ajp モジュールの設定
    • Tomcat での AJP コネクタの有効化
    • テスト実行
    • (オプション) リクエストについての設定

    【関連する外部ページ】

    • Apache Tomcat 公式サイト
    • Apache Tomcat 11.0 ドキュメント
    • Eclipse Temurin JDK ダウンロード

    第1章 あらかじめ決めておく事項

    Java(JDK)を先に用意しておくこと。Tomcat 11.0 系列は Java 17 以降が必要である。この資料では,長期サポート版の Eclipse Temurin 25(LTS)の JDKを用いる(Temurin は Adoptium プロジェクトが提供する OpenJDK のビルド)。

    Tomcat インストールディレクトリを決めておくこと。値は自由に決めてよいが,半角文字で,スペースを含まないこと。この資料では,次のように書く。

    • Tomcat インストールディレクトリ: C:\tomcat11 (Windows の場合), /usr/local/apache-tomcat-11.0(Linux の場合)

    第2章 手順

    1. Apache Tomcat の公式ダウンロードページを開く

      ブラウザで次のページを開く。左側メニューの「Download」から「Tomcat 11」を選ぶ。

      https://tomcat.apache.org/download-11.cgi
    2. 配布物の選択

      「Binary Distributions」の「Core」の中から,Windows では zip 版(例:apache-tomcat-11.0.x-windows-x64.zip)を選んでダウンロードする。インストーラ形式の Windows Service Installer(32-bit/64-bit exe)を使ってもよい。

    3. ファイルの展開

      ダウンロードした zip を,第1章で決めた C:\tomcat11 に展開する。展開後,C:\tomcat11\bin などのディレクトリができていることを確認する。

    4. Java の場所の確認

      Temurin 25 の JDK がインストールされ,環境変数 JAVA_HOME が JDK のインストール先を指していることを確認する。

    5. 起動

      管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

      C:\tomcat11\bin\startup.bat を実行して Tomcat を起動する。

    6. 動作確認

      ブラウザで http://localhost:8080/ を開き,Tomcat のトップページが表示されることを確認する。

    第3章 Apache Tomcat コネクタの設定

    Apache Tomcat に内蔵の HTTP サーバではなく,Apache HTTP サーバと Apache Tomcat を連携させて動かす。 そのためには,「コネクタ」と呼ばれるしくみを使う。 この資料では,Apache HTTP サーバに標準で付属する mod_proxy_ajp モジュールを使って,Apache と Tomcat を AJP プロトコルで連携させる。

    お断り

    Apache HTTP サーバのインストールについての記述は,別の Web ページに移した。

    第4章 準備事項

    Apache HTTP サーバ(2.4 系列)のインストールが済んでいること。

    Tomcat のインストールとテスト実行が済んでいること。

    Apache の httpd.conf ファイルの場所と,Tomcat インストールディレクトリを調べておくこと。この資料では,次のように書く。

    • Apache の httpd.conf ファイルの場所: C:\Apache24\conf\httpd.conf

      XAMPP を使って Apache をインストールした場合には, httpd.conf ファイルの場所は C:\xampp\apache\conf\httpd.conf になるので読み替えること。

    • Tomcat インストールディレクトリ: C:\tomcat11 (Windows の場合), /usr/local/apache-tomcat-11.0(Linux の場合)

    第5章 Apache mod_proxy_ajp モジュールの設定

    httpd.conf に次の2行があるので,行頭の # を外して有効にする。mod_proxy_ajp は mod_proxy に依存するため,両方を読み込む。

    【変更前】
    # 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
    

    httpd.conf の末尾に,次の1行を書き加える。 これは,Tomcat 連携の設定を httpd.conf に直接書かず, conf/extra/httpd-proxy.conf にまとめて書くための設定である。

    Include conf/extra/httpd-proxy.conf
    

    第6章 Tomcat での AJP コネクタの有効化

    Tomcat 11 では,C:\tomcat11\conf\server.xml の中の AJP コネクタは,あらかじめコメントアウトされて無効になっている。Apache と AJP で連携させるため,このコネクタを有効にする。あわせて,AJP コネクタは secretRequired が既定で true であり,このままでは起動しないため,同一マシン内(loopback)だけで使う前提で secretRequired="false" を指定する(AJP コネクタは既定で loopback アドレスにだけバインドされる)。

    なお,HTTP コネクタ(ポート 8080)は既定で有効になっている。Apache 経由でのみアクセスさせたい場合は,このコネクタをコメントアウトして無効にしてよい。

    【変更前】
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <!--
        <Connector protocol="AJP/1.3"
                   address="::1"
                   port="8009"
                   redirectPort="8443"
                   maxParameterCount="1000"
                   />
        -->
    【変更後】
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector protocol="AJP/1.3"
                   address="::1"
                   port="8009"
                   redirectPort="8443"
                   secretRequired="false"
                   maxParameterCount="1000"
                   />
    

    第7章 テスト実行

    Tomcat に付属のサンプル(examples)を使ってテストする。

    1. conf/extra/httpd-proxy.conf の設定

      Require ip 127.0.0.1 の行は,「127.0.0.1」からのアクセスだけを許すという設定である(Apache 2.4 系列では,旧来の Order / Allow は非推奨であり,Require を使う)。

      <Location /examples/>
          ProxyPass ajp://localhost:8009/examples/
          Require ip 127.0.0.1
      </Location>
      
    2. Tomcat の再起動

      C:\tomcat11\bin\shutdown.bat で停止し,C:\tomcat11\bin\startup.bat で起動して,Tomcat を再起動する。

    3. Apache httpd の再起動

      httpd.conf を書き換えたので,再起動が必要である。

    4. 下記の URL を使い,examples のページを開く。

      「:8080」を付けていないので,Tomcat に直接アクセスするのではなく,Apache HTTP サーバ経由でアクセスしていることになる。

      http://localhost/examples/

    第8章 (オプション) リクエストについての設定

    Web の URL へのアクセスを,Tomcat 側のどのアプリケーションに振り向けるかを,URL ごとに設定できる。ここでは, http://localhost/hello へのアクセスを,Tomcat 側の hello に振り向ける設定を試す(URL と Tomcat 側のサーブレット・クラスとの対応づけは,各 Web アプリケーションの web.xml または注釈で行う設定であり,混同しないこと)。

    conf/extra/httpd-proxy.conf を次のように書く。 Require ip 127.0.0.1 の行は,「127.0.0.1」からのアクセスだけを許すという設定である。

    <Location /hello/>
        ProxyPass ajp://localhost:8009/hello/
        Require ip 127.0.0.1
    </Location>
    

    httpd.conf を書き換えたので,Apache httpd を再起動すること。


    金子邦彦研究室公式Webページへようこそ.サイト内検索は専用ページをご利用ください.

    問い合わせ先: 金子邦彦(かねこ くにひこ) メールアドレス画像

    公開資料はCC BY-NC-SA 4.0で提供しています.自由にご利用いただけますが,著作者表示(BY),非営利(NC),継承(SA)の条件に従ってください.記事の推敲等にAIを利用しています.詳細は別ページをご覧ください.