【AWS】初心に戻って1からVPCを構築してみた　Apache HTTP Server構築編

#はじめに
昨日の記事の続きです。VPC、パブリックサブネット、プライベートサブネット、ルートテーブル、EC2インスタンスを構築しました。本日はインスタンスにWEBサーバの機能を持たせようと思います。
具体的には**Apache HTTP Server**をインストールします。Apacheはオープンソースで提供されています。
世界で一番利用されているWebサーバーソフトウェアです。


過去の記事は以下から参照ください。

https://qiita.com/hirockio2206/items/303f7f4ac993f7dabdb8

https://qiita.com/hirockio2206/items/f6060486fc6ec0f2c904

https://qiita.com/hirockio2206/items/b02026b430425f05c2b2

https://qiita.com/hirockio2206/items/578d311c06c0248055db



#構成図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/127a7e84-3f49-f53d-04be-5944582cf5f4.png)

#手順
１. インスタンスにログインします。ログイン方法は昨日の記事をご参照ください。
２. 以下のコマンドでLinuxシステムにインストールされているすべてパッケージのバージョンを最新のものに更新します。
トランザクションの要約で確認の応答にyと入力します。完了しました！と出たら成功です。

```
% sudo yum update

トランザクションの要約
================================================================================
インストール   7 パッケージ
更新          28 パッケージ

総ダウンロード容量: 56 M
Is this ok [y/d/N]: y

・
・
・
完了しました!

```


３. Apacheをインストールします。
[-y]オプションはユーザーの確認なしにすぐにインストールするオプションです。

```
% sudo yum -y install httpd
```


４. Apacheを起動します。
 
```
% sudo systemctl start httpd.service
```

５. Apacheが起動したか確認します。実行中のプロセスに確認コマンドの中にhttpdが出てきたらOKです。
 
```
% ps -ax | grep httpd

 7609 ?        Ss     0:00 /usr/sbin/httpd -DFOREGROUND
 7610 ?        Sl     0:00 /usr/sbin/httpd -DFOREGROUND
 7611 ?        Sl     0:00 /usr/sbin/httpd -DFOREGROUND
 7612 ?        Sl     0:00 /usr/sbin/httpd -DFOREGROUND
 7613 ?        Sl     0:00 /usr/sbin/httpd -DFOREGROUND
 7614 ?        Sl     0:00 /usr/sbin/httpd -DFOREGROUND
 7713 pts/0    S+     0:00 grep --color=auto httpd
```




６. Apacheを自動起動する設定に変更します。
 
```
% sudo systemctl enable httpd.service
```

７. Apacheが自動起動する設定になったか確認します。enableと出ればOKです。
 
```
% sudo systemctl list-unit-files -t service | grep httpd.service

httpd.service                                 enabled
```

これでApacheのインストールは完了です。では早速ブラウザからアクセスしてみましょう。

８. ブラウザにパブリックIPを入力します。パブリックIPはAWSマネジメントコンソールのEC2の画面で確認ができます。
![スクリーンショット 2021-09-21 7.24.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/3cf46c06-d1c7-ee3d-422d-135b9a41c9c2.png)
残念ながらアクセスはできません。これはセキュリティグループでSSHの22番ポートしか許可していないためです。
httpは80番ポートのため、許可の設定が必要です。
![スクリーンショット 2021-09-22 7.17.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/7e826bee-0f15-fbc6-d905-5271c2ab560b.png)

９. EC2の左側メニューペインからセキュリティグループを選択し、前回作成したWEB-SGを選択します。※1
インバウンドルールを選択し、[Edit inbound rules]をクリックします。
(※1前回のVPC構築記事を見られていない方は、ご確認過去記事からご確認ください。)

![スクリーンショット 2021-09-22 7.21.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/395363b3-1e18-5895-ed75-cabf288abdf7.png)
１０. [ルールを追加]をクリックし、[カスタムTCP]を選択、ポート範囲は[80]でソースに[0.0.0.0/0]を選択し、[ルールを保存]をクリックします。
![スクリーンショット 2021-09-22 7.27.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/f7a0e75e-7c84-9a19-4b1c-876a9798101f.png)
１１. ブラウザにパブリックIPを入力します。テストページが表示されればwebサーバの構築完了です！
![スクリーンショット 2021-09-22 7.31.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/a9362517-722a-70c2-bc0c-4fd93a78fd9c.png)

#最後に
いかがでしたでしょうか。無事にwebサーバを構築できましたでしょうか。
通常はこの後ドメインを取得するのですが、AWSでは有料となりますのでここまでにします。

ちなみに私は今サイトを一つ運営しています。ただしS3による静的なページのみです。
その際の[.com]ドメインの取得料金は年間13.25$でした。
また月々の利用料0.55$も発生します。興味のある方は以下の記事もご参考にしてください。

https://qiita.com/hirockio2206/items/41402fddc4cf017d4822

ご参考になれば幸いです。