序章

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

前提条件

このガイドを開始する前に、サーバーにroot以外のユーザーアカウントを設定しておく必要があります。 CentOS 7のサーバーの初期設定の手順1〜3を完了すると、これを行う方法を学ぶことができます。 を使用します demo このチュートリアルの残りの部分でユーザーがここで作成しました。

Javaをインストールする

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

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

  1. sudo yum install java-1.7.0-openjdk-devel

答え y プロンプトで、OpenJDK7のインストールを続行します。

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

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

Tomcatユーザーを作成する

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

まず、新しいを作成します tomcat グループ:

  1. sudo groupadd tomcat

次に、新しいを作成します tomcat ユーザー。 このユーザーをメンバーにします tomcat グループ、ホームディレクトリは /opt/tomcat (Tomcatをインストールする場所)、および /bin/false (したがって、誰もアカウントにログインできません):

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

今、私たちの tomcat ユーザーが設定されたら、Tomcatをダウンロードしてインストールしましょう。

Tomcatをインストールします

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

TomcatBinaryをダウンロードする

Tomcat8ダウンロードページでTomcat8の最新バージョンを見つけてください。 執筆時点では、最新バージョンは8.5.37です。 Binary Distributions セクションの下で、次に Core リストの下で、リンクを「tar.gz」にコピーします。

を使用して、最新のバイナリディストリビューションをホームディレクトリにダウンロードしましょう。 wget.

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

  1. sudo yum install wget

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

  1. cd ~

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

  1. wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz

Tomcatをにインストールします /opt/tomcat ディレクトリ。 ディレクトリを作成し、次のコマンドを使用してアーカイブをそのディレクトリに抽出します。

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

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

権限の更新

The tomcat 設定したユーザーは、Tomcatインストールに適切にアクセスできる必要があります。 これを設定します。

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

  1. cd /opt/tomcat

与える tomcat インストールディレクトリ全体のグループ所有権:

  1. sudo chgrp -R tomcat /opt/tomcat

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

  1. sudo chmod -R g+r conf
  2. sudo chmod g+x conf

次に、 tomcat ユーザーの所有者 webapps, work, temp、 と logs ディレクトリ:

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

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

Systemdユニットファイルをインストールする

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

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

  1. 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=-Xms512M -Xmx1024M -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ユニットファイルをロードします。

  1. sudo systemctl daemon-reload

これでTomcatサービスを開始できます systemctl 指図:

  1. sudo systemctl start tomcat

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

  1. sudo systemctl status tomcat

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

  1. sudo systemctl enable tomcat

Tomcatはまだ完全にはセットアップされていませんが、ドメインまたはIPアドレスに移動してからデフォルトのスプラッシュページにアクセスできます。 :8080 Webブラウザの場合:

Open in web browser:
http://server_IP_address:8080

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

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

Tomcatに付属のマネージャーWebアプリを使用するには、Tomcatサーバーにログインを追加する必要があります。 これを行うには、 tomcat-users.xml ファイル:

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

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

tomcat-users.xmlの抜粋
<tomcat-users>
...
</tomcat-users>

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

tomcat-users.xml —管理者ユーザー
<tomcat-users>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

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

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

Managerアプリの場合は、次のように入力します。

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

Host Managerアプリの場合は、次のように入力します。

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

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

TomcatWebアプリケーションの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サービスを再起動します。

  1. sudo systemctl restart tomcat

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

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

Open in web browser:
http://server_IP_address:8080

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

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

リンクまたはリンクからアクセスできるManagerアプリを見てみましょう。 http://server_IP_address:8080/manager/html:

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

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

[仮想ホストマネージャー]ページから、アプリケーションを提供する仮想ホストを追加できます。

結論

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