序章

Apache Tomcatは、Javaアプリケーションを提供するために使用されるWebサーバーおよびサーブレットコンテナです。 Tomcatは、ApacheSoftwareFoundationによってリリースされたJavaサーブレットおよびJavaServerPagesテクノロジのオープンソース実装です。 このチュートリアルでは、Ubuntu14.04サーバーでのTomcat8の最新リリースの基本的なインストールといくつかの構成について説明します。

前提条件

このガイドを開始する前に、サーバーにroot以外のユーザーアカウントを設定しておく必要があります。 Ubuntu 14.04のサーバーの初期設定の手順1〜3を完了すると、これを行う方法を学ぶことができます。 このチュートリアルの残りの部分では、ここで作成したdemoユーザーを使用します。

Javaをインストールする

Tomcatでは、Javaがサーバーにインストールされている必要があるため、任意のJavaWebアプリケーションコードを実行できます。 apt-getを使用してOpenJDK7をインストールすることにより、その要件を満たしましょう。

まず、apt-getパッケージインデックスを更新します。

  1. sudo apt-get update

次に、apt-getを使用してJavaDevelopmentKitパッケージをインストールします。

  1. sudo apt-get install default-jdk

プロンプトでyと答えて、OpenJDK7のインストールを続行します。

Javaがインストールされたので、Tomcatサービスの実行に使用されるtomcatユーザーを作成しましょう。

Tomcatユーザーを作成する

セキュリティ上の理由から、Tomcatは非特権ユーザーとして実行する必要があります(つまり、 ルートではありません)。 Tomcatサービスを実行する新しいユーザーとグループを作成します。

まず、新しいtomcatグループを作成します。

  1. sudo groupadd tomcat

次に、新しいtomcatユーザーを作成します。 このユーザーをtomcatグループのメンバーにし、ホームディレクトリを/opt/tomcat(Tomcatをインストールします)、シェルを/bin/falseにします(つまり、誰もアカウントにログインできません):

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

tomcatユーザーが設定されたので、Tomcatをダウンロードしてインストールしましょう。

Tomcatをインストールします

現時点でTomcat8をインストールする最も簡単な方法は、最新のバイナリリリースをダウンロードしてから手動で構成することです。

Tomcatバイナリをダウンロードする

Tomcat8ダウンロードページでTomcat8の最新バージョンを見つけてください。 執筆時点では、最新バージョンは8.0.23です。 Binary Distributions セクションの下で、次に Core リストの下で、リンクを「tar.gz」にコピーします。

最新のバイナリディストリビューションをホームディレクトリにダウンロードしましょう。

まず、ホームディレクトリに移動します。

  1. cd ~

次に、wgetを使用し、リンクを貼り付けて、次のようにTomcat 8アーカイブをダウンロードします(ミラーリンクはおそらく例とは異なります)。

  1. wget http://mirror.sdunix.com/apache/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz

Tomcatを/opt/tomcatディレクトリにインストールします。 ディレクトリを作成し、次のコマンドを使用してアーカイブをそのディレクトリに抽出します。

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

これで、適切なユーザー権限を設定する準備が整いました。

権限の更新

セットアップしたtomcatユーザーは、Tomcatインストールに適切にアクセスできる必要があります。 これを設定します。

Tomcatのインストールパスに変更します。

  1. cd /opt/tomcat

