CentOS 7にApache Tomcat 8をインストールする方法

前書き

Apache Tomcatは、Javaアプリケーションを提供するために使用されるWebサーバーおよびサーブレットコンテナーです。 Tomcatは、Apache Software FoundationがリリースしたJava ServletおよびJavaServer Pagesテクノロジーのオープンソース実装です。 このチュートリアルでは、CentOS 7サーバーでのTomcat 8の最新リリースの基本的なインストールといくつかの構成について説明します。

前提条件

このガイドを開始する前に、サーバーに別の非ルートユーザーアカウントを設定する必要があります。 これを行う方法については、CentOS 7のhttps://www.digitalocean.com/community/articles/initial-server-setup-with-centos-7 [初期サーバー設定]の手順1〜3を完了することで学習できます。 このチュートリアルの残りの部分では、ここで作成した `+ demo +`ユーザーを使用します。

Javaをインストールする

Tomcatでは、Javaがサーバーにインストールされている必要があるため、任意のJava Webアプリケーションコードを実行できます。 OpenJDK 7をyumと共にインストールすることで、その要件を満たしましょう。

yumを使用してOpenJDK 7 JDKをインストールするには、次のコマンドを実行します。

sudo yum install java-1.7.0-openjdk-devel

プロンプトで「+ y +」と答えて、OpenJDK 7のインストールを続行します。

後でTomcatを設定する必要があるJAVA_HOMEディレクトリへのショートカットは、 `+ / usr / lib / jvm / jre +`にあります。

Javaがインストールされたので、Tomcatサービスを実行するために使用される `+ tomcat +`ユーザーを作成しましょう。

Tomcatユーザーを作成する

セキュリティ上の理由から、Tomcatは非特権ユーザーとして実行する必要があります(つまり、 ルートではありません)。 Tomcatサービスを実行する新しいユーザーとグループを作成します。

最初に、新しい `+ tomcat +`グループを作成します:

sudo groupadd tomcat

次に、新しい「+ tomcat」ユーザーを作成します。 このユーザーを + tomcat +`グループのメンバーにし、ホームディレクトリを `+ / opt / tomcat +(Tomcatのインストール先)にし、シェルを `+ / bin / false +`にします(so誰もアカウントにログインできません):

sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

`+ tomcat +`ユーザーが設定されたので、Tomcatをダウンロードしてインストールします。

Tomcatをインストールする

この時点でTomcat 8をインストールする最も簡単な方法は、最新のバイナリリリースをダウンロードしてから手動で構成することです。

Tomcatバイナリをダウンロード

Tomcat 8の最新バージョンは、http://tomcat.apache.org/download-80.cgi [Tomcat 8ダウンロードページ]で検索してください。 執筆時点では、最新バージョンは* 8.5.37 です。 * Binary Distributions *セクションの下、 Core *リストの下にあるリンクを「tar.gz」にコピーします。

`+ wget +`を使用して、最新のバイナリ配布物をホームディレクトリにダウンロードしましょう。

まず、 `+ yum `パッケージマネージャーを使用して ` wget +`をインストールします。

sudo yum install wget

次に、ホームディレクトリに移動します。

cd ~

次のように、 `+ wget +`を使用してリンクを貼り付けてTomcat 8アーカイブをダウンロードします(ミラーリンクはおそらく例とは異なります)。

wget

Tomcatを `+ / opt / tomcat +`ディレクトリにインストールします。 ディレクトリを作成してから、次のコマンドを使用してアーカイブを展開します。

sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

これで、適切なユーザー権限を設定する準備ができました。

権限を更新

設定した `+ tomcat +`ユーザーには、Tomcatインストールへの適切なアクセス権が必要です。 今すぐ設定します。

Tomcatインストールパスに変更します。

cd /opt/tomcat

`+ tomcat +`グループに、インストールディレクトリ全体の所有権を付与します。

sudo chgrp -R tomcat /opt/tomcat

次に、 `+ tomcat `グループに ` conf +`ディレクトリとそのすべてのコンテンツへの読み取りアクセス権を付与し、ディレクトリ自体へのアクセスを実行します。

sudo chmod -R g+r conf
sudo chmod g+x conf

次に、「+ tomcat」ユーザーを「+ webapps」、「+ work」、「+ temp」、および「+ logs +」ディレクトリの所有者にします。

sudo chown -R tomcat webapps/ work/ temp/ logs/

適切な権限が設定されたので、Systemdユニットファイルを設定しましょう。

Systemd Unitファイルのインストール

Tomcatをサービスとして実行できるようにするため、Tomcat Systemdユニットファイルを設定します。

次のコマンドを実行して、ユニットファイルを作成して開きます。

