はじめに
AWSのEC2インスタンスを使ってWebサーバーを構築する方法を解説します。EC2インスタンスは作成しただけでは単なる仮想マシンにすぎません。Webサイトを公開するためには、Webサーバーソフトウェアをインストールする必要があります。今回はApacheをインストールして、基本的なWebサーバーを構築していきます。
前提条件
- AWSアカウントを持っていること
- EC2インスタンスが既に作成されていること
- EC2インスタンスへのSSH接続ができる状態であること
WebサーバーとApache
WebサーバーとEC2の関係
多くの方が「EC2がWebサーバーなのでは?」と思われるかもしれませんが、正確には:
- EC2は仮想的なコンピュータ(ハードウェア)を提供するサービス
- Apacheはそのコンピュータ上で動作する、Webページを配信するためのソフトウェア
つまり、EC2は「パソコン本体」、Apacheは「そのパソコンにインストールしたWebサーバーソフトウェア」と考えるとわかりやすいでしょう。
Apacheとは
Apacheは世界で最も広く使われているWebサーバーソフトウェアの一つです。主な役割は:
- インターネットからのHTTPリクエストを受け取る
- リクエストに応じて適切なHTMLファイルなどを返す
- PHPなどのプログラミング言語と連携して動的なWebページを生成する
ApacheはオープンソースであるためAmazon Linuxなどで無料で利用可能です。似たような役割を持つソフトウェアにnginxがあります。
Apache(httpd)のインストール手順
1. EC2インスタンスにSSH接続
まず、EC2インスタンスにSSH接続します。前回の記事で作成したキーペアを使用して:
ssh -i ~/.ssh/test-dev-keypair-ec2.pem ec2-user@あなたのElasticIP
2. システムの更新
セキュリティと安定性を確保するため、まずシステムを最新の状態に更新します:
sudo yum update -y
このコマンドの意味:
-
sudo
: 管理者権限でコマンドを実行する -
yum
: Red Hat系Linuxのパッケージ管理ツール -
update
: インストール済みパッケージを最新版に更新する -
-y
: 確認メッセージに自動で「yes」と答える
3. Apacheのインストール
次にApache(httpd)をインストールします:
sudo yum install -y httpd
このコマンドの意味:
-
install
: 新しいパッケージをインストールする -
httpd
: Apache HTTPサーバーのパッケージ名(HTTP Daemonの略)
4. Apacheの起動と自動起動設定
Apacheをインストールしただけでは動作しません。以下のコマンドで起動します:
sudo systemctl start httpd
また、サーバーが再起動してもApacheが自動的に起動するように設定します:
sudo systemctl enable httpd
このコマンドの意味:
-
systemctl
: Linuxのサービスを管理するコマンド -
start
: サービスを開始する -
enable
: システム起動時に自動的にサービスを開始するよう設定する -
httpd
: Apache HTTPサーバーのサービス名
5. Apacheの動作確認
Apacheが正常に動作しているか確認するには以下のコマンドを実行します:
sudo systemctl status httpd
正常に動作していれば、active (running)
と表示されます。
ブラウザからのアクセス確認
Apacheが正常に動作していれば、EC2インスタンスのElastic IP(またはパブリックIP)アドレスをブラウザで開くことでアクセスできます。
例えば、Elastic IPが12.34.56.78
の場合:
ブラウザでhttp://12.34.56.78
にアクセスします。
Apacheのデフォルトのテストページが表示されれば成功です!
よく使うLinuxコマンドとその意味
初めてLinuxを使う方のために、今回使用したコマンドの解説をします:
コマンド | 意味 | 例え |
---|---|---|
sudo |
管理者権限でコマンドを実行する | 管理者のパスワードを使って操作する |
yum |
パッケージ管理ツール | Windowsの「プログラムのインストール」や「App Store」 |
-y オプション |
確認に自動で「yes」と答える | 「本当に実行しますか?」に常に「はい」と答える設定 |
systemctl |
サービスを管理するコマンド | Windowsの「サービス」管理画面のコマンド版 |
まとめ
今回は、EC2インスタンス上にApache(httpd)をインストールして基本的なWebサーバーを構築しました。これにより、インターネットからアクセス可能なWebサイトの基盤ができました。
次のステップとしては:
- HTMLファイルをアップロードして独自のWebページを表示する
- MySQLをインストールしてデータベースを構築する
- PHPをインストールして動的なWebページを作成する
- WordPressをインストールしてブログやCMSを構築する
これらの方法については、次回の記事で紹介します!