【AWSを使おう!】Apache HTTP ServerでWEBサーバ機能を構築しよう!

スキルアップ

はじめに

AWSのステキな無料利用枠を使って、実際にAWSを触ってみるシリーズ!
前回までにEC2 インスタンスを作成しました。

まだEC2インスタンスなどを作っていない方は、こちらの記事をご参考にアカウントを作成してください。

ただ、EC2 インスタンスを作っただけだと「何に使うんだろう??」という感じですよね。
今回は、このインスタンスApache HTTP Serverを構築してWEBサイトを公開できるようにしています。

自分が作ったインスタンスにブラウザからアクセスしてWEBページを表示させる!
こうなると、「なんか凄いことができてる」感じがして、ワクワクしてきますね♪

Apacheとは?

Apacheとは、正式名称を「Apache HTTP Server」で、Apacheソフトウェア財団によって開発・保守されているフリーなオープンソースです。
Apacheは、WEBサーバ機能を提供するソフトウェアであり、インターネットからのアクセスに対して適切なデータ(HTMLファイルや画像など)を返信します。

簡単に纏めると、Apacheソフトウェア財団がメンテしてくれているWEBサーバ機能を持ったフリーソフトです。

類似するソフトウェアで、「Apache Tomcat」(通称:Tomcat)があります。
これは、アプリケーションサーバ機能(APサーバ機能)を提供する別ソフトウェアです。
※APサーバ機能とは、プログラムやデータベースなどと連携して、アクセスに対応するデータを作成するイメージです。

Tomcatには、簡易的なWEBサーバ機能を含まれています。
「このことと」と「名称がややこしいこと」で違いが分かりにくくなっています。
原則は、ApacheはWEBサーバ、TomcatはAPサーバで役割分担しています。

Apacheの構築

EC2への接続と更新パッケージの確認

Windowsの場合はPowerShellから、MacOSの場合はターミナルから、EC2インスタンスにアクセスします。
そして、「パッケージ更新」コマンドを実行します。

sudo yum update -y

Apacheのインストール

Apache HTTP Serverの「インストール」コマンドを実行します。

sudo yum -y install httpd

実行後に「実行完了」を示すメッセージが表示されていればOKです。

Apacheの起動

Apacheをインストールしたの後に動作を開始させるためには、「Apache起動」コマンドを実行する必要があります。

sudo systemctl start httpd.service

「Apache起動」コマンドの実行結果は、なにも表示されません。
そのため、「Apacheのステータス確認」コマンドで状況を確認します。

sudo systemctl status httpd.service

Activeが「active (running)」となっていれば、正常に実行できています。

Apacheの停止

Apacheを停止させるためには、「Apache停止」コマンドを実行する必要があります。

sudo systemctl stop httpd.service

「Apache起動」コマンドと同様に実行結果は表示されないので、「Apacheのステータス確認」コマンドで状況を確認します。

sudo systemctl status httpd.service

Activeが「inactive (dead)」となっていれば、正常に停止できています。

VPC:セキュリティーグループの設定

Apacheをインストールしたので、「早速、テストページへアクセス!」
・・・と行きたいところですが、事前準備があります。
それは、インターネットからApacheへアクセスするためのセキュリティ設定です。

VPCはデフォルト状態で、インターネットから入ってくる全てのアクセスを遮断しています。
そして、インターネットへ出ていく全てのアクセスを許可しています。
今回はApacheへアクセスするために、インターネットからのHTTP通信(ポート:80)を許可します

AWS管理画面にログインし、[VPC] > [セキュリティ] > [セキュリティグループ]と画面を遷移します。

インバウンドルール

ApacheをインストールしたEC2 インスタンスが属しているセキュリティグループを選択して、[インバウンドルール]タブをクリックします。

現状では、EC2インスタンス作成時に設定したSSH通信(ポート:22)のみ許可されていました。

[インバウンドのルールを編集]ボタンをクリックします。

新規ルールの入力欄を表示させるために、[ルールの追加]ボタンをクリックします。

タイプから「HTTP」を、ソースに「カスタム 0.0.0.0/0, ::/0」を入力します。

入力が完了したら、[ルールを保存]ボタンをクリックします。

設定したルールが、「インバウンドルール」に追加されていればOKです。

アウトバウンドルール

アウトバンドルールはデフォルトで全て許可されています。
そのため、[アウトバウンドルール]タブをクリックして設定状況の確認のみを行います。

テストページの表示

最後に、ブラウザ(Edge、Chrome、Safariなど)からテストページへアクセスします。

EC2インスタンスでApacheを起動した状態で、「http://[グローバルIP]」にアクセスします。
そして、次のようなページが表示されればOKです。

グローバルIPは、EC2の設定画面から確認できます。
※「パブリックIPv4」に記載されたIPアドレスとなります。

最後に

今回の設定で、(テストページではありますが)全世界に対して、WEBページを公開することができました。

これを利用して自作したHTMLファイルを公開しても良いですし、さらにTomcat(APサーバ機能)を構築して機能拡張しても良いでしょう。

AWSでのインフラ構築の足掛かりにしてただければ嬉しいです♪

コメント

タイトルとURLをコピーしました