次に、tomcatユーザーにwrite アクセスをconfディレクトリに、readにそのディレクトリ内のファイルへのアクセスを許可します。

  1. sudo chgrp -R tomcat conf
  2. sudo chmod g+rwx conf
  3. sudo chmod g+r conf/*

次に、tomcatユーザーをworktemp、およびlogsディレクトリの所有者にします。

  1. sudo chown -R tomcat work/ temp/ logs/

適切な権限が設定されたので、Upstartinitスクリプトを設定しましょう。

Upstartスクリプトをインストールする

Tomcatをサービスとして実行できるようにしたいので、Upstartスクリプトを設定します。

Tomcatは、Javaがインストールされている場所を知る必要があります。 このパスは、一般に「JAVA_HOME」と呼ばれます。 その場所を検索する最も簡単な方法は、次のコマンドを実行することです。

  1. sudo update-alternatives --config java
Output:
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java Nothing to configure.

JAVA_HOMEは、末尾の/bin/javaなしで出力に含まれます。 上記の例では、JAVA_HOMEは赤で強調表示されています。

これで、Upstartスクリプトを作成する準備が整いました。 次のコマンドを実行して、作成して開きます。

  1. sudo nano /etc/init/tomcat.conf

次のスクリプトを貼り付け、必要に応じてJAVA_HOMEの値を変更します。 CATALINA_OPTSで指定されているメモリ割り当て設定を変更することもできます。

/etc/init/tomcat.conf
description "Tomcat Server"

  start on runlevel [2345]
  stop on runlevel [!2345]
  respawn
  respawn limit 10 5

  setuid tomcat
  setgid tomcat

  env JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
  env CATALINA_HOME=/opt/tomcat

  # Modify these options as needed
  env JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
  env CATALINA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

  exec $CATALINA_HOME/bin/catalina.sh run

  # cleanup temp directory after stop
  post-stop script
    rm -rf $CATALINA_HOME/temp/*
  end script

保存して終了。 このスクリプトは、指定された設定でtomcatユーザーとしてTomcatサービスを実行するようにサーバーに指示します。 また、サーバーの起動時にTomcatを実行できるようにします。

次に、Upstart構成をリロードして、新しいTomcatスクリプトを使用できるようにします。

  1. sudo initctl reload-configuration

Tomcatを実行する準備ができました。 次のコマンドで開始します。

  1. sudo initctl start tomcat

Tomcatはまだ完全にはセットアップされていませんが、WebブラウザでドメインまたはIPアドレスに続いて:8080に移動すると、デフォルトのスプラッシュページにアクセスできます。

Open in web browser:
http://server_IP_address:8080

他の情報に加えて、デフォルトのTomcatスプラッシュページが表示されます。 次に、Tomcatのインストールについて詳しく説明します。

TomcatWeb管理インターフェースを構成する

Tomcatに付属のマネージャーWebアプリを使用するには、Tomcatサーバーにログインを追加する必要があります。 これを行うには、tomcat-users.xmlファイルを編集します。

  1. sudo nano /opt/tomcat/conf/tomcat-users.xml

このファイルには、ファイルの構成方法を説明するコメントが含まれています。 次の2行の間のすべてのコメントを削除するか、例を参照する場合はコメントを残すことができます。

tomcat-users.xmlの抜粋
<tomcat-users>
...
</tomcat-users>

manager-guiおよびadmin-gui(Tomcatに付属のWebアプリケーション)にアクセスできるユーザーを追加する必要があります。 これを行うには、以下の例のようにユーザーを定義します。 ユーザー名とパスワードを安全なものに変更してください。

tomcat-users.xml —管理者ユーザー
<tomcat-users>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

tomcat-users.xmlファイルを保存して終了します。 変更を有効にするには、Tomcatサービスを再起動します。

  1. sudo initctl restart tomcat

Webインターフェイスにアクセスする

Tomcatが稼働しているので、WebブラウザでWeb管理インターフェイスにアクセスしてみましょう。 これを行うには、ポート8080でサーバーのパブリックIPアドレスにアクセスします。

Open in web browser:
http://server_IP_address:8080

次の画像のようなものが表示されます。

Tomcat root

ご覧のとおり、管理者ユーザーを構成した管理者Webアプリへのリンクがあります。

リンクまたはhttp://server_IP_address:8080/manager/htmlからアクセスできるManagerアプリを見てみましょう。

Tomcat Web Application Manager

Webアプリケーションマネージャは、Javaアプリケーションを管理するために使用されます。 ここで、開始、停止、再ロード、デプロイ、およびアンデプロイできます。 アプリでいくつかの診断を実行することもできます(つまり、 メモリリークを見つけます)。 最後に、サーバーに関する情報は、このページの一番下にあります。

次に、リンクまたはhttp://server_IP_address:8080/host-manager/html/からアクセスできるホストマネージャーを見てみましょう。

Tomcat Virtual Host Manager

[仮想ホストマネージャー]ページから、アプリケーションを提供する仮想ホストを追加できます。

結論

Tomcatのインストールが完了しました。 これで、独自のJavaWebアプリケーションを自由にデプロイできます。