前置き
学習メモをまとめています。
私と同じ初心者さんの助けになれば幸いです。
この記事でわかること
1. Tomcat9.0.82のインストール方法
2. ログの確認
2024年1月17日現在の情報です。
今後のアップデートで、インストール方法が変更される可能性があります。
事前環境
- EC2
- AL2023(以下、過去投稿したインストール方法の記事を貼っておきます)
1.インストール方法
AL2023のTomcatインストールする方法は少しだけ大変です。
私は15分ほどかかりました。
一応、Apacheとかと同じ方法で出来なくもないです。
しかし、セキュリティやエラーの観点から余りお勧めできません。
そのため、今回は公式からTomcatのアーカイブをダウンロードします。
誤作動を起こすかもなので、必ず一行ずつ実行してください。
#tomcat専用ユーザーを作成する。
#セキュリティの観点から、rootユーザーでtomcatを起動するのは危ないため
$sudo useradd -r -s /sbin/nologin tomcat
# アカウントの確認
id tomcat
# 実行結果 tomcatグループのtomcatユーザーがちゃんとあるよって言ってる
uid=992(tomcat) gid=992(tomcat) groups=992(tomcat)
# アカウントの確認2 ログインは出来ないユーザーだよって言ってる
grep tomcat /etc/passwd
# 実行結果
tomcat:x:992:992::/home/tomcat:/sbin/nologin
#ホームディレクトリ移動
$cd
#公式からアーカイブをダウンロード
#sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.82/bin/apache-tomcat-9.0.82.tar.gz
#ダウンロードしたパッケージを展開し、一覧で表示する
$sudo tar -zxvf apache-tomcat-9.0.82.tar.gz
tarコマンドはアーカイブを圧縮、展開するコマンドです。
-zxvfオプションについては、以下の記事が参考になります。
#ダウンロードしたapache-tomcat-9.0.82ファイルを、/usr/local/srcディレクトリに移動する
$sudo mv apache-tomcat-9.0.82 /usr/local/src/
#シンボリックリンクを作成する(ショートカットみたいなもの)
$sudo ln -s /usr/local/src/apache-tomcat-9.0.82/ /usr/local/src/tomcat
#先ほど作成したtomcatユーザーに、/apache-tomcat-9.0.82、/tomcatの権限を付与
$sudo chown -R tomcat:tomcat /usr/local/src/apache-tomcat-9.0.82
$sudo chown -R tomcat:tomcat /usr/local/src/tomcat
#権限が変更されたか確認 → 必須ではない
$cd /usr/local/src
$ls -l
#実行結果(下記のような表示があれば成功)
drwxr-xr-x. 9 tomcat tomcat 16384 1月 11 02:37 apache-tomcat-9.0.82
lrwxrwxrwx. 1 tomcat tomcat 36 1月 11 02:31 tomcat -> /usr/local/src/apache-tomcat-9.0.82/
ここまで来たら、あと少しです。
次は、いよいよユニットファイルの作成を行います。
ユニットファイルとは、サービスの設定ファイルだと考えて頂ければ。
#ユニットファイルをtomcat.serviceと言う名前で、"/etc/systemd/system/"に作成し、エディタ起動
$sudo vi /etc/systemd/system/tomcat.service
#以下をエディタに記述
#(「I」でインサートモード、「Esc」でインサート終了、「:w」で保存、「:q」)
[Unit]
Description=Tomcat Web Server
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="CATALINA_BASE=/usr/local/src/tomcat"
Environment="CATALINA_HOME=/usr/local/src/tomcat"
Environment="CATALINA_PID=/usr/local/src/tomcat/temp/tomcat.pid"
ExecStart=/usr/local/src/tomcat/bin/startup.sh
ExecStop=/usr/local/src/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
#ユニットファイルの読み込み(systemdに変更を反映させる)
#daemon=デーモンとは、常駐プログラムのこと。
$sudo systemctl daemon-reload
#ユニットファイルの有効化(自動起動設定を有効にする)
$sudo systemctl enable tomcat.service
さて、最後にbash_profileを編集します。
# エディタで .bash_profile ファイル開く
$sudo vi ~/.bash_profile
# エディタに以下の行を最終行に追加する
("#"がつくと、コメントアウトされてしまうため、下記のままコピー)
export CATALINA_HOME=/usr/local/src/tomcat
# bash_profileシェルを実行する
$source ~/.bash_profile
それでは、tomcatを起動しましょう
#tomcatの自動起動、有効化
$sudo systemctl enable tomcat.service
#tomcatを起動
$sudo systemctl start tomcat.service
#tomcatの状態確認
$sudo systemctl status tomcat.service
#実行結果
tomcat.service - Tomcat Web Server
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; preset: disabled)
Active: active (running) since Wed 2024-01-17 19:45:26 JST; 4min 42s ago
起動を確認できたので、接続確認、テストページを表示してみましょう
#接続確認
$curl -s http://localhost:8080 | grep title
#実行結果
<title>Apache Tomcat/9.0.82</title>
テストページの表示方法
URL:http://[EC2パブリックIPv4 アドレス]:8080で、以下が表示されたら成功です。
お疲れ様でした。
2. ログの確認
tomcatのログは、標準で
"/usr/local/src/apache-tomcat-9.0.82/logs" ディレクトリ配下に格納されています。
#ログファイルはrootユーザーで確認できるので、ユーザー切り替え
$sudo su
#ディレクトリ移動
$de /usr/local/src/apache-tomcat-9.0.82/logs
#一覧表示
$ls
#表示結果(一部省略)
catalina.2024-01-11.log host-manager.2024-01-12.log localhost.2024-01-14.log
manager.2024-01-11.log localhost_access_log.2024-01-15.txt catalina.out
ログ | 内容 |
---|---|
catalina.日付.log | 日付のtomcatのログ |
catalina.out | 起動してから今までのtomcatのログ |
host-manager.日付.log | GUI管理ツールのログ |
manager.日付.log | GUI管理ツールのログ |
localhost.日付.log | Webアプリケーションのログ |
localhost_access_log.日付.text | tomcatのアクセスログ |
後書き
以上がTomcatをインストールしてから、実行するまでの手順です。
こうやって記事を書いてみると、やること多いですね。
セキュリティ面を気にするなら更にやることが多いらしいので、根気強く頑張りたいです。