Apache Tomcatは、Apache Software Foundation(ASF)によって開発されたオープンソースのJavaHTTPWebサーバーです。 Tomcatは、JavaサーブレットとJavaServer Pages(JSP)のデプロイを支援し、HTTPWebサーバーのように機能します。
この投稿では、CentOS 8 /RHEL8にApacheTomcat10/9をインストールする方法を説明します。
前提条件
Javaのインストール
Tomcatには、Java8以降がマシンにインストールされている必要があります。 OracleJDKまたはOpenJDKの安定バージョンをインストールできます。
読む :CentOS 8 /RHEL8にOracleJAVAをインストールする方法
この投稿では、OpenJDKを使用しています。
yum install -y java curl tar
次のコマンドを発行して、Javaのインストールを確認します。
java -version
出力:
openjdk version "1.8.0_275" OpenJDK Runtime Environment (build 1.8.0_275-b01) OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Tomcatサービスアカウントを作成する
ベストプラクティスとして、Tomcatサービスをrootユーザーとして実行しないでください。したがって、Tomcatサービスを実行するための通常のLinuxユーザーを作成します。
useradd -d /opt/tomcat -s /bin/nologin tomcat
ApacheTomcatをインストールする
Tomcatをダウンロード
公式WebサイトからApacheTomcatをダウンロードし、作業ディレクトリに保存します。
この記事の執筆時点では、Tomcatv9.0.22をインストールできます。
ブラウザ
ApacheTomcat10をダウンロード
ApacheTomcat9.0をダウンロード
ターミナル
### Apache Tomcat 10.x curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz ### Apache Tomcat 9.x curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz>
Tomcatのセットアップ
Tomcat tarballを抽出し、目的の(/ opt / tomcat)ディレクトリに移動します。
tar -zxvf apache-tomcat-*.tar.gz mv apache-tomcat-*/* /opt/tomcat/
ディレクトリの所有権をtomcatユーザーに変更します。
chown -R tomcat:tomcat /opt/tomcat/
Systemdファイルの作成
Tomcatサービスを開始するようにsystemdを構成できます。また、システムの開始時にApacheTomcatサービスを自動開始するのにも役立ちます。
Tomcatのsystemdサービスファイルには、Javaのインストール場所が必要です。したがって、次のコマンドを使用して、システムで使用可能なJavaバージョンを一覧表示します。
alternatives --list | grep ^java
出力:
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java
現時点では、システムにはJava1.8しかありません。
tomcatsystemdサービスファイルを作成します。
vi /etc/systemd/system/tomcat.service
以下の情報をsystemdサービスファイルに追加します。 環境に応じて値を変更します。
[Unit] Description=Apache Tomcat Web Application Container Wants=network.target After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true' Environment='JAVA_OPTS=-Djava.awt.headless=true' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
SELinux
tomcatの起動をブロックする場合は、SELinuxを無効にすることを検討してください。
setenforce 0 sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config
ApacheTomcatを起動する
systemdデーモンをリロードします。
systemctl daemon-reload
Tomcatサービスを開始するには;実行:
systemctl start tomcat
Tomcatのステータスを確認し、実行します:
systemctl status tomcat
システムの起動時にTomcatサービスが自動起動するようにします。
systemctl enable tomcat
デフォルトでは、Tomcatはポート8080で実行されます。netstatコマンドを使用して、サービスがポート8080でリッスンしているかどうかを確認します。
netstat -antup | grep 8080
出力:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2904/java
ファイアウォール
外部ネットワークからApacheTomcatにアクセスできるように、ファイアウォールでポート8080を許可します。
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Apache TomcatWebUIを構成する
Apache Tomcatは、WebManagerを介して管理できます。
Web Managerを使用すると、次のことができます
- 新しいアプリケーションを導入する
- 指定されたコンテキストで新しいアプリケーションをデプロイする
- アクティブまたは非アクティブなアプリケーションを一覧表示する
- Webアプリケーションを開始および停止します
また、Tomcatには仮想ホストを管理するためのホストマネージャーがあります。
ユーザー管理
WebとHostManagerはどちらもパスワードで保護されており、アクセスするにはユーザー名とパスワードが必要です。
「manager-gui」を持つユーザーのみ 」および「admin-gui 」ロールは、それぞれWebマネージャーとホストマネージャーにアクセスできます。
これらのユーザーとロールは、 tomcat-users.xmlで定義されています。 。
vi /opt/tomcat/conf/tomcat-users.xml
次の2行を最後の行のすぐ上に配置します。
<role rolename="admin-gui,manager-gui"/> <user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>
アクセスを許可する
セキュリティ上の理由から、WebとHost Managerはどちらも、ローカルホストから、つまりサーバー自体からのみアクセスできます。
リモートシステムからWebおよびホストマネージャーへのアクセスを有効にするには、ネットワークを許可リストに追加する必要があります。
これを行うには、手順に従います。
Webマネージャー
vi /opt/tomcat/webapps/manager/META-INF/context.xml
以下の行を、WebおよびホストマネージャーにアクセスしているソースIPで更新します。
全員に許可
。* 誰もがWebマネージャーにアクセスできるようになります。
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
組織ネットワークを許可する
組織ネットワークのみを許可することもできます。 例:192.168.1.0 / 24ネットワークのみを許可するには、以下の値を使用できます。
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
ホストマネージャー
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
以下の行を、ホストマネージャーにアクセスしているソースIPで更新します。
全員に許可
。* 誰もがホストマネージャーにアクセスできるようになります。
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
組織ネットワークを許可する
組織ネットワークのみを許可することもできます。 例:192.168.1.0 / 24ネットワークのみを許可するには、以下の値を使用できます。
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Tomcatサービスを再起動します。
systemctl restart tomcat
Tomcatにアクセス
Webブラウザーを開き、次のポイントを指定します。
http://ip.add.re.ss:8080これで、Tomcatのデフォルトページが表示されます。
マネージャーアプリ(manager-gui):–ログインが必要です。ユーザー名:admin、パスワード:tomcat。
ここでは、アプリケーションのデプロイ、指定されたコンテキストでのアプリケーションのデプロイ、アプリケーションの開始、停止、リロード、およびアンデプロイを行うことができます。
また、 Tomcatを見ることができます サーバーステータス 。
ホストマネージャー(admin-gui):–ログインが必要です。ユーザー名:admin、パスワード:tomcat。
ここでは、Tomcatの仮想ホストを管理できます。
結論
それで全部です。これで、Tomcat10/9をCentOS8 /RHEL8にインストールする方法を学んだことを願っています。これで最初のWebアプリケーションの準備が整いました。セキュリティの推奨事項として、TomcatにSSL/TLSを実装することを検討してください