Apache Tomcatは、Javaアプリケーションにサービスを提供するために使用されるWebサーバーおよびサーブレットコンテナーです。 Tomcatは、Apache SoftwareFoundationによってリリースされたJavaServletおよびJavaServerPagesテクノロジーのオープンソース実装です。このチュートリアルでは、Ubuntu16.04サーバー上のTomcat8の最新バージョンの基本的なインストールといくつかの構成を紹介します。
このチュートリアルを開始する前に、サーバーにsudo権限が設定されたroot以外のユーザーが必要です。
サーバーをお持ちでない学生は、[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には、無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
Tomcatでは、Java Webアプリケーションコードを実行できるように、サーバーにJavaをインストールする必要があります。この要件を満たすために、apt-getを介してOpenJDKをインストールできます。
まず、apt-getパッケージインデックスを更新します。
sudo apt-get update
次に、apt-getを使用してJava DevelopmentKitパッケージをインストールします。
sudo apt-get install default-jdk
Javaがインストールされたので、Tomcatサービスを実行するための tomcat
ユーザーを作成できます。
セキュリティ上の理由から、Tomcatは非特権ユーザー(つまり、rootユーザーではない)として実行する必要があります。 Tomcatサービスを実行する新しいユーザーとグループを作成します。
まず、新しい tomcat
グループを作成します。
sudo groupadd tomcat
次に、新しい tomcat
ユーザーを作成します。このユーザーを tomcat
グループのメンバーにし、そのホームディレクトリは / opt / tomcat
(ここでTomcatをインストールします)、シェルは / bin / false
(誰もアカウントにログインできないようにする)です。 :
sudo useradd -s /bin/false-g tomcat -d /opt/tomcat tomcat
tomcat
ユーザーが設定されたので、Tomcatをダウンロードしてインストールしましょう。
Tomcat 8をインストールする最良の方法は、最新のバイナリバージョンをダウンロードして、手動で構成することです。
[Tomcat 8ダウンロードページ](http://tomcat.apache.org/download-80.cgi)でTomcat8の最新バージョンを見つけてください。 ** Binary Distributions セクションの下および Core **リストの下で、リンクを「tar.gz」にコピーします。
次に、サーバー上のディレクトリ / tmp
に切り替えます。これは、Tomcat tarballなどの短期間のプロジェクトをダウンロードするのに適したディレクトリです。Tomcatコンテンツを抽出した後は、これは必要ありません。
cd /tmp
curl
を使用して、TomcatWebサイトからコピーしたリンクをダウンロードします。
curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
Tomcatを / opt / tomcat
ディレクトリにインストールします。ディレクトリを作成し、次のコマンドを使用してアーカイブをそのディレクトリに抽出します。
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
次に、インストールに適切なユーザー権限を設定できます。
設定したユーザー tomcat
は、Tomcatインストールにアクセスできる必要があります。私たちは今それを成し遂げます。
Tomcatのインストールを解凍したディレクトリに切り替えます。
cd /opt/tomcat
インストールディレクトリ全体で tomcat
グループの権限を付与します。
sudo chgrp -R tomcat /opt/tomcat
次に、 tomcat
グループに conf
ディレクトリとそのすべてのコンテンツへの読み取りアクセス権を与え、ディレクトリ自体へのアクセスを実行します。
sudo chmod -R g+r conf
sudo chmod g+x conf
tomcat
ユーザーを webapps
、 work
、 temp
、および logs
ディレクトリの所有者として設定します。
sudo chown -R tomcat webapps/ work/ temp/ logs/
適切な権限が設定されたので、Tomcatプロセスを管理するためのsystemdサービスファイルを作成できます。
Tomcatをサービスとして実行できるようにしたいので、systemdサービスファイルを設定します。
Tomcatは、Javaがインストールされている場所を知る必要があります。このパスは通常「JAVA_HOME」と呼ばれます。場所を見つける最も簡単な方法は、次のコマンドを実行することです。
sudo update-java-alternatives -l
java-1.8.0-openjdk-amd64 1081/usr/lib/jvm/java-1.8.0-openjdk-amd64
正しい変数 JAVA_HOME
は、最後の列の出力を取得し、最後に / jre
を追加することで作成できます。上記の例では、このサーバーの正しい JAVA_HOME
は次のようになります。
JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
JAVA_HOME
は異なる場合があります。
この情報を使用して、systemdサービスファイルを作成できます。次のように入力して、 / etc / systemd / system
ディレクトリにある tomcat.service
という名前のファイルを開きます。
sudo nano /etc/systemd/system/tomcat.service
次のコンテンツをサービスファイルに貼り付けます。必要に応じて、システムで見つけた値と一致するように値 JAVA_HOME
を変更します。 CATALINA_OPTS
で指定されたメモリ割り当て設定を変更することもできます。
[ Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[ Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[ Install]
WantedBy=multi-user.target
終了したら、ファイルを保存して閉じます。
次に、systemdデーモンをリロードして、サービスファイルを認識できるようにします。
sudo systemctl daemon-reload
次のコマンドを入力して、Tomcatサービスを開始します。
sudo systemctl start tomcat
次のように入力して、正常に起動するかどうかを再確認します。
sudo systemctl status tomcat
これでTomcatサービスが開始されたので、デフォルトのページが使用可能であることを確認するためにテストできます。
これを行う前に、リクエストがサービスに到達できるようにファイアウォールを調整する必要があります。 * prepare *に従って準備した場合、ファイアウォール ufw
が有効になります。
Tomcatはポート 8080
を使用して従来のリクエストを受け入れます。このポートへのトラフィックを許可するには、次のように入力します。
sudo ufw allow 8080
ファイアウォールを変更した後、ドメインまたはIPアドレスに続けて :8080
にアクセスすることで、Webブラウザーのデフォルトの起動ページにアクセスできます。
Open in web browser
http://server_domain_or_IP:8080
他の情報に加えて、デフォルトのTomcatスタートアップページも表示されます。ただし、マネージャーアプリのリンクをクリックすると、アクセスが拒否されます。次にアクセスを設定できます。
Tomcatに正常にアクセスできる場合は、サービスファイルを有効にして、起動時にTomcatが自動的に起動するようにする良い機会です。
sudo systemctl enable tomcat
Tomcatに付属のマネージャーWebアプリケーションを使用するには、Tomcatサーバーにログインを追加する必要があります。これを行うには、 tomcat-users.xml
ファイルを編集します。
sudo nano /opt/tomcat/conf/tomcat-users.xml
manager-gui
と admin-gui
(Tomcatに付属のWebアプリケーション)にアクセスできるユーザーを追加する必要があります。これは、 tomcat-users
タグの間にユーザー(以下の例と同様)を定義することで実現できます。ユーザー名とパスワードを安全なものに変更してください。
< tomcat-users ...><user username="admin" password="password" roles="manager-gui,admin-gui"/></tomcat-users>
完了したら、ファイルを保存して閉じます。
デフォルトでは、Tomcatの新しいバージョンは、ManagerおよびHostManagerアプリケーションへのアクセスをサーバー自体からの接続に制限します。リモートコンピューターにインストールしているため、この制限を削除または変更することをお勧めします。これらのIPアドレス制限を変更するには、対応する context.xml
ファイルを開きます。
Managerアプリケーションの場合、次のように入力します。
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
Host Managerアプリケーションの場合、次のように入力します。
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
内部的には、IPアドレスの制限をコメントアウトして、どこからでも接続できるようにします。または、自分のIPアドレスからの接続へのアクセスのみを許可する場合は、パブリック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"/>--></Context>
完了したら、ファイルを保存して閉じます。
変更を有効にするには、Tomcatサービスを再起動してください。
sudo systemctl restart tomcat
ユーザーを作成したので、WebブラウザーでWeb管理インターフェースに再度アクセスできます。ここでも、ブラウザのポート8080の背後にあるサーバードメイン名またはIPアドレスを入力することで、正しいインターフェイスにアクセスできます。
Open in web browserhttp://server_domain_or_IP:8080
表示されるページは、前のテストで指定したページと同じである必要があります。
リンクまたは http:// server_domain_or_IP:8080 / manager / html
からアクセスできるManagerアプリを見てみましょう。 tomcat-users.xml
ファイルに追加されたアカウント資格情報を入力する必要があります。その後、次のようなページが表示されます。
Web Application Managerは、Javaアプリケーションを管理するために使用されます。ここで、開始、停止、リロード、デプロイ、およびアンデプロイできます。アプリケーションでいくつかの診断を実行することもできます(つまり、メモリリークを探します)。最後に、このページの下部には、サーバーに関する情報が表示されます。
次に、リンクまたは http:// server_domain_or_IP:8080 / host-manager / html /
からアクセスできるホストマネージャーを見てみましょう。
[仮想ホストマネージャー]ページで、仮想ホストを追加して、アプリケーションにサービスを提供できます。
Tomcatのインストールが完了しました。これで、独自のJavaWebアプリケーションを自由にデプロイできます。
現在、Tomcatのインストールは正常に機能していますが、暗号化されていません。これは、すべてのデータ(パスワードなどの機密項目を含む)がプレーンテキストで送信され、インターネット上の他の関係者によって傍受されて読み取られる可能性があることを意味します。これを防ぐために、SSLを使用して接続を暗号化することを強くお勧めします。
Apache Tomcat 8のインストールの詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04にApache Tomcat8をインストールする方法」
Recommended Posts