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

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

Apache Tomcatは、Javaサーブレット、JavaServer Pages、Java式言語、およびJavaWebSocketテクノロジーをサポートするオープンソースのアプリケーションサーバーです。これは、今日世界で最も広く使用されているアプリケーションおよびWebサーバーの1つです。

このチュートリアルでは、Debian9にApacheTomcat 8.5をインストールし、TomcatWeb管理インターフェースを構成する方法を説明します。

前提条件#

このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。

wgetutilityを使用してTomcatzipファイルをダウンロードし、ダウンロードしたアーカイブをunzipで抽出します。

これらのユーティリティがシステムにインストールされていない場合は、次のように入力してインストールできます。

sudo apt install unzip wget

OpenJDKのインストール#

Tomcat 8.5には、JavaSE7以降が必要です。 Debian 9リポジトリからデフォルトのOpenJDKパッケージをインストールするには、次のコマンドを実行します。

sudo apt install default-jdk
Tomcatユーザーを作成する#

Tomcatをrootユーザーとして実行することはセキュリティ上のリスクであり、お勧めできません。

/opt/tomcatのホームディレクトリを持つTomcatインスタンスの新しいシステムユーザーとグループを作成するには 次のコマンドを実行します:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tomcat#をダウンロード

TomcatダウンロードページからTomcat8.5.xの最新バージョンをダウンロードします。執筆時点では、最新バージョンは8.5.37です。 zipファイルをダウンロードする前に、ダウンロードページで新しいバージョンを確認する必要があります。

/tmpに変更します ディレクトリを作成し、wgetを使用してzipファイルをダウンロードします :

cd /tmpwget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip

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

unzip apache-tomcat-*.zipsudo mkdir -p /opt/tomcatsudo mv apache-tomcat-8.5.37 /opt/tomcat/

Tomcatのバージョンと更新をより詳細に制御するために、latestという名前のシンボリックリンクを作成します。 これはTomcatインストールディレクトリを指します:

sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest

後でTomcatバージョンをアップグレードするときに、新しいバージョンを解凍し、シンボリックリンクを変更して最新バージョンを指すようにするだけです。

/opt/tomcatの所有権を変更します ユーザーおよびグループへのディレクトリtomcat そのため、ユーザーはTomcatインストールにアクセスできます:

sudo chown -R tomcat: /opt/tomcat

また、bin内にスクリプトを作成します 次のchmodを発行して実行可能なディレクトリ コマンド:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

systemdユニットファイルを作成します#

新しいtomcat.serviceを作成します /etc/systemd/system/内のユニットファイル 次の内容のディレクトリ:

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 8.5 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
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-06-06 10:51:36 UTC; 3s ago
  Process: 21187 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 21195 (java)
    Tasks: 44 (limit: 4915)
   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/tcp
実稼働環境でTomcatアプリケーションを実行する場合、ロードバランサーまたはリバースプロキシを使用する可能性が高く、ポート8080へのアクセスを内部ネットワークのみに制限することをお勧めします。 Tomcat Web管理インターフェイスの構成#

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)にアクセスできる新しいユーザーを定義します。 以下に示すようにファイル。ユーザー名とパスワードをより安全なものに変更してください:

/opt/tomcat/latest/conf/tomcat-users.xml
<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>
/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が32.32.32.32であるとします。 その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|32.32.32.32" />
</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|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仮想ホストを作成、削除、および管理できます。


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

  2. Debian9およびDebian8にPostgreSQL11/10をインストールする方法

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

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

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

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

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

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

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