Apache Tomcatは、Java Servlet、JavaServer Pages、Java Expression Language、およびJavaWebSocketテクノロジーのオープンソース実装です。これは、世界中で広く使用されているアプリケーションおよびWebサーバーです。 Tomcatは非常にシンプルで使いやすく、強力なエコシステムを備えています。
このガイドでは、CentOS8にTomcat9.0をインストールする方法について説明します。
Tomcat9にはJavaSE8以降が必要です。 Javaプラットフォームのオープンソース実装であるOpenJDK11をインストールします。
rootまたはsudo権限を持つ別のユーザーとして次のコマンドを実行して、Javaをインストールします。
sudo dnf install java-11-openjdk-devel
インストールが完了したら、Javaのバージョンを確認して確認します。
java -version
出力は次のようになります。
openjdk version "11.0.5"2019-10-15 LTS
OpenJDK Runtime Environment 18.9(build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9(build 11.0.5+10-LTS, mixed mode, sharing)
ルートユーザーとしてTomcatを実行すると、セキュリティ上のリスクがあります。システムユーザーとグループを作成し、ホームディレクトリ / opt / tomcat
を作成します(ここでTomcatサービスを実行します)。これを行うには、次のコマンドを入力します。
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tomcatバイナリインストールパッケージは、[Tomcatダウンロードページ](https://tomcat.apache.org/download-90.cgi)からダウンロードできます。
執筆時点では、Tomcatの最新バージョンは 9.0.30
です。次の手順に進む前に、Tomcat 9のダウンロードページに移動して、新しいバージョンが利用可能かどうかを確認してください。
wget
コマンドを使用して、Tomcatzipファイルを / tmp
フォルダーにダウンロードします。
VERSION=9.0.30
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
ダウンロードが完了したら、tarファイルを / opt / tomcat
フォルダーに解凍します。
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
Tomcatは、通常のプロセスに従って更新をリリースします。 Tomcatのバージョンとアップグレードをより適切に制御するために、Tomcatのインストールディレクトリを指す latest
という名前のソフトリンクを作成します。
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION}/opt/tomcat/latest
システムユーザーは以前に作成されており、このユーザーはTomcatインストールディレクトリにアクセスできる必要があります。ディレクトリアトリビューションを変更して、ユーザーとユーザーグループをtomcatにします。
sudo chown -R tomcat:/opt/tomcat
bin
の下のすべてのディレクトリを実行可能にします。
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
これらのスクリプトは、Tomcatを開始および停止するために使用されます。
Tomcatを手動で開始および停止する代わりに使用され、サービスとして設定します。テキストエディタを開き、 / etc / systemd / system /
ディレクトリに tomcat.service
ユニットファイルを作成します。
sudo nano /etc/systemd/system/tomcat.service
次のコンテンツを貼り付けます。
[ Unit]
Description=Tomcat 9 servlet container
After=network.target
[ Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[ Install]
WantedBy=multi-user.target
ファイルを保存して閉じます。
新しいサービスが作成されたことをsystemdに通知するには、次のように入力します。
sudo systemctl daemon-reload
Tomcatサービスを有効にして開始します。
sudo systemctl enable --now tomcat
サービスステータスの確認:
sudo systemctl status tomcat
出力には、Tomcatサービスが有効で実行されていることが示されます。
tomcat.service - Tomcat 9 servlet container
Loaded:loaded(/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active:active(running) since Wed 2020-01-1520:38:07 UTC; 30s ago
Process:3957 ExecStart=/opt/tomcat/latest/bin/startup.sh(code=exited, status=0/SUCCESS)...
サーバーがファイアウォールの背後にあり、外部ネットワークからtomcatにアクセスする場合は、ポート 8080
を開く必要があります。次のコマンドを使用して、必要なポートを開きます。
sudo firewall-cmd --permanent --zone=public--add-port=8080/tcp
sudo firewall-cmd --reload
この時点で、ブラウザのポート 8080
でTomcatにアクセスできるはずです。まだユーザーを作成していないため、現在Web管理インターフェイスにアクセスできません。
Tomcatのユーザーと役割は、 tomcat-users.xml
ファイルで定義されています。
ファイルを開くと、このファイルの構成方法に関するコメントと例がファイルに含まれていることがわかります。
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
Tomcatユーザーは、 tomcat-users.xml
ファイルで定義されています。 tomcat Webインターフェイス(manager-guiおよびadmin-gui)にアクセスするための新しいユーザーを作成する場合は、以下のプロンプトに従って質問を編集してください。安全を確保するために、必ずユーザー名とパスワードを変更してください。
< tomcat-users><!--
Comments
- - >< role rolename="admin-gui"/><role rolename="manager-gui"/><user username="admin" password="admin_password" roles="admin-gui,manager-gui"/></tomcat-users>
デフォルトでは、Tomcat Web管理インターフェイスは、ローカルlocalhostからのアクセスのみを許可するように構成されています。
どこからでもWebインターフェイスにアクセスする必要がある場合は、次のファイルを開いてコメントするか、次の行を削除できます: / opt / tomcat / latest / webapps / manager / META-INF / 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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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>
セキュリティ上のリスクが生じる可能性があるため、どこからでもアクセスを許可することはお勧めしません。
指定したIPからWebインターフェイスにアクセスする場合は、コードブロックをコメントアウトする代わりに、パブリックネットワークIPをリストに追加できます。
パブリックネットワークIPが 41.41.41.41
の場合、次のIPからのアクセスを許可します: / opt / tomcat / latest / webapps / manager / META-INF / 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|41.41.41.41"/></Context>
/opt/tomcat/latest/webapps/host-manager/META-INF/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|41.41.41.41"/></Context>
許可されるIPアドレスは、縦棒 |
で区切られます。別のIPアドレスを追加するか、通常の式を使用できます。
完了したら、Tomcatサービスを再起動して、変更を有効にします。
sudo systemctl restart tomcat
Webブラウザーを開き、次のように入力します。 http://<your_domain_or_IP_address> :8080
インストールが正常に完了すると、次のような画面が表示されます。
Tomcat Web管理のバックグラウンドを使用すると、アプリケーションを展開、展開解除、開始、停止、および再ロードできます。次のアドレスからアクセスします。
http://<your_domain_or_IP_address>:8080/manager/html
Tomcat仮想ホスト管理のバックグラウンドを使用すると、Tomcat仮想ホストを作成、削除、および管理できます。次のアドレスからアクセスします。
http://<your_domain_or_IP_address>:8080/host-manager/html
CentOS8にTomcat9.0をインストールする方法と、Tomcat管理インターフェイスにアクセスする方法を示します。
Apache Tomcatの詳細については、[公式ドキュメントページ](https://tomcat.apache.org/tomcat-9.0-doc/index.html)にアクセスしてください。
Recommended Posts