Tomcatとは何ですか?
この記事では、CentOS8にApacheTomcatをインストールする方法を示します。始める前に、ApacheTomcatとは何かを正確に定義しましょう。 Apacheは、Tomcatを次のように定義しています。「オープンソースのサーブレットコンテナ、JavaServer Pages、Java Expression Language、およびWebサーバーとしても機能するWebSocketテクノロジ。Javaが可能な「純粋なJava」ベースのHTTPサーバー環境を提供します。実行される 。」 TomcatはJavaプログラミング言語で動作し、Javaで記述されたWebアプリケーションに関連付けられています。
前提条件
最初のタスクは、システムが更新されていることを確認することです。CentOS8にTomcatをインストールするため、次のコマンドを実行します。
cat /etc/redhat-release

yum -y install epel-release
yum -y update -y
次に、Javaがすでにインストールされているかどうかを確認する必要があります。
java -version
ただし、Javaがインストールされていない場合は、以下のスクリーンショットに出力が表示されます。
Javaのインストール
今後、Javaをインストールしましょう。Javaがシステムに存在しない場合、Apache Tomcatは正しく機能しません。さらに、Java OpenJDK 11をインストールしていることを確認する必要があります。これはオープンソースであり、長期リリースであるため、ライセンスの問題は発生しません。このタスクを実行するには、次のコマンドを使用します。
dnf install java-11-openjdk-devel -y

次に、このコマンドを実行して、インストールされているJavaのバージョンを確認します。
java -version

Tomcatのインストール
注: この記事の執筆時点では、Tomcatの最新バージョンは10.0.6です。最新バージョンをダウンロードする場合は、Tomcat 10のこのダウンロードリンクにアクセスして、最新バージョンを確認してください。
したがって、最初にTomcatのユーザーを作成する必要があります。
useradd -r tomcat
次に、フォルダを作成し、「 cd」を使用します 」コマンドを使用して、Tomcatをダウンロードするフォルダにディレクトリを変更します。
mkdir /usr/local/tomcat10
cd /usr/local/tomcat10
それでは、curlを使用してTomcatアーカイブをダウンロードしましょう(お使いのバージョンのCentOS 8にインストールされている場合はwgetもオプションです)
curl -o tomcat10.tar.gz https://downloads.apache.org/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz

注: -oフラグを指定してcurlコマンドを使用すると、tar.gzファイルをダウンロードして、選択したファイル名にローカルに保存できます。この場合、ファイルをtomcat10.tar.gzとして保存しただけです。
次に、「 tomcat10 tar.gz」を解凍します。 」ファイルを作業フォルダに入れます。
tar -xvf tomcat10.tar.gz

したがって、/ usr / local /tomcat10/ディレクトリの所有権を変更する必要があります。
chown -R tomcat:tomcat /usr/local/tomcat10
次に、次のコマンドを使用して、apache-tomcat10.0.6のファイルをtomcat10ディレクトリにコピーします。
cd apache-tomcat-10.0.6/
cp -r * /usr/local/tomcat10

デフォルトでは、ファイルは次のフォルダにあります: / usr / local / tomcat 10および構成ファイルは次の場所に保存されます:/ usr / local / tomcat10 / conf
ll

環境変数の設定
これで、次のコマンドを使用してCATALINA_HOME環境変数を構成できます。
echo "export CATALINA_HOME="/usr/local/tomcat10"" >> ~/.bashrc
source ~/.bashrc
この変数は、システム上のすべてのユーザーにソフトウェアアクセスが許可されるように設定されています。
Systemdサービスの作成と構成
まず、ユニットファイルの一部にデータを入力するために必要になるJava情報を確認しましょう。
alternatives --list | grep java

