ウェブサイト検索

Debian 10 に Apache Tomcat 9 をインストールする方法


Apache Tomcat は、Java ベースのアプリケーションを提供するために使用される、無料で成熟した堅牢な人気のある Web アプリケーション サーバー ソフトウェアです。これは、Apache Software Foundation (ASF) によって開発された、Java Servlet、JavaServer Pages (JSP)、Java Expression Language、および Java WebSocket テクノロジのオープンソース実装です。

こちらもお読みください: Ubuntu に Apache Tomcat をインストールする方法

このチュートリアルでは、Tomcat 9 の最新リリースを Debian 10 Linux サーバーにインストールして構成するプロセスについて説明します。

このチュートリアルを始める前に、サーバー上で sudo 権限を持つ非 root ユーザー アカウントがあることを確認してください。そうでない場合は、「Ubuntu/Debian で新しい Sudo ユーザーを作成する方法」のガイドを使用してセットアップできます。

ステップ 1: Debian 10 に Java をインストールする

Tomcat 9 の最新リリースを Debian 10 サーバーにインストールするには、Java Web を実行できるようにサーバーに Java がインストールされている必要があります。アプリケーションコード。

まず、次のように apt コマンドを使用してシステム ソフトウェア パッケージ インデックスを更新します。

sudo apt update

次に、apt コマンドを使用してJava 開発キットパッケージをインストールします。

sudo apt install default-jdk

Java のインストールが完了したら、次のコマンドを使用してシステムにインストールされている Java のバージョンを確認します。

java -version

ステップ 2: Debian 10 に Tomcat をインストールする

セキュリティ上の理由から、Tomcat は特権のないユーザー (つまりroot ではない) によってインストールおよび実行される必要があります。新しいtomcat グループとユーザーを作成して、/opt/tomcat ディレクトリ (Tomcat インストール) の下に Tomcat サービスを実行します。

sudo mkdir /opt/tomcat
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Tomcat ユーザーを設定したら、Tomcat 9 ダウンロード ページから Tomcat 9 の最新バージョン (つまり 9.0.30) をダウンロードするか、次のコマンドを使用します。次のcurlコマンドラインツールを使用してtarballをダウンロードし、アーカイブを/opt/tomcatディレクトリに抽出します。

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

次に、Tomcat インストールの /opt/tomcat ディレクトリにアクセスできるように、tomcat ユーザーに権限を割り当てます。

cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/

ステップ 3: Tomcat systemd サービス ファイルを作成する

新しいsystemdサービス ファイルを作成して、Tomcatsystemd下のサービスとして管理および実行します。サービス ファイルを作成するには、Java がインストールされている場所 (次のコマンドを使用すると JAVA_HOME と呼ばれます) がどこにインストールされているかを知っておく必要があります。

sudo update-java-alternatives -l

上記の出力から、JAVA_HOME は次のようになります。

/usr/lib/jvm/java-1.11.0-openjdk-amd64

JAVA_HOME がわかったら、tomcat.service という systemd サービス ファイルを /etc/systemd/system< に作成できます。 ディレクトリを実行します。

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

次の内容を tomcat.service ファイルに貼り付けます。

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
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=/opt/tomcat/bin/shutdown.sh

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

[Install]
WantedBy=multi-user.target

次に、systemd をリロードして新しい変更を適用し、tomcat.service ファイルについて認識できるようにします。

sudo systemctl daemon-reload

最後に、次のコマンドを実行してTomcat サービスを開始してステータスを確認できます。

sudo systemctl start tomcat
systemctl status tomcat
systemctl enable tomcat

ステップ 4: Tomcat Manager と Host Manager のログインを有効にする

Tomcat に付属の manager-gui および admin-gui Web アプリにアクセスするには、Tomcat へのログインを有効にする必要があります。図のようにtomcat-users.xml ファイルを編集してサーバーを削除します。

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

以下の構成を タグ内に追加し、示されているように正しいユーザー名とパスワードを使用します。

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

上記の設定は、パスワード「admin」を持つユーザー「admin-gui」に admin-gui ロールと manager-gui ロールを追加することを意味します。 >tecmint123 」。

ステップ 5: Tomcat Manager および Host Manager へのリモート ログインを有効にする

セキュリティ上の理由から、Tomcat マネージャー アプリとホスト マネージャー アプリへのアクセスは、デフォルトではローカルホスト (デプロイされているサーバー) にロックダウンされています。

ただし、以下で説明するように、特定の IP アドレス、または任意のホストやネットワークからTomcat マネージャー アプリとホスト マネージャー アプリへのリモート アクセスを有効にすることができます。

Tomcat マネージャー アプリの場合は、次のように入力します。

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

ホスト マネージャー アプリの場合は、次のように入力します。

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

内部で、IP アドレス制限をコメントアウトして、任意のネットワークからのアクセスを許可します。

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

あるいは、リストに IP アドレスを追加して、自分の IP アドレス 192.168.0.103 またはネットワーク (192.168.0.0) からのリモート アクセスを有効にします。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

ファイルを保存し、Tomcat サービスを再起動して変更を有効にします。

sudo systemctl restart tomcat

ステップ 6: Tomcat Web インターフェイスにアクセスする

任意のブラウザから Tomcat Web インターフェイスにアクセスするには、次のように入力して8080 ポートを開いて、ファイアウォール上の Tomcat サービスへのトラフィックを許可する必要があります。

sudo ufw allow 8080

次に、ブラウザでサーバーのドメイン名または IP アドレスに続いてポート 8080 に移動し、Tomcat Web 管理インターフェイスにアクセスします。

http://server_domain_or_IP:8080

以下の URL でマネージャー アプリにアクセスしてみましょう。アカウントの認証情報を入力する必要があります。

http://server_domain_or_IP:8080/manager/html

以下の URL でホスト マネージャーにアクセスしてみましょう。アカウントの認証情報を入力する必要があります。

http://server_domain_or_IP:8080/host-manager/html/

それだけです! Tomcat のインストールが完了したので、Java Web アプリケーションをデプロイして実行できるようになりました。ご質問やご意見がございましたら、以下のコメント フォームからお問い合わせください。