8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apache tomcat Install してみる、、、

Last updated at Posted at 2022-05-22

tomcatimg.png

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をそれぞれインストールします。ぶっちゃけ、これも「よく使われる」から以外の理由はない!とのこと。

今回を含めた最終的なゴールはこんな感じです。

web3soh1.png

今回のゴール

  1. RHEL環境下にサーブレットコンテナを構築
  2. 実際に導入したソフトウェアの動作確認

構築作業

では早速、インストールしていきましょう。

前提作業

先に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

2022-05-14 16-31-44 のスクリーンショット.png
とりあえず通った...

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!」で上書き終了してください。

やらかし!
  1. コメントアウト忘れてユーザー設定が通ってなかった
  2. パスワードに<>の記号が入っててパスワードとして認識できていなかった。

初心者なので許してください。tomcatでビギナーが「ログインできない!」て騒いでいたら疑ってみてください。

さいごに感想

慣れてる方にはなんてことない内容だと思います。
しかし。コマンドの意味もわからず、sudo入れる入れないで何度もひっかかり、自分がどこにいるのかもわからず、苦戦すること数時間!!
き、き、きつかったー(泣)今回も師匠はスパルタでした。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?