次に、Tomcatをサービスとして設定するために、単純なsystemdユニットファイルを作成します。
注: ユニットファイルは、systemdデーモンで管理できるシステムリソースを定義するプレーンテキストのレコードです。
touch /etc/systemd/system/tomcat.service
vim /etc/systemd/system/tomcat.service
これで、次の情報を新しいユニットファイルに追加できます。
[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=CATALINA_PID=/usr/local/tomcat10/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat10
Environment=CATALINA_BASE=/usr/local/tomcat10
ExecStart=/usr/local/tomcat10/bin/catalina.sh start
ExecStop=/usr/local/tomcat10/bin/catalina.sh stop
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

このユニットファイルには、上記以外にも複数のディレクティブを含めることができます。その後、ファイルを保存し(:wqを使用)、サービスをリロードして変更を適用する必要があります。
systemctl daemon-reload
これで、systemdJava構成ファイルをテストできます。
Tomcatの起動、有効化、およびステータスの確認
次に、Tomcatサービスを開始してから有効にします。
[root@unixcop tomcat10]# systemctl start tomcat.service
[root@unixcop tomcat10]# systemctl enable tomcat.service
これで、次のコマンドを使用してそのステータスを確認できます。
systemctl status tomcat.service

最後に、「q」キーを押してステータスチェックを終了し、bashプロンプトに戻ります。
バージョンチェック
Tomcatサーバー情報を取得するには、次のコマンドを使用できます。
/usr/local/tomcat10/bin/version.sh

テスト
次に、ブラウザを開いて接続をテストしましょう。
http:// localhost:8080をロードします またはhttp:// serverIP:8080 ブラウザに入力すると、次のような画像が表示されます。

エラー!
万が一、「 err_ssl_protocol_error 」ページにアクセスするときにhttp://ip.ad.dr.ess:8080/にアクセスし、curlを使用してエラーを確認し、確認したら、次の手順を実行します。
#curl -Iv https:// IPADDRESS:8080
たとえば、私のマシンのIPアドレスを追加します:
curl -Iv https://192.168.232.128:8080

1. Java/Tomcatポートがファイアウォールで開いていることを確認します
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --add-port=8443/tcp

2.次に、netstatコマンドを実行して、サーバーがIPv4アドレス(および/または必要に応じてIPv6アドレス)をリッスンしているかどうかを確認します。
したがって、netstatを確認したところ、TomcatはIPv6プロトコルポートにのみバインドされていることがわかりました。
[root@unixcop tomcat10]# netstat -nlp | grep java

注: したがって、CentOS 8のバージョンにはデフォルトでnetstatコマンドが含まれていなかったため、この問題を表示するには、「yuminstallnet-tools」コマンドを使用してNetstatをインストールする必要がある場合があります。
これに対処するには、CATALINA_BASEまたはCATALINA_HOMEbin/ディレクトリのいずれかにsetenv.shファイルというファイルを作成します。
( / usr / local / tomcat10 / binを使用しました フォルダ)。
次に、setenv.shという名前の新しいファイルを作成します。
cd bin/
touch setenv.sh
vim setenv.sh
[挿入]をクリックして、次の行をファイルに追加します。
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true "

このエントリは、Tomcatで使用されるデフォルト設定を上書きします。そのタスクが完了したら、「:wq」を使用してファイルを保存して終了します。 」とサービスをリロードして、変更を保存します。
systemctl daemon-reload
それでは、同じコマンドでポートをもう一度確認しましょう:
[root@unixcop tomcat10]# netstat -nlp | grep java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 59815/java
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 59815/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 59815/java
正しいファイアウォールポートが開いていることを確認します。
[root@unixcop ~]# firewall-cmd --zone=public --list-ports | grep 8080
8080/tcp 8443/tcp
[root@unixcop ~]#
その後、すべてが失敗した場合は、Tomcatページをテストするためにファイアウォールサービスを一時的に停止して無効にすることができます:
systemctl disable firewalld
systemctl stop firewalld
構成設定
以下に、Tomcatの便利な構成設定をいくつか示します。
ユーザーの追加
そのため、新しいユーザーまたは管理者ユーザーを追加する必要がある場合があります。これは、Tomcat confフォルダーに移動し、これらの設定を変更することで実現できます。
[root@unixcop conf]# cd /usr/local/tomcat10/conf
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />
注: viまたはvimを使用するか、ファイルマネージャーを使用して、テキストエディターを使用してファイルを開くことでファイルを開くことができます 。
最後に、:wqを使用してファイルを保存します。
ポートの変更
そのため、Tomcatを代替ポートで実行したい場合があります。これを実現するために、server.xmlファイルのコネクタポート設定を変更できます。
これらは実行する手順です。
[root@unixcop conf]# cd /usr/local/tomcat10/conf/
[root@unixcop conf]# vim /usr/local/tomcat10/conf/server.xml
さらに、server.xmlファイルまたはテキストエディタ内から、「コネクタポート」行を変更して、ポート8080から80またはその他の選択したポート番号に変更できます。
Line
68 <Connector port="8080" protocol="HTTP/1.1"
69 connectionTimeout="20000"
70 redirectPort="8443" />
結論
全体として、Tomcatはクライアントとサーブレット間のデータ交換を容易にし、Webアプリケーション用のプログラミングプラットフォームを提供し、クライアントを識別および承認する機能を引き受け、各クライアントのセッションを安全かつ確実に作成します。
>