ログイン
ログイン

KAGOYA CLOUD チュートリアル

第3回
CentOS 7 に
Tomcat 9 を入れてみた

Tomcat とは、「 Java Servlet・JSP(JavaServer Pages) 」を実行するための「サーブレットコンテナ( Web アプリケーションサーバー)」です。
Java が使えるレンタルサーバーはあまりありませんが、KAGOYA CLOUD ではサーバーに Tomcat をインストールすることで簡単に Java の実行環境を構築できます。

このマニュアルでは CentOS 7 のサーバー環境に Tomcat 9 をインストールする手順を例に説明します。

  • CentOS7のインスタンスを作成

    まず、KAGOYA CLOUD のコントロールパネルにログインし、CentOS 7 でインスタンスを作成します。

    CentOS7のインスタンスを作成
  • Java をインストール

    Tomcat 9 を動作させるには、サーバーに JRE(Java SE Runtime Environment) 8 以降をインストールする必要があります。
    Java の開発環境も必要な場合は JDK(Java Development Environment) 8 以降をサーバーにインストールします。

    ここでは yumでOpenJDK 8 をインストールします。

    次のコマンドでパッケージを検索します。

    # yum search openjdk
    Loaded plugins: fastestmirror
    base                                                     | 3.6 kB     00:00
    extras                                                   | 3.4 kB     00:00
    updates                                                  | 3.4 kB     00:00
    (1/4): base/7/x86_64/group_gz                              | 156 kB   00:00
    (2/4): extras/7/x86_64/primary_db                          | 101 kB   00:00
    (3/4): updates/7/x86_64/primary_db                         | 2.8 MB   00:01
    (4/4): base/7/x86_64/primary_db                            | 5.7 MB   00:01
    Determining fastest mirrors
      * base: ftp.iij.ad.jp
      * extras: ftp.iij.ad.jp
      * updates: ftp.iij.ad.jp
    ============================= N/S matched: openjdk =============================
    java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
    java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
    java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
    (略)
    java-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug on
    java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on
    java-1.8.0-openjdk-demo.i686 : OpenJDK Demos
    java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
    java-1.8.0-openjdk-demo-debug.i686 : OpenJDK Demos with full debug on
    java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on
    java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment
    java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
    (以下、略)

    OpenJDK 8 をインストールするには、java-1.8.0 で始まるパッケージを選択します。
    ここでは Java の開発環境もインストールするので、java-1.8.0-openjdk-devel をインストールします。

    # yum install java-1.8.0-openjdk-devel.x86_64

    インストールした Java のバージョンを確認します。

    # java -version
    openjdk version "1.8.0_144"
    OpenJDK Runtime Environment (build 1.8.0_144-b01)
    OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
  • Tomcat 9 をインストール

    Tomcat 9 をインストールします
    まず、Tomcat を動かすためのユーザーを追加します(ユーザー名は tomcat とします)。

    # useradd -s /sbin/nologin tomcat

    Apache Tomcat 9 のダウンロードページを開きます。

    ■ 参考URL Apache Tomcat Download > Tomcar 9.0
    http://tomcat.apache.org/download-90.cgi

    Apache Tomcat

    最新バージョンの tar.gz 形式のダウンロード URL を確認します。

    2017年9月21日時点では、9.0.0.M26 が最新バージョンで、tar.gz 形式のダウンロードURL は、
    http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.0.M26/bin/apache-tomcat-9.0.0.M26.tar.gz でした。

    curl コマンドでサーバーにダウンロードします。

    # curl -O http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.0.M26/bin/apache-tomcat-9.0.0.M26.tar.gz

    解凍します。

    # tar -xzvf apache-tomcat-9.0.0.M26.tar.gz

    /usr/local/tomcat に配置します。

    # mv apache-tomcat-9.0.0.M26 /usr/local/tomcat

    Apache Tomcat の所有者を、先ほど作成した tomcat とします。

    # chown -R tomcat:tomcat /usr/local/tomcat

    CentOS 7 から systemd がサービスを管理します。
    Tomcat 9 をサービスとして登録するために systemd unit ファイルを作成します。

    # vi /etc/systemd/system/tomcat.service

    以下の内容を記述し、保存します。

    [Unit]
    Description=Apache Tomcat 9
    After=syslog.target network.target
    
    [Service]
    User=tomcat
    Group=tomcat
    Type=oneshot
    PIDFile=/usr/local/tomcat/tomcat.pid
    RemainAfterExit=yes
    
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh
    
    [Install]
    WantedBy=multi-user.target

    作成した定義ファイルの権限を 755 に変更します。

    # chmod 755 /etc/systemd/system/tomcat.service

    自動起動設定をし、サービスを有効にします。

    # systemctl enable tomcat
    Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.

    Tomcat 9 を起動します。

    # systemctl start tomcat

    ブラウザで以下の URL にアクセスし表示を確認します。
    http://[サーバーのIPアドレス]:8080/

    Apache Tomcat
  • Tomcat Web アプリケーションマネージャ の設定

    Tomcat Web アプリケーションマネージャの設定をします。

    # vi /usr/local/tomcat/conf/tomcat-users.xml

    <tomcat-users>

    </tomcat-users>
    の間に以下の内容を追記し、保存します。

    <role rolename="manager-gui"/>
    <user username="admin" password="password" roles="manager-gui"/>

    Web アプリケーションマネージャに外部からアクセスできるよう制限を解除します。

    Manager app のコンテキスト設定ファイルを編集します。

    # vi /usr/local/tomcat/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" />
      <Manager sessionAttributeValueClassNameFilter="java¥.lang¥.(?:Boolean|Integer|Long|Number|String)|org¥.apache¥.catalina¥.filters
    ¥.CsrfPreventionFilter¥$LruCache(?:¥$1)?|java¥.util¥.(?:Linked)?HashMap"/>
    </Context>
    

    アクセス許可する接続元 IP アドレスを追加することもできますが、
    どこからでもアクセスできるようにするには、

    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
    allow="127¥.¥d+¥.¥d+¥.¥d+|::1|0:0:0:0:0:0:0:1" />

    の部分をすべて削除して保存します。

    編集が完了したら、Tomcat を再起動します。

    # systemctl restart tomcat

    ブラウザで以下のURLにアクセスします。
    http://[サーバーのIPアドレス]:8080/manager/html

    Windowsセキュリティ

    認証画面が表示されるので、
    設定した ID とパスワードでログインします。

    Tomcat Web アプリケーションマネージャが表示されます。

    Tomcat Web アプリケーションマネージャー
KAGOYA CLOUD
チュートリアル トップへ