GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にApacheTomcat10をインストールする方法

Apache Tomcatはオープンソースであり、Javaベースのアプリケーションをホストするために使用される最も人気のあるWebアプリケーションサーバーです。 Javaサーブレット、JavaServer Pages(JSP)、Java ELが付属しており、Javaコードを実行するための環境を提供します。 Tomcatは、軽量、柔軟性が高く、十分に文書化されている、高度なセキュリティ、成熟した機能など、豊富な機能セットを提供します。

このチュートリアルでは、ApacheTomcat10をDebian10サーバーにインストールする方法を説明します。

前提条件
  • Debian10を実行しているサーバー。
  • サーバーIPで指定された有効なドメイン名。
  • ルートパスワードはサーバーで構成されています。
はじめに

開始する前に、次のコマンドを使用してシステムパッケージを最新バージョンに更新します。

apt-get update -y

すべてのパッケージが更新されたら、次のステップに進むことができます。

Javaのインストール

ApacheTomcatはJavaベースのアプリケーションです。したがって、サーバーにJavaをインストールする必要があります。次のコマンドでJavaをインストールできます。

apt-get install default-jdk -y

インストール後、以下のコマンドを使用してJavaのバージョンを確認します。

java --version

次の出力は、サーバーにインストールされているJavaバージョンを示しています。

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

終了したら、次のステップに進むことができます。

ApacheTomcatをインストールする

このチュートリアルを書いている時点で、ApacheTomcatの最新バージョンは10.0.7です。

まず、次のコマンドを使用してApacheTomcatを実行するユーザーを追加します。

useradd -m -d /opt/tomcat -U -s /bin/false tomcat

次に、次のコマンドを使用してApacheTomcat10をダウンロードします。

wget https://mirrors.estointernet.in/apache/tomcat/tomcat-10/v10.0.7/bin/apache-tomcat-10.0.7.tar.gz

ダウンロードが完了したら、次のコマンドを使用して、ダウンロードしたファイルを/ opt/tomcatディレクトリに抽出します。

tar -xzvf apache-tomcat-10.0.7.tar.gz -C /opt/tomcat --strip-components=1

次に、次のコマンドを使用して、/ opt/tomcatディレクトリに適切な所有権を設定します。

chown -R tomcat:tomcat /opt/tomcat/

終了したら、次のステップに進むことができます。

TomcatWeb管理者ユーザーを作成する

次に、Tomcat管理インターフェースにアクセスするための管理ユーザーを作成する必要があります。 tomcat-users.xmlファイルを編集して作成できます:

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

最後の行の前に次の行を追加します:

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

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

終了したら、ファイルを保存して閉じます。これで、次のステップに進むことができます。

Tomcatのリモートアクセスを許可する

デフォルトでは、Tomcatはローカルシステムからのみアクセスするように構成されています。そのため、リモートシステムからアクセスできるようにTomcatを設定する必要があります。

まず、 context.xmlを編集します Tomcatマネージャーアプリケーションへのリモートアクセスを許可するファイル:

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

次の行を削除またはコメントアウトします。

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

ファイルを保存して閉じてから、 context.xmlを編集します Tomcatホストマネージャーアプリケーションへのリモートアクセスを許可するファイル:

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

次の行を削除します:

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

終了したら、ファイルを保存して閉じます。これで、次のステップに進むことができます。

Tomcat用のsystemdユニットファイルを作成する

次に、Tomcatサービスを管理するためのsystemdユニットファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/systemd/system/tomcat.service

次の行を追加します:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じてから、systemdデーモンをリロードして変更を適用します。

systemctl daemon-reload

次に、Tomcatサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start tomcat
systemctl enable tomcat

次のコマンドを使用して、Tomcatサービスのステータスを確認できるようになりました。

systemctl status tomcat

次の出力が得られるはずです:

? tomcat.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 04:58:39 UTC; 15s ago
  Process: 5706 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5713 (java)
    Tasks: 29 (limit: 2359)
   Memory: 154.7M
   CGroup: /system.slice/tomcat.service
           ??5713 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.ut

Jul 01 04:58:39 tomcat systemd[1]: Starting Tomcat...
Jul 01 04:58:39 tomcat startup.sh[5706]: Tomcat started.
Jul 01 04:58:39 tomcat systemd[1]: Started Tomcat.

この時点で、Tomcatが起動し、ポート8080でリッスンしています。次のコマンドで確認できます。

ss -antpl | grep 8080

次の出力が得られるはずです:

LISTEN   0        100                          *:8080                  *:*       users:(("java",pid=5713,fd=43))

完了したら、次のステップに進むことができます。

Tomcat用にNginxを構成する

次に、TomcatアプリケーションにアクセスするためのリバースプロキシとしてNginxを使用することをお勧めします。

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

Nginxがインストールされたら、新しいNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/conf.d/tomcat.conf

次の行を追加します:

server {
  listen 80;

  server_name    tomcat.example.com;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

終了したらファイルを保存して閉じ、次のコマンドを使用して構文エラーがないかNginxを確認します。

nginx -t

次の出力が得られるはずです:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、Nginxを再起動して変更を適用します:

systemctl restart nginx

次のコマンドを使用して、Nginxサービスのステータスを確認することもできます。

systemctl status nginx

すべてが正常であれば、次の出力が表示されます。

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 05:00:32 UTC; 6s ago
     Docs: man:nginx(8)
  Process: 6322 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6323 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6324 (nginx)
    Tasks: 2 (limit: 2359)
   Memory: 2.7M
   CGroup: /system.slice/nginx.service
           ??6324 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6325 nginx: worker process

Jul 01 05:00:32 tomcat systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 01 05:00:32 tomcat systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 01 05:00:32 tomcat systemd[1]: Started A high performance web server and a reverse proxy server.

終了したら、次のステップに進むことができます。

Tomcatアプリケーションにアクセス

次に、Webブラウザーを開き、URL http://tomcat.example.comを使用してTomcatアプリケーションにアクセスします。 。次のページにリダイレクトされます:

アプリの管理をクリックします 。 Managerアプリのログインページが表示されます:

管理者のユーザー名とパスワードを入力し、サインインをクリックします ボタン。次のページにManagerアプリのダッシュボードが表示されます。

ホストマネージャーにアクセスするには、ホストマネージャーをクリックします Tomcatホームページから。 TomcatHostManagerのログインページが表示されます。

管理者のユーザー名とパスワードを入力し、サインインをクリックします ボタン。次のページにTomcatHostManagerダッシュボードが表示されます。

結論

おめでとう!これで、ApacheTomcat10がDebian10サーバーに正常にインストールされました。これで、Javaアプリケーションを作成し、ApacheTomcatを使用してホストできます。ご不明な点がございましたら、お気軽にお問い合わせください。


Debian
  1. Debian11にApacheMavenをインストールする方法

  2. Debian 11 /Debian10にApacheCassandraをインストールする方法

  3. Tomcat8をDebian8にインストールする方法

  1. Debian9にTomcat8.5をインストールする方法

  2. Debian9にApacheをインストールする方法

  3. Debian10にApacheMavenをインストールする方法

  1. Debian9にTomcat9をインストールする方法

  2. Debian9にApacheCassandraをインストールする方法

  3. Debian11にApacheTomcatをインストールする方法(ステップバイステップ)