実践②:APサーバ(Tomcat)の環境構築

実践②:APサーバ(Tomcat)の環境構築

概要説明

この節では、JavaのWebアプリケーションがCentOSで動くように、アプリケーションサーバー(Tomcat)の環境構築をします。

そのために次のページで紹介する作業手順を元に、 Tomcat用のパッケージをアップロードしたり、設定ファイルの編集などを実施します。

作業手順

① Tomcatのインストール

  1. Tomcat用の圧縮ファイルのアップロード
  2. Tomcat用の圧縮ファイルの展開

② Tomcat専用のユーザの作成

  1. Tomcat専用のユーザーの作成
  2. Tomcatフォルダの所有者をtomcatユーザーに変更

③ 設定ファイルの編集

  1. tomcat.serviceの編集
    コマンドでTomcatを起動・停止できるよう設定します。
  2. /sysconfig/tomcat の編集
    TomcatやJDKのフォルダを参照できるよう環境変数の設定します。

① Tomcatのインストール

1. Tomcat用の圧縮ファイルのアップロード

a. FileZillaの起動とディレクトリの移動

FileZillaを起動し、起動したら次のディレクトリに移動してください。

ローカルサイト(WindowsOS)

デスクトップ/Linuxサーバー環境構築入門

※実際の「Linuxサーバ環境構築入門」フォルダの保存先を指定してください。

