LoginSignup
42
56

More than 3 years have passed since last update.

Cent OS 7上でApache/Tomcat開発環境を構築する

Last updated at Posted at 2017-11-01

はじめに

Linuxサーバ環境として定番のCentOS7上に、Apache Tomcat 9が動作するWebサーバ環境を構築していきたいと思います。

この記事で紹介するのは以下の環境構築です。
- Java 8 (OpenJDK / OracleJDK)
- Apache Tomcat 9 (on Apache 2.4)

更新履歴

2018.6.19 Tomcat 9 向けに少し追記

前回までの記事はこちら

前回までの記事で、GCP上にCentOS開発サーバを構築する手順をまとめていますので、併せてお読みください。

インストール手順

作業方針

  1. 可能な部分はパッケージマネージャyumを使います。
  2. できる限り最新版にするため公式パッケージをインストールします。
  3. Apache Tomcat単体ではなく、HTTPフロントサーバとしてApacheを使用します。
  4. JVM/JDKはOracle社のものを使います。

事前準備

本手順ではリモートファイルのダウンロードにwgetを使用しています。
必要に応じて先にインストールします。

yum -y install wget

Apache 2.4インストール

この項目は前回と同様の手順になりますので、以下をご参照ください。
Cent OS 7上でApache/PHP開発環境を構築する

JDKインストール

OpenJDKを使用する場合

以下のコマンドでJDKをインストールします。

yum install java-1.8.0-openjdk-devel

OracleJDKを使用する場合

ダウンロード

まず、以下URLよりLinux x64向けの最新版パッケージ(jdk-8uxxx-linux-x64.tar.gz)をローカルにダウンロードしてください。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

プログラム配置

以下の手順では、Java8u171を元に説明しますので、適宜バージョン番号を読み替えてください。

mkdir /usr/java/
cd /usr/java/
tar zxf /path/to/jdk-8u171-linux-x64.tar.gz
ln -s jdk1.8.0_171 latest
echo -e "export JAVA_HOME=/usr/java/latest\nPATH=\$PATH:\$JAVA_HOME/bin" > /etc/profile.d/java.sh
source /etc/profile.d/java.sh

実行パス設定

デフォルトでどのjavaコマンドを起動するか、alternativesコマンドを使って設定します。

alternatives --install /usr/bin/java java /usr/java/latest/bin/java 9999
alternatives --config java
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 9999
alternatives --config javac

設定が完了したら以下のコマンドで、先ほどインストールしたバージョンが実行されるか確認しましょう。

java -version
javac -version

Apache Tomcat 9 インストール

Apache Tomcatも同様に最新版を公式サイトからダウンロードします。

ダウンロードと展開

以下の例では現在の最新版Apache Tomcat 9.0.8をダウンロードしますので、適宜読み替えてください。
今回のインストール先は"/usr/tomcat9"とします。

cd /usr/local/src
wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
tar zxf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8 /usr/tomcat9

基本設定

以下のコマンドを使い、環境変数を設定しましょう。

echo -e "export CATALINA_HOME=/usr/tomcat9\nexport CATALINA_BASE=/usr/tomcat9" > /etc/profile.d/tomcat.sh
source /etc/profile.d/tomcat.sh

動作確認

以下のコマンドでバージョン情報と実行JVM環境を確認する事ができます。

/usr/tomcat9/bin/version.sh 

実行結果が以下のようになるのを確認しましょう。

Using CATALINA_BASE:   /usr/tomcat9
Using CATALINA_HOME:   /usr/tomcat9
Using CATALINA_TMPDIR: /usr/tomcat9/temp
Using JRE_HOME:        /
Using CLASSPATH:       /usr/tomcat9/bin/bootstrap.jar:/usr/tomcat9/bin/tomcat-juli.jar
Server version: Apache Tomcat/9.0.8
Server built:   Apr 27 2018 19:32:00 UTC
Server number:  9.0.8.0
OS Name:        Linux
OS Version:     3.10.0-862.3.2.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_171-b10
JVM Vendor:     Oracle Corporation

ユーザ作成

以下のコマンドで、Apache Tomcatを実行するためのユーザを作成します。

useradd -M -d /usr/tomcat9 tomcat
chown -R tomcat:tomcat /usr/tomcat9

自動起動設定

以下のコマンドでsystemctl起動スクリプトを手動生成します。

echo "[Unit]
Description=Apache Tomcat Servlet Container
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=CATALINA_BASE=/usr/tomcat9
Environment=CATALINA_HOME=/usr/tomcat9
ExecStart=$CATALINA_HOME/bin/startup.sh
ExecStop=$CATALINA_HOME/bin/shutdown.sh
ExecReStart=$CATALINA_HOME/bin/shutdown.sh;$CATALINA_HOME/bin/startup.sh
KillMode=none

[Install]
WantedBy=multi-user.target
" > /usr/lib/systemd/system/tomcat9.service

起動/終了は以下のようなコマンドで行います。

# 起動
systemctl start tomcat9
# 終了
systemctl stop tomcat9
# 再起動
systemctl restart tomcat9

設定完了後は以下コマンドで自動起動を設定します。

systemctl enable tomcat9

Apache → Tomcat連携設定

ApacheからTomcatへリクエストを受け渡すには、リバースプロキシを設定する必要があります。

以下は"/"以下の全リクエストをTomcatに引き渡す設定例です。

echo "ProxyPass / ajp://localhost:8009/" > /etc/httpd/conf.d/proxy.conf

上記が完了したら、設定を反映するためにApacheを再起動しましょう。

systemctl restart httpd

上記の手順でTomcatの初期インストールは完了です。

42
56
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
56