sudo vi /etc/systemd/system/tomcat.service

次のスクリプトを貼り付けます。 `+ CATALINA_OPTS +`で指定されているメモリ割り当て設定を変更することもできます。

/etc/systemd/system/tomcat.service

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms -Xmx -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

保存して終了。 このスクリプトは、設定を指定して、 `+ tomcat +`ユーザーとしてTomcatサービスを実行するようサーバーに指示します。

Systemdをリロードして、Tomcatユニットファイルをロードします。

sudo systemctl daemon-reload

これで、この `+ systemctl +`コマンドを使用してTomcatサービスを開始できます。

sudo systemctl start tomcat

次のように入力して、サービスが正常に開始されたことを確認します。

sudo systemctl status tomcat

Tomcatサービスを有効にしてサーバーの起動時に開始する場合は、次のコマンドを実行します。

sudo systemctl enable tomcat

Tomcatはまだ完全にはセットアップされていませんが、WebブラウザーでドメインまたはIPアドレスの後に「:8080」を入力すると、デフォルトのスプラッシュページにアクセスできます。

Open in web browser:http://:8080

他の情報に加えて、デフォルトのTomcatスプラッシュページが表示されます。 次に、Tomcatのインストールについて詳しく説明します。

Tomcat Web管理インターフェースを構成する

Tomcatに付属のマネージャーwebappを使用するには、Tomcatサーバーにログインを追加する必要があります。 `+ tomcat-users.xml`ファイルを編集してこれを行います:

sudo vi /opt/tomcat/conf/tomcat-users.xml

このファイルには、ファイルの構成方法を説明するコメントが入力されています。 次の2行の間のすべてのコメントを削除するか、例を参照する場合はコメントを残すことができます。

tomcat-users.xmlの抜粋

<tomcat-users>
...
</tomcat-users>

+ manager-gui +`と `+ admin-gui +(Tomcatに付属しているWebアプリ)にアクセスできるユーザーを追加する必要があります。 以下の例のようなユーザーを定義することにより、これを行うことができます。 ユーザー名とパスワードを安全なものに変更してください。

tomcat-users.xml-管理ユーザー

<tomcat-users>
   <user username="" password="" roles="manager-gui,admin-gui"/>
</tomcat-users>

tomcat-users.xmlファイルを保存して終了します。

デフォルトでは、Tomcatの新しいバージョンは、ManagerアプリとHost Managerアプリへのアクセスをサーバー自体からの接続に制限します。 リモートマシンにインストールするので、この制限を削除または変更することをお勧めします。 これらのIPアドレスの制限を変更するには、適切な `+ context.xml +`ファイルを開きます。

マネージャーアプリの場合:

sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml

ホストマネージャーアプリの場合:

sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

内部では、IPアドレスの制限をコメントアウトして、どこからでも接続できるようにします。 または、自分のIPアドレスからの接続のみにアクセスを許可する場合は、リストにパブリックIPアドレスを追加できます。

Tomcat webappsのcontext.xmlファイル

<Context antiResourceLocking="false" privileged="true" >
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

完了したら、ファイルを保存して閉じます。

変更を有効にするには、Tomcatサービスを再起動します。

sudo systemctl restart tomcat

Webインターフェイスにアクセスする

Tomcatが稼働しているので、WebブラウザーでWeb管理インターフェースにアクセスしましょう。 これを行うには、ポート8080でサーバーのパブリックIPアドレスにアクセスします。

Open in web browser:http://:8080

次の図のようなものが表示されます。

image:https://assets.digitalocean.com/articles/tomcat8_centos/splashscreen.png [Tomcat root]

ご覧のとおり、管理ユーザーを構成した管理Webアプリへのリンクがあります。

リンクまたは `+ http://:8080 / manager / html +`からアクセスできるマネージャーアプリを見てみましょう。

image:https://assets.digitalocean.com/articles/tomcat8_centos/manager.png [Tomcat Web Application Manager]

Webアプリケーションマネージャは、Javaアプリケーションの管理に使用されます。 ここで、開始、停止、リロード、デプロイ、およびアンデプロイできます。 アプリでいくつかの診断を実行することもできます(つまり、 メモリリークを見つける)。 最後に、サーバーに関する情報はこのページの一番下にあります。

次に、リンクまたは `+ http://:8080 / host-manager / html / +`からアクセスできるホストマネージャーを見てみましょう。

image:https://assets.digitalocean.com/articles/tomcat8_centos/host-manager.png [Tomcat Virtual Host Manager]

Virtual Host Managerページから、アプリケーションを提供する仮想ホストを追加できます。

結論

Tomcatのインストールが完了しました! これで、独自のJava Webアプリケーションを自由にデプロイできます!