AWSでWebアプリをデプロイする方法(Java)⑨

>参考サイト:https://qiita.com/hiren/items/2a4f1b55c99ebfb3fd08

#Tomcatのインストール
TomcatをインストールすることでJavaサーブレットを動かせる環境を整えます

###利用環境
OS:MacOS
ブラウザ:Chrome

###前提条件
Apacheがインストールできている状態
まだ、Apacheがインストールできていない方は[こちら]
(https://qiita.com/kunrenyouAcount/items/d10fb9a73e911d7f4937)


##Tomcatをインストールする

###接続する
下記のsshコマンドを入力して接続します
※キーペアのファイルのパスと、ec2-user@以降は、変更して使用してください

```
ssh -i "/Users/koyamatakumi/Documents/Development/practice/aws/myserverkey.pem" ec2-user@13.115.141.44
```

###接続確認
下記のように表示されていれば、接続完了です
![スクリーンショット 2021-04-07 0.34.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/f1c21fd0-8be0-ab0e-ebdf-c9592fa0a8d7.png)

##SSHでの操作とrootユーザーへの切り替え
###rootユーザーのサインイン
ソフトウェアのインストールはrootユーザーで行います
下記コマンドを入力し、rootユーザーへサインインします

```
sudo -i
```

![スクリーンショット 2021-04-07 0.37.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/f9b00b1e-975d-f282-6cbe-6088f256bf3e.png)

###Tomcatをインストールするためのユーザーを追加する

```
useradd -s /sbin/nologin tomcat
```


###Tomcatのダウンロード
ディレクトリを移動、curlコマンドでURLを入力し、コンソールからURLにリクエストを送り、ダウンロード

```
cd /usr/local/src/
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz
```

###ダウンロードしたファイルを解凍して配置
ファイルを解凍、配置、所有者変更

```
tar -xzvf ~/apache-tomcat-9.0.44.tar.gz
mv ~/apache-tomcat-9.0.44 /opt
chown -R tomcat:tomcat /opt/apache-tomcat-9.0.44
```

省略可
>###Tomcatのシンボリックリンク作成
yumを用いたインストールを行っていない為、将来手動でTomcatバージョンを変更する際にも設定に影響が少なくなるようにシンボリックリンクを作成します。
```
ln -s /opt/apache-tomcat-9.0.44 /opt/apache-tomcat
chown -h tomcat:tomcat /opt/apache-tomcat
```
###Tomcatログシンボリックリンク作成
展開したTomcat本体内に生成されるログファイルを他ミドルウェアと同階層のディレクトリ（/var/log 配下）にて参照できるようにシンボリックリンクを生成
```
ln -s /opt/apache-tomcat/logs /var/log/tomcat
chown -h tomcat:tomcat /var/log/tomcat
```

##Tomcatの設定

###Tomcatコマンドの登録
TomcatをOSにサービスとして登録する為、ルート権限でUnitを作成

```
vi /usr/lib/systemd/system/tomcat.service
```

[**i**]キーを押し、下記内容を貼り付け、[**esc**]キーを押し、「**wq**」を入力し[**Enter**]

```/usr/lib/systemd/system/tomcat.service(新規作成)
# Systemd unit file for default tomcat
#
# To create clones of this service:
# DO NOTHING, use tomcat@.service instead.

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=oneshot
PIDFile=/opt/apache-tomcat/tomcat.pid
RemainAfterExit=yes
#EnvironmentFile=/etc/tomcat/tomcat.conf
#Environment="NAME="
#EnvironmentFile=-/etc/sysconfig/tomcat
ExecStart=/opt/apache-tomcat/bin/startup.sh
ExecStop=/opt/apache-tomcat/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat/bin/shutdown.sh;/opt/apache-tomcat/bin/startup.sh
SuccessExitStatus=143
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
```

###Tomcatの自動起動設定

```Tomcatの自動起動設定
systemctl enable tomcat.service
```

###Tomcat自動起動設定確認
Loadedの(/usr/lib/systemd/system/tomcat.service;の後がenabledであれば自動起動が有効

```Tomcat自動起動設定確認
systemctl status tomcat.service
```

##Tomcatを起動する
###ApacheとTomcatを起動する(先にApacheを起動する)
```
systemctl start httpd.service
systemctl start tomcat.service
```

###起動確認
```
systemctl status tomcat.service
```

##ブラウザから確認
###セキュリティグループの設定変更
AWSコンソールにアクセスし、EC2インスタンを開く
インスタンスを選択し、[セキュリティ]タブを選択
![スクリーンショット 2021-04-07 18.53.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/6551f266-7851-c7a4-f73a-bb9fc7496e4e.png)


セキュリティグループ名(sg-0dd4fe160059aa368 (my-webserver-sg))を選択する
[インバウンドルールを編集]を選択
![スクリーンショット 2021-04-07 18.56.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/e77033ae-fc6f-3302-d31b-08524dc293e8.png)

[ルールを追加]を選択し、タイプを[カスタムTCP]、ポート範囲を[8080]、ソースを[0.0.0.0/0]を選択し、右下のオレンジ色の[ルールを保存]を選択

![スクリーンショット 2021-04-07 18.59.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/c0a6c4bd-7e51-2789-d0a8-b4140263277d.png)


###ブラウザから確認
URLに[ http://13.115.141.44:8080 ]を入力し、Enter
下記画面が表示できれば成功
![スクリーンショット 2021-04-07 19.03.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/967e9022-973c-933e-4435-49c9f7d017f4.png)


#AWSでWebアプリをデプロイする方法⑩
[制作物のデプロイ](https://qiita.com/kunrenyouAcount/items/9c701c82915807c9b196)