(リモートサイト(CentOS)

/root

b. Tomcat用の圧縮ファイルのアップロード

続いて、ローカルサイト(WindowsOS)から、
Tomcat用の圧縮アーカイブファイル(apache-tomcat-9.0.72.tar.gz)をリモートサイト(CentOS)へ、
ドラッグ&ドロップで、アップロードしてください。

Tomcat用の圧縮ファイルの展開

a. Tomcat用の圧縮ファイルの展開

アップロードした圧縮アーカイブファイルを解凍・展開します。

[root@localhost ~]♯tar -zxvf apache-tomcat-9.0.72.tar.gz
b. 適切な階層(フォルダ)にTomcatファイルを移動する

解凍・展開した各種ファイル(フォルダ)を指定のフォルダへ移動させます。

[root@localhost ~]♯ mv apache-tomcat-9.0.72 /usr/local/tomcat
c. Tomcat用の圧縮ファイルの削除

解凍・展開で使用した圧縮アーカイブファイルは不要なので削除します。

[root@localhost ~]♯rm -f apache-tomcat-9.0.72.tar.gz

② tomcat専用のユーザの作成

Linux上でTomcatを動かすためには、tomcatという名前の専用のユーザーが必要になります。

通常、このユーザー名でLinuxを操作(ログイン)することはありませんが、Tomcat用のフォルダの所有者をtomcatユーザーに割り当てる必要があります。

1. Tomcat専用のユーザーの作成

以下のコマンドでTomcat専用のユーザーを作成します。

[root@localhost ~]#useradd -s /sbin/nologin tomcat
※ 「-s /sbin/nologin/」について

「-sオプション」はログインシェル(ログイン時に起動されるプログラム(シェル))を指定するためのものです。

また、「-s /sbin/nologin」は、ログインする必要がないユーザーを作成する際に、セキュリティのために指定しますが、指定することで対象のユーザに、sshやsuなどでログインできなくなります。

2. Tomcatフォルダの所有者をtomcatユーザーに変更

以下のコマンドで「tomcat」フォルダの所有者を、tomcatユーザーに変更します。

[root@localhost ~]# chown -R tomcat:tomcat /usr/local/tomcat

※ Rオプションにより、tomcatフォルダ直下のファイルの所有者もまとめて変更されます。

③ 設定ファイルの編集

各種設定ファイルの役割

続いて、Tomcatをコマンドで簡単に起動・停止できるようにしたり、

JavaのWebアプリケーションがきちんと動かせるようなアプリケーションサーバーとして動作させるための環境変数の設定をするため、次のファイルを編集します。

tomcat.service

このファイルを設定することで、「httpd」や「mysqld」のように「systemctlコマンド」でTomcatを扱えるようにすることで、簡易的にTomcatをコマンドで起動・停止できるようにします。

/sysconfig/tomcat

環境変数は、OS(Linux)上で共有して利用できる変数です。
変数名と設定値が対応するので、CentOS上で変数名を指定することで設定値を参照することができるようになります。
ここではJava(JDK)やTomcatの格納先(フォルダ)のパスを指定することで、JavaやTomcatを参照できるようになり、Linux上でJavaのアプリケーションサーバーが適切に動作できるようになります。

各種設定ファイルの役割

1. tomcat.serviceの編集

a. Viエディタの起動
[root@localhost ~]#vi /etc/systemd/system/tomcat.service
b. ファイルの編集する

インサートモードを起動(iキーの入力)し、次の通りに編集してください。

[Unit]
Description=Apache Tomcat Servlet Container
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
KillMode=none

[Install]
WantedBy=multi-user.target
c. 編集モードを終了する
①「escキー」

インサートモードの解除

②「:wq」+「Enterキー」

上書き保存

※【補足】設定項目の意味

以下、重要な項目に絞り、設定項目の意味を次の通りにまとめました。

Description

サービス(Tomcat)の概要を説明します。

EnvironmentFile=/etc/sysconfig/tomcat

環境変数の設定ファイルを指定します。ここでは「2. /sysconfig/tomcat の編集」で編集する環境変数用のファイルを指定しています。

ExecStart

サービス(Tomcat)起動時に実行されるプログラム(シェルファイル)を指定します。

ExecStop

サービス(Tomcat)停止時にに実行されるプログラム(シェルファイル)を指定します。

/sysconfig/tomcat の編集

a. Viエディタの起動
[root@localhost ~]# vi /etc/sysconfig/tomcat
b. ファイルの編集する

インサートモードを起動(iキーの入力)し、次の通りに編集してください。

export JAVA_HOME=/usr/java/default
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export CATALINA_PID=$CATALINA_HOME/temp/tomcat.pid
c. 編集モードを終了する
① 「escキー」

インサートモードの解除

② 「:wq」+「Enterキー」

上書き保存

※ 【補足】設定項目の意味

以下設定項目の意味を次の通りにまとめました。

JAVA_HOME
  • 設定値
    /usr/java/default
  • 設定の意味
    JDK(Java)のフォルダの階層を指定します。
CATALINA_HOME
  • 設定値
    /usr/local/tomcat
  • 設定の意味
    Tomcatのフォルダの階層を指定します。
CATALINA_BASE
  • 設定値
    /usr/local/tomcat
  • 設定の意味
    1台のコンピュータで複数のTomcat(JavaのWebアプリ)を処理させるための項目です。
    一つ一つの処理をインスタンスと呼び、インスタンスの置き場所を指定します。
CATALINA_PID
  • 設定値
    $CATALINA_HOME/temp/tomcat.pid
  • 設定の意味
    TomcatのプロセスIDが記述されたファイルを指定します。
    killコマンド(特定のプロセスを終了させるコマンド)で特定のプロセス(サービスやプログラム)を終了させる際に、プロセスID(PID)が必要になるので、TomcatにプロセスIDを割り当てるために指定します。

【補足】特定のバージョンのTomcatをインストールする(※実施不要)

3. ダウンロードリンクまでスクロールする

ダウンロードページを開いたら、
ダウンロードリンク「Binary Distributions > Core」までスクロールしてください。

4. ダウンロードリンクをコピーする

「Binary Distributions > Core」の「tar.gz」を右クリックし、「リンクのアドレスをコピー」をクリックします。

ダウンロードのリンクがコピーされます。

5. Tomcatをダウンロードする

Cent OS(Tera Term)の画面に戻り、次のコマンドを入力ください。

「wgetコマンド」の対象には、『先ほどコピーしたTomcatのダウンロードリンク

(※資料内では「https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.73/bin/apache-tomcat-9.0.73.tar.gz」)』を半角スペースを空けて改行せずに、続けて入力ください。

[root@localhost ~]#wget 先ほどコピーしたTomcatのダウンロードリンク
~~省略~~
`apache-tomcat-9.0.72.tar.gz' に保存中
100%[======================================>] 11,042,076  1.73MB/s 時間 6.3s

2020-02-03 15:40:13 (1.67 MB/s) - `apache-tomcat-9.0.73.tar.gz' へ保存完了 [11042076/11042076]

もし、上手くいかなかった時は、次のページ以降で紹介する以下の補足①、②をご参考ください。

【補足①】wgetコマンドが無い場合
【補足②】wgetコマンドを実行した後、エラーが出力した場合

またwgetコマンドは、ダウンロードリンクからファイルをダウンロードするためのコマンドです。

実行したことにより、Tomcat用の圧縮アーカイブファイル(××.tar.gz)がCentOSにダウンロードされました。

※ 【補足①】wgetコマンドが無い場合

以下、手順でwgetコマンドのインストールをします。

a. wgetパッケージのインストールの確認

次のコマンドで既にwgetコマンドがインストールされているか確認します。

※存在する場合は、その次の手順は不要です。

[root@localhost ~]#yum list installed | grep wget
b. wgetパッケージのインストール

インストールが確認できなかった場合は、次のコマンドでインストールします。

[root@localhost ~]#yum -y install wget

※ 【補足②】wgetコマンドを実行した後、エラーが出力した場合

エラー内容

もし以下のようなエラーメッセージが出力した場合は、

例)エラー: dlcdn.apache.org の証明書(発行者: `/C=US/O=Let\'s Encrypt/CN=R3')の検証に失敗しました:
	発行された証明書は失効しています。
	dlcdn.apache.org に安全の確認をしない
実行内容

以下のように、wgetコマンドに、オプション「–no-check-certificate」を付与して、実行することでインストールします。

[root@localhost ~]#wget --no-check-certificate 先ほどコピーしたJDKのRPMのダウンロードリンク
~~省略~~
`apache-tomcat-9.0.73.tar.gz' に保存中
100%[===================================================>] 11,625,808  32.9MB/s 時間 0.3s
2023-03-22 15:12:14 (32.9 MB/s) - `apache-tomcat-9.0.73.tar.gz' へ保存完了 [11625808/11625808]

6. 残りの作業の実施

ダウンロードが無事に終わりましたら、

「実践②APサーバ(Tomcat)の環境構築 > ① Tomcatのインストール > 2.Tomcat用の圧縮ファイルの展開」以降の作業を
実施することで、ダウンロードした圧縮アーカイブファイルを展開するなど、適切な設定を行います。

詳しくは該当の節に戻ってご確認ください。


NEXT>> 実践③:動作確認