Linux（CentOS7）にTomcatを手動でインストールする手順

2017/06/03に作成した資料をアップします。

Linux（CentOS7）にTomcatをインストールする手順を紹介する。
（Tomcatはjre上で動作するため、あらかじめjreまたはjdkをインストールしておく必要がある。）
[jdkのインストールはこちら](https://qiita.com/yasushi-jp/items/3666b661ed363c1c42c7)

### 1. CentOS7にログインし、rootユーザーにスイッチする。
```
$ su -
#
```
### 2. Tomcat専用のtomcatユーザーを追加する。
```
# useradd -s /sbin/nologin tomcat
```
### 3. Apache Tomcatのウェブページから「apache-tomcat-8.5.15.tar.gz」をダウンロードする。
```
# curl -OL　http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
```
（リンク先のURLは変わっているかも？）
（コマンドではなく、ブラウザからダウンロードしても良い。）
### 4. 「apache-tomcat-8.5.15.tar.gz」を解凍する。
```
# tar xvzf ./apache-tomcat-8.5.15.tar.gz
```
（「apache-tomcat-8.5.15」が作成される。）
### 5. 「/opt」配下に「apache-tomcat-8.5.15」をコピー（移動）する。
```
# mv apache-tomcat-8.5.15 /opt
```
### 6. 「/opt/apache-tomcat-8.5.15」の所有者をtomcatユーザーに変更する。
```
# chown -R tomcat:tomcat /opt/apache-tomcat-8.5.15
```
### 7. Apache Tomcatの今後のバージョンアップによるパス変更を吸収するため、シンボリックリンクを作成する。
```
# ln -s /opt/apache-tomcat-8.5.15 /opt/tomcat
```
### 8. Tomcatのサービス起動ファイルを作成する。
```shell:/etc/systemd/system/tomcat.service
 [Unit]
Description=Apache Tomcat 8
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/var/run/tomcat.pid
RemainAfterExit=yes

EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
ExecReStart=/opt/tomcat/bin/shutdown.sh;/opt/tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
```
```shell:/etc/sysconfig/tomcat
JAVA_HOME=/opt/java
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
```
### 9. Tomcatのサービス起動ファイルに実行権限を付与する。
```
# chmod 755 /etc/systemd/system/tomcat.service
```
### 10. Tomcatのサービス起動を有効にする。
```
# systemctl enable tomcat
```
### 11. サーバーを再起動する。
```
# shutdown –r now
```
### 12. 再起動後、Tomcatのプロセスを確認する。
```
# ps –ef | grep tomcat

tomcat    1479     1  0  6月03 ?      00:00:10 /opt/java/jdk1.8.0_131/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/./urandom -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start
```
### 13. Firewalld設定（tcp 8080ポートを開ける）のため、以下のファイルを作成する。
```shell:/etc/firewalld/services/tomcat.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Tomcat (HTTP)</short>
  <description>Tomcat HTTP Server.</description>
  <port protocol="tcp" port="8080"/>
</service>
```
### 14. 作成した「tomcat.xml」をFirewalldに読み込ませてサービスを再起動する。
```
# firewall-cmd --permanent --add-service=tomcat
# systemctl restart firewalld.service
```
### 15. servicesにtomcatが追加されていることを確認する。
```
# firewall-cmd --list-all
```
### 16. ブラウザから以下のURLに接続する。
http://ホスト名またはIPアドレス:8080/
![tomcat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/d2cca301-fef6-0ab6-00a3-152c0f92a576.png)

### 【Tomcatの起動及び停止】
- 起動 

```
# systemctl start tomcat
```

- 停止

```
# systemctl stop tomcat
```

- 再起動

```
# systemctl restart tomcat
```
以上