Apache tomcat Install手順
本記事は「tomcat」をインストールする手順を記録しただけの記事です。
実際どう使用するか等はいずれ試しつつ後日まとめますので、今回はこれで勘弁してください。
なんでtomcat?
サーバ構築ってわかりますか?わたしは正直ハードをイメージしていて
実際アプリケーションをどう動かすのか理解していませんでした。一口にサーバといっても
- データベースを稼動させるサーバ
- HTTPを受け付けて、Webアプリケーションを呼び出すサーバ
- ファイルをためておくためのサーバ
と役割毎に様々あるそうです。ハードなの?ソフトなの?と混乱していた私に、
「典型的なWebシステムを構成するサーバ」を立てていこうか?まずはHTMLを動的に生成するためのServlet コンテナやってみて、いわゆるWebサーバとの動きの違いを実際に触ることで理解しませんか?との師匠の提案。
ぶっちゃけイメージつきませんでしたが、仕事でもみかける「tomcat」をやろうといわれ、おっしゃやります!といつものテンションで地雷踏み抜きました。(書かなかったけど失敗しまくって時間溶かしました...)
超初期のHTMLを生成する仕掛けとしてtomcatをいじってみたので、今回はその手順を紹介します。
今回作った環境はこんな感じです。
導入ソフト分類 | 導入ソフトウェア |
---|---|
os | Red Hat Enterprise Linux(RHEL) |
PP | Apache tomcat |
選定理由
Red Hat Enterprise Linux(RHEL)
実際のシステム開発の現場で最もよく使われるLinuxディストリビューションとして選定。すこしでも実環境に近い状況を作りたいと考えました。
Apache tomcat
最終的には画面を含めてなんちゃってWebシステムを作ってさわってみることが目的なので、今回はHTTPの受け口になるServlet Containerとしてtomcatとそれを動作させるためのOpen JDKをそれぞれインストールします。ぶっちゃけ、これも「よく使われる」から以外の理由はない!とのこと。
今回を含めた最終的なゴールはこんな感じです。
今回のゴール
- RHEL環境下にサーブレットコンテナを構築
- 実際に導入したソフトウェアの動作確認
構築作業
では早速、インストールしていきましょう。
前提作業
先にRHEL環境を準備してください。過去には有償だったRHELが現在無償利用でてます。
ー>RHELインストール手順 過去記事
ここからはターミナル(端末)を使用してインストールします。
今回の作業はここからです。
1. OpenJDKインストール
まずはTomcatを動作させる環境としてOpenJDKを導入します。「JRE でもいいのですが、いろいろくっついてきてお得なJDKを使います」とのこと。JDKをよく知らない状況なので、素直に従います。
1-1 インストールできるJDKを検索
sudo dnf search jdk
結果はこんな感じに出てきます。
<結果>
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 2:22:55 時間前の 2022年05月15日 11時41分17秒 に実施しました。
=================================== 名前 & 概要 一致: jdk ===================================
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK 8 Runtime Environment
(略)
jmc.x86_64 : JDK Mission Control is a profiling and diagnostics tool
jmc-core.noarch : Core API for JDK Mission Control
この中からVersion11入れたいので、以下の通りコマンドを入力
sudo dnf install java-11-openjdk.x86_64 java-11-openjdk-devel.x86_64
Install完了すると、「完了しました!」とでてきます。
2. Apache tomcatインストール
2-1 インストール媒体取得
wgetでtomcatを取得します。
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz
2-2 実行ユーザ追加
慣習的にtomcat ユーザを利用したいので、ユーザー追加します。
sudo useradd tomcat
idが振られているか確認します
sudo id tomcat
2-3 期待通りに媒体が取得できてるか確認する。
一応です。ホントに一応。確認せずして次の作業をすると、嵌ったときに大変です。
ls -ltr
ls apache*
2-4 媒体の解凍
gunzip apache-tomcat-10.0.20.tar.gz
tar xvf apache-tomcat-10.0.20.tar
ls -d apache-tomcat-10.0.20
★ディレクトリが存在することを確認
gunzipでgzip圧縮を解凍し、tarコマンドでtarからファイルを取り出します。作業中に教えてもらったTipsですが、 tar xvf は 引数に「取り出したいファイル」を指定して「そのファイルだけ」取り出すこともできます。
2-5 ディレクトリの移動
/tmp/apache-tomcat-10.0.20のままでは、いろいろ問題があります。tmpディレクトリは「一時的」な保存場所。設定によって削除のタイミングは変わりますが、数日で消去されてしまうため移動の必要があります。そこで、/opt配下に配置しなおします。
sudo mv apache-tomcat-10.0.20 /opt/
移動できたかの確認
ls -dl /opt/apache-tomcat-10.0.20
2-6 ディレクトリ・ファイルのオーナー変更!
現在rootで作業しているのでこのままいくとroot出しかプロセスが起動できない超強力Tomcatができちゃいます。
剥き身は超キケンなのでtomatユーザで実行します。そのために、tomcatユーザにファイルのオーナーを変更しておきます。
sudo chown -R tomcat. /opt/apache-tomcat-10.0.20/
-Rは「再帰的に」の意味。配下のディレクトリとファイルを一括で変更します。
2-7 Tomcat起動
sudo su - tomcat
cd /opt/apache-tomcat-10.0.20/bin/
./startup.sh
起動確認
jps
BootStrapが起動していることを確認します。jpsは通常のpsコマンドとは違い、javaのプロセスを一覧してくれるので、便利です。
ブラウザを起動し、以下のURL入力し動作確認
http://localhost:8080
2-8 ちょっとした設定変更
さて、デフォルトの設定ではAppManagerなのどの便利機能が使えません。今回はいろいろ覚えることが目的なので、有効にしちゃいましょう。
本番のシステムではデプロイメントマネージャ等別のやり方がありますので、以下設定はあくまでも学習用と捉えてください!
本番環境で以下設定は非常に危険です!
一旦tomcatをシャットダウンします。
/opt/apache-tomcat-10.0.20/bin/shutdown.sh
tomcat ユーザで設定変更しましょう。
vi /opt/apache-tomcat-10.0.20/conf/tomcat-users.xml
以下の場所のpasswordを任意に変更、コメントアウトを解除してください。なお、XMLのコメントは <!-- xxxxxxx --> で複数行をまたいでコメントとして扱えるので注意です。
<user username="admin" password="admin" roles="manager-gui"/>
<user username="robot" password="adminrobot" roles="manager-script"/>
最後に「:wq!」で上書き終了してください。
やらかし!
- コメントアウト忘れてユーザー設定が通ってなかった
- パスワードに<>の記号が入っててパスワードとして認識できていなかった。
初心者なので許してください。tomcatでビギナーが「ログインできない!」て騒いでいたら疑ってみてください。
さいごに感想
慣れてる方にはなんてことない内容だと思います。
しかし。コマンドの意味もわからず、sudo入れる入れないで何度もひっかかり、自分がどこにいるのかもわからず、苦戦すること数時間!!
き、き、きつかったー(泣)今回も師匠はスパルタでした。