まえがき
Javaアプリケーションサーバとして、みんな大好きなTomcatをCentOS7上でyumなしで構築するときのメモ。
特に理由がない限り、yum使うほうが全然早いと思います。
前提
- CentOS7.3を想定
- OpenJDKではなく、OracleオリジナルのJDKを使用
- tomcatはyum経由でインストールするのではなく、公式から落としたアーカイブから個別にインストールする
構築作業
下準備
tomcatユーザを追加(ユーザ名は何でも良いがわかりやすく)
[root@localhost ]# useradd tomcat
[root@localhost ]# passwd tomcat
Javaインストール
下記URLからJDKのrpmをダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
※agree押したりなどする必要があるのでwget/curlで持ってくるのが厳しい
落とした.rpmを対象サーバに持っていく
※私の場合は自PCに落として、対象サーバにsftpで持っていきました
[root@localhost ]# yum localinstall jdk-8u111-linux-x64.rpm
# rootとtomcatの.bash_profileに export JAVA_HOME=/usr/Java/jdk1.8.0_111/jre/ を追記
tomcatインストール
tomcat公式からバイナリを落としてきて解凍 => オーナ/グループ変更
以下の例では、/optに配置しているが、どこでもお好みのパスでどうぞ。
[root@localhost ]# wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.0.39.tar.gz
[root@localhost ]# tar xzvf apache-tomcat-8.0.39.tar.gz
[root@localhost ]# mv apache-tomcat-8.0.39 /opt/tomcat
[root@localhost ]# cd /opt/
[root@localhost ]# chown -R tomcat:tomcat tomcat
systemdへサービスの登録
yumでは自動的にやってくれるこの辺も手動で作る/登録する必要あり
[root@localhost ]# vim /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 8
After=network.target
[Service]
User=tomcat
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
KillMode=none
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
[root@localhost ]# vim /etc/sysconfig/tomcat
Java_HOME="/usr/Java/jdk1.8.0_111/jre/"
Java_OPTS="-DJava.security.egd=file:/dev/./urandom"
[root@localhost ]# systemctl daemon-reload
firewalld用に新規サービスの登録(オプション)
検証目的などで、firewalldを使用しないならスキップしてOK
[root@localhost ]# vim /usr/lib/firewalld/services/tomcat.xml
<service>
<short>WWW (HTTP-tomcat)</short>
<description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description>
<port protocol="tcp" port="8080"/>
</service>
[root@localhost ]# systemctl restart firewalld
[root@localhost ]# firewall-cmd --add-service=tomcat --zone=public --permanent
success
[root@localhost ]# systemctl restart firewalld
動作確認
まずはTomcatを起動させる。
また、OS起動時に自動的にサービスが立ち上がるようにもしておく。
[root@localhost ]# systemctl enable tomcat
[root@localhost ]# systemctl start tomcat
[root@localhost ]# systemctl status tomcat
[root@localhost ]# ss -nat | grep 8080
LISTEN 0 100 :::8080 :::*
Webブラウザでhttp://[ip_addr]:8080にアクセスして、おなじみのtomcatのトップページが表示されたらOK