2024/09/11 Updated by

Mac arm64

Apache Tomcat


[Up] Japanese English

インストール

  1. arm64 版の java jdk をインストールしておくこと。
    1. インストールされているJAVAのバージョンを調べる。ここでは version 17 がインストールされていることがわかる。
    2. JAVA_HOME
      ~ % /usr/libexec/java_home -V 
      Matching Java Virtual Machines (1):
          17.0.2 (arm64) "Azul Systems, Inc." - "Zulu 17.32.13" /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
      /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
      ~ % /usr/libexec/java_home -v 17 
      /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
      
    3. 環境変数 JAVA_HOME を JAVA 開発キットへのパスに設定する。
    4. ~/.zshrc へ追加する記述 (macOS のデフォルトの zsh の場合)
      export JAVA_HOME=`/usr/libexec/java_home -v 17`
      export PATH=${JAVA_HOME}/bin:${PATH}
      
  2. tomcat の公式ページ https://tomcat.apache.org/ にアクセスする。
  3. 現時点(2024-09-15)で公開されている正式版は Tomcat 10.1.29 または Tomcat 9.0.94 である。 Tomcat 10 は、Tomcat 9 以前との互換性がないようなので、今回は Tomcat 9 を使うことにする。



  4. "Binary Distributions" から Core の zip ファイル apache-tomcat-9.0.94.zip をダウンロードする。


  5. 適当なディレクトリに移動して zip ファイルを解凍する。フォルダ名を扱いやすい短い名前に変更する。
  6. ここでは ~/Documents の下に展開し、フォルダ名を tomat9 に変更した。

    zipファイルを展開する
    ~ % cd ~/Documents 
    ~/Documents % unzip ~/Downloads/apache-tomcat-9.0.94.zip 
    ~/Documents % mv apache-tomcat-9.0.94 tomcat9 
    ~/Documents % cd tomcat9 
    ~/Documents/tomcat9 % ls -l 
    total 256
    -rw-r--r--@  1 nitta  staff  21516  9  5 13:36 BUILDING.txt
    -rw-r--r--@  1 nitta  staff   6330  9  5 13:36 CONTRIBUTING.md
    -rw-r--r--@  1 nitta  staff  58153  9  5 13:36 LICENSE
    -rw-r--r--@  1 nitta  staff   2401  9  5 13:36 NOTICE
    -rw-r--r--@  1 nitta  staff   3362  9  5 13:36 README.md
    -rw-r--r--@  1 nitta  staff   7075  9  5 13:36 RELEASE-NOTES
    -rw-r--r--@  1 nitta  staff  16982  9  5 13:36 RUNNING.txt
    drwxr-xr-x@ 29 nitta  staff    928  9  5 13:36 bin
    drwxr-xr-x@ 12 nitta  staff    384  9  5 13:36 conf
    drwxr-xr-x@ 35 nitta  staff   1120  9  5 13:36 lib
    drwxr-xr-x@  2 nitta  staff     64  9  5 13:36 logs
    drwxr-xr-x@  3 nitta  staff     96  9  5 13:36 temp
    drwxr-xr-x@  7 nitta  staff    224  9  5 13:36 webapps
    drwxr-xr-x@  2 nitta  staff     64  9  5 13:36 work
    
  7. README.md を読むと、インストール方法は RUNNING.txt に記述されていることがわかる。
  8. 環境変数 CATALINA_HOME を「tomcat を展開したフォルダへのパス」に設定する。
  9. macOS の場合、デフォルトのシェルは zsh であり、初期設定は ~/.zshrc に記述する。

    ~/.zshrc に追加する記述
    export CATALINA_HOME=${HOME}/Documents/tomcat9
    export CLASSPATH=${CATALINA_HOME}/lib/servlet-api.jar:${CLASSPATH}
  10. シェルの初期設定ファイルを変更したら、現在のシェルに読み込んで、設定を更新する。
  11. シェルに変更を読み込む
    ~/Documents/tomcat9 % source ~/.zshrc 
    
  12. tomcat を起動・停止するシェルスクリプトの実行権限を与える。
  13. シェルスクリプトに実行権限を与える
    % ls -l ${CATALINA_HOME}/bin/*.sh 
    -rw-r--r--@ 1 nitta  staff  25323  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/catalina.sh
    -rw-r--r--@ 1 nitta  staff   1997  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/ciphers.sh
    -rw-r--r--@ 1 nitta  staff   1922  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/configtest.sh
    -rw-r--r--@ 1 nitta  staff   9100  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/daemon.sh
    -rw-r--r--@ 1 nitta  staff   1965  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/digest.sh
    -rw-r--r--@ 1 nitta  staff   3382  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/makebase.sh
    -rw-r--r--@ 1 nitta  staff   4317  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/setclasspath.sh
    -rw-r--r--@ 1 nitta  staff   1902  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/shutdown.sh
    -rw-r--r--@ 1 nitta  staff   1904  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/startup.sh
    -rw-r--r--@ 1 nitta  staff   5540  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/tool-wrapper.sh
    -rw-r--r--@ 1 nitta  staff   1908  9  5 13:36 /Users/nitta/Documents/tomcat9/bin/version.sh
    % chmod 755 ${CATALINA_HOME}/bin/*.sh 

tomcat を起動・停止する

  1. 起動する
  2. 「ターミナル」上で青字部分を入力する(起動する)
    % ${CATALINA_HOME}/bin/startup.sh 
    Using CATALINA_BASE:   /Users/nitta/Documents/tomcat9
    Using CATALINA_HOME:   /Users/nitta/Documents/tomcat9
    Using CATALINA_TMPDIR: /Users/nitta/Documents/tomcat9/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
    Using CLASSPATH:       /Users/nitta/Documents/tomcat9/bin/bootstrap.jar:/Users/nitta/Documents/tomcat9/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    
  3. ブラウザで http://localhost:8080/ にアクセスする。 文書フォルダに index.html がない場合は、"It works!" とだけ表示される。



  4. 停止する。
  5. 「ターミナル」上で青字部分を入力する(停止する)
    % ${CATALINA_HOME}/bin/shutdown.sh 
    Using CATALINA_BASE:   /Users/nitta/Documents/tomcat9
    Using CATALINA_HOME:   /Users/nitta/Documents/tomcat9
    Using CATALINA_TMPDIR: /Users/nitta/Documents/tomcat9/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
    Using CLASSPATH:       /Users/nitta/Documents/tomcat9/bin/bootstrap.jar:/Users/nitta/Documents/tomcat9/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED \
        --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED \
        --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    

8080 番ポートを解放する

  1. /etc/pf.conf を root 権限で編集する
  2. /etc/pf.conf の変更
    *** pf.conf.org	Sun Sep 15 16:15:40 2024
    --- pf.conf	Mon Sep 16 20:36:09 2024
    ***************
    *** 25,27 ****
    --- 25,30 ----
      dummynet-anchor "com.apple/*"
      anchor "com.apple/*"
      load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    + 
    + # 8080 tomcat
    + pass in proto tcp from any to any port 8080
    
  3. 修正内容を反映する。
  4. 修正した内容を反映させる。
    ~ % sudo pfctl -f /etc/pf.conf 
    pfctl: Use of -f option, could result in flushing of rules
    present in the main ruleset added by the system at startup.
    See /etc/pf.conf for further details.
    
    No ALTQ support in kernel
    ALTQ related functions disabled
    

サーブレットの作り方

サーブレットの作り方は こちらを参照 すること。