 
 Apache Tomcatは、Javaサーブレット、JavaServer Pages、Java式言語、およびJavaWebSocketテクノロジーをサポートするオープンソースのアプリケーションサーバーです。これは、今日世界で最も広く使用されているアプリケーションおよびWebサーバーの1つです。
このチュートリアルでは、Debian9にApacheTomcat 9.0をインストールし、TomcatWeb管理インターフェースを構成する方法を説明します。
前提条件#
このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
 wgetを使用してTomcatzipファイルをダウンロードします。 wgetがない場合 システムにインストールされている場合は、次のように入力します。
sudo apt install wgetOpenJDKのインストール#
Tomcat 9.0には、JavaSE8以降が必要です。 Debian 9リポジトリからデフォルトのOpenJDKパッケージをインストールするには、次のコマンドを実行します。
sudo apt install default-jdkTomcatをrootユーザーとして実行することはセキュリティ上のリスクであり、お勧めできません。
 /opt/tomcatのホームディレクトリを使用して新しいシステムユーザーとグループを作成します 次のコマンドを実行します:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcatこのユーザーは、Tomcatサービスの実行に使用されます。
TomcatダウンロードページからTomcat9.0.xの最新バージョンをダウンロードします。
執筆時点では、Tomcatの最新バージョンは9.0.27です。次の手順に進む前に、Tomcat 9のダウンロードページをチェックして、新しいバージョンが利用可能かどうかを確認する必要があります。
 /tmpに変更します ディレクトリを作成し、wgetを使用してzipファイルをダウンロードします :
cd /tmpwget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
ダウンロードが完了したら、tarファイルを抽出します。
tar -xf apache-tomcat-9.0.27.tar.gz
 Tomcatソースファイルを/opt/tomcatに移動します ディレクトリ:
sudo mv apache-tomcat-9.0.27 /opt/tomcat/
 Tomcat9は頻繁に更新されます。バージョンと更新をより細かく制御するには、latestというシンボリックリンクを作成します 、Tomcatインストールディレクトリを指します:
sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest後でTomcatバージョンをアップグレードするときに、新しいバージョンを解凍し、シンボリックリンクを変更して最新バージョンを指すようにするだけです。
 /opt/tomcatの所有権を変更します ユーザーおよびグループへのディレクトリtomcat そのため、ユーザーはTomcatインストールにアクセスできます:
sudo chown -R tomcat: /opt/tomcat
 また、bin内にスクリプトを作成します ディレクトリ実行可能ファイル:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'systemdユニットファイルを作成します#
 新しいtomcat.serviceを作成します /etc/systemd/system/内のユニットファイル 次の内容のディレクトリ:
[Unit]
Description=Tomcat 9.0 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
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に通知し、次を実行してTomcatサービスを開始します。
sudo systemctl daemon-reloadsudo systemctl start tomcat
次のように入力して、Tomcatサービスのステータスを確認します。
sudo systemctl status tomcat● tomcat.service - Tomcat 9 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-12-01 20:47:50 UTC; 4s ago
  Process: 1759 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 1767 (java)
   CGroup: /system.slice/tomcat.service
エラーがない場合は、起動時にTomcatサービスを自動的に開始できるようにすることができます。
sudo systemctl enable tomcat他のsystemdユニットサービスと同じように、Tomcatを開始、停止、再起動できます。
sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat
 Debianシステムでファイアウォールが実行されていて、ローカルネットワークの外部からTomcatインターフェースにアクセスする場合は、ポート8080を開く必要があります。 :
sudo ufw allow 8080/tcp8080へのアクセスを制限することをお勧めします 内部ネットワークにのみ。 TomcatがDebianサーバーにインストールされたので、次のステップはWeb管理インターフェースにアクセスできるユーザーを作成することです。
 Tomcatユーザーとその役割は、tomcat-users.xmlで定義されています。 ファイル。
ファイルを開くと、ファイルの構成方法を説明するコメントと例がファイルに入力されていることがわかります。
sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
 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>デフォルトでは、TomcatWeb管理インターフェースはローカルホストからのアクセスのみを許可します。リモートIPから、またはセキュリティ上のリスクがあるため推奨されない場所からWebインターフェイスにアクセスする場合は、次のファイルを開いて次の変更を加えることができます。
どこからでも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><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が32.32.32.32であるとします。 その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|32.32.32.32" />
</Context><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|32.32.32.32" />
</Context>
 許可されるIPアドレスのリストは、縦棒|で区切られたリストです。 。単一のIPアドレスを追加することも、正規表現を使用することもできます。
変更を有効にするには、Tomcatサービスを再起動します。
sudo systemctl restart tomcat
 ブラウザを開き、次のように入力します:http://<your_domain_or_IP_address>:8080 
インストールが成功すると、次のような画面が表示されます。
 
 
 Tomcat Webアプリケーションマネージャーダッシュボードは、http://<your_domain_or_IP_address>:8080/manager/htmlで入手できます。 。ここから、アプリケーションのデプロイ、アンデプロイ、開始、停止、およびリロードを行うことができます。
 
 
 Tomcat仮想ホストマネージャーダッシュボードは、http://<your_domain_or_IP_address>:8080/host-manager/htmlで入手できます。 。ここから、Tomcat仮想ホストを作成、削除、および管理できます。
