Apache Tomcatの紹介

1概要

簡単に言うと、Apache TomcatはWebサーバーであり、リンク:/intro-to-servlets[サーブレットコンテナ]はJava Webアプリケーションの配備と提供に使われます。

この簡単な記事では、Tomcatのインストール方法、Tomcat Manager用のユーザーの設定方法、およびTomcatがHTTPSコンテンツを処理できるようにするためのSSL証明書の作成方法について説明します。

** 2 WindowsにTomcatをインストールする

**

** 2.1. ダウンロードして準備する

**

まず、https://tomcat.apache.org/download-80.cgi[Tomcatのダウンロード]を実行します。

サーバーをWindows用のzipファイルとしてダウンロードします。

リンク:/uploads/1-Download-Tomcat.png%20701w[]

次に、Tomcatをそのディレクトリに解凍します。

** 2.3. インストール

**

Windowsでは、迅速な追加インストールが必要です。 Windowsターミナルを開き、Tomcatのインストール bin ディレクトリから開きます。

C:\Java\Apache Tomcat 8.5.9\bin>

次のコマンドでサービスをインストールします。

C:\Java\Apache Tomcat 8.5.9\bin>service install

出力は次のようになります。

Installing the service 'Tomcat8' ...
Using CATALINA__HOME:    "C:\Java\Apache Tomcat 8.5.9"
Using CATALINA__BASE:    "C:\Java\Apache Tomcat 8.5.9"
Using JAVA__HOME:        "C:\Java\jdk1.8.0__40"
Using JRE__HOME:         "C:\Java\jre1.8.0__40"
Using JVM:              "C:\Java\jre1.8.0__40\bin\client\jvm.dll"
The service 'Tomcat8' has been installed.

** 2.4. Tomcatサービスを起動します.

**

次のコマンドでサービスを開始します。

C:\Java\Apache Tomcat 8.5.9\bin>sc start Tomcat8

次のような出力が得られるはずです。

SERVICE__NAME: Tomcat8
        TYPE               : 10  WIN32__OWN__PROCESS
        STATUS             : 2  START__PENDING
                                (NOT__STOPPABLE, NOT__PAUSABLE, IGNORES__SHUTDOWN)
        WIN32__OUTPUT__CODE  : 0  (0x0)
        SERVICE__OUTPUT__CODE: 0  (0x0)
        CHECK-POINT        : 0x0
        START-INDICATOR    : 0x7d0
        PID                : 5552
        MARKS              :

URLでブラウザを開きます。

そしてTomcatのWelcome画面が表示されるはずです。

** 3 LinuxへのTomcatのインストール(Debian)

**

私たちはUbuntu Linux 16.06にTomcatをインストールするつもりですが、この手順はあらゆるDebianベースのLinuxディストリビューションでうまくいくはずです。

** 3.1. ダウンロードして解凍する

**

同様に、https://tomcat.apache.org/download-80.cgi[download]にアクセスしてTomcatを解凍します。

sudo mkdir/opt/tomcat
sudo tar xvf apache-tomcat-8.5.9.tar.gz -C/opt/tomcat --strip-components=1

** 3.2. Javaがインストールされていることを確認する

**

システムにJavaがインストールされていて利用可能であることも確認しましょう。

java -version

次のような出力が得られるはずです。

リンク:/uploads/4-Java-Version.png%20512w[]

** 3.3. ユーザーとグループを作成する

**

サーバーは別のグループとユーザーの下で実行します。まずグループを作成しましょう。

sudo groupadd tomcat

そして、rootユーザーを使わないようにTomcatユーザーを作成しましょう。

sudo useradd -s/bin/false -g tomcat -d/opt/tomcat tomcat

新しいユーザーとグループでそれらを使用するために、サーバーの権限も更新しましょう。

cd/opt/tomcat
sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
sudo chmod g+r conf/**
sudo chown -R tomcat work/temp/logs/----

最後に、Tomcatが単純なUpstartスクリプトで自動的に起動するようにします。

[source,bash,gutter:,true]

vi/etc/init/tomcat.conf

__tomcat.conf__スクリプトは、ブート時にTomcatサービスを開始するために運用システムによって使用されます。

このスクリプトは、必要に応じてサービスを開始および停止するために使用されます。

[source,bash,gutter:,true]

description "Tomcat Server" start on runlevel[2345] stop on runlevel[!2345] setuid tomcat setgid tomcat env JAVA HOME=/opt/jdk1.8.0 77/jre/ env CATALINA HOME=/opt/tomcat exec $CATALINA HOME/bin/catalina.sh run

====  **  3.4. 開始

**

opt/tomcat/binディレクトリに移動して、次のコマンドを実行します。

[source,bash,gutter:,true]
/catalina.sh start
次のような出力が表示されるはずです。

[source,bash,gutter:,true]

Using CATALINA BASE: /opt/tomcat Using CATALINA HOME: /opt/tomcat Using CATALINA TMPDIR:/opt/tomcat/temp Using JRE HOME: /usr Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar Tomcat started.[email protected]:/opt/tomcat/bin#

今こそ、私たちのサーバーをテストする時です。

URLでブラウザを開きます。

http://localhost:8080

そして、あなたは次のページを見るべきです:

link:/uploads/5-Tomcat-Welcome-Linux.png%20792w[]

===  4. Tomcat Manager

Tomcatマネージャにアクセスするには、それを実行する権限を持つユーザを作成する必要があります。

**  Windowsの場合**

[source,bash,gutter:,true]

C:\Java\Apache Tomcat 8.5.9\conf\tomcat-users.xml

**  Linuxの場合:**

[source,bash,gutter:,true]

----/opt/tomcat/conf/tomcat-users.xml

このファイルでは、Tomcatマネージャにアクセスするためのユーザを定義します。

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
  version="1.0">
    <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>

<user> タグでは、ロール "manager-gui"と "admin-gui"を持つパスワード "admin"を持つユーザー "admin"を定義しています。

それではサーバーを再起動してURLをもう一度開きます。

今度は「Manager App」ボタンをクリックすると、サーバーは認証情報を要求します。提供された資格情報を入力すると、次の画面が表示されます。

リンク:/uploads/6-Tomcat-Manager.png%20747w[]

5. SSL証明書

次のコマンドを実行して証明書を生成します。

  • Windowsの場合**

keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat
  • Linuxの場合:**

keytool -genkey -alias tomcat -keyalg RSA -keystore/opt/tomcat/keystore/tomcat

ツールは証明書を入力するためにいくつかの質問をします。証明書はフォルダ内にあり、証明書の名前は「tomcat」です。証明書は次の方法で確認できます。 Windowsの場合:

keytool -list -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat
  • Linuxの場合:**

keytool -list -keystore/opt/tomcat/keystore/tomcat

** 5.1. 証明書を使用する

**

ファイルを編集します。

  • Windowsの場合**

C:\Java\Apache Tomcat 8.5.9\conf\server.xml
  • Linuxの場合:**

----/opt/tomcat/conf/server.xml
----

SSLコネクタを追加します。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
  clientAuth="false" sslProtocol="TLS"
  keystoreFile="C:\Java\apache-tomcat-8.0.23\keystore\tomcat"
  keystorePass="changeit"/>

Tomcatを再起動すれば完了です。これでTomcatのHTTPSでアプリケーションを実行できます。

6. 結論

このクイックチュートリアルの最後に、開発中に使用するためのLinuxとWindowsで動作するTomcatが完成しました。

本番環境でTomcatを使用するには、もちろん、それに応じてサーバーを構成し調整する必要があります。