aws

【H-2】Apache設定

Apacheは、Nginxと並んで広く利用されているWebサーバーソフトウェアです。本ハンズオンでは、Amazon EC2(Amazon Linux 2023)にApacheをインストールし、静的ウェブサイトを公開する手順を学びます。デフォルトのドキュメントルートを意識し、適切な場所にファイルを配置することがポイントです。

学習フェーズ

Apacheとは

Apache HTTP Server(通称Apache)は、オープンソースのWebサーバーソフトウェアであり、長年にわたり世界中で広く利用されています。柔軟な設定が可能で、モジュールを追加することで多機能なWebサーバーとして運用できます。

デフォルトのドキュメントルート

Apacheのデフォルトドキュメントルートは以下のパスに設定されています。

/var/www/html

このディレクトリにHTMLファイルを配置することで、ブラウザからEC2インスタンスのパブリックIPアドレスにアクセスした際に、そのファイルが表示されます。

設定ファイルの場所

Apacheのメイン設定ファイルは以下の場所にあります。

/etc/httpd/conf/httpd.conf

このファイル内でドキュメントルートなどの基本設定が記載されています。今回はデフォルト設定を利用するため、編集は行いませんが、今後カスタマイズする際にはこのファイルを確認しましょう。

実践フェーズ

1. Apacheのインストール

Amazon Linux 2023では、以下のコマンドでApacheをインストールします。

sudo dnf install httpd -y

2. Apacheの起動と自動起動設定

sudo systemctl start httpd
sudo systemctl enable httpd

3. セキュリティグループの確認

EC2インスタンスのセキュリティグループで、HTTP(ポート80)が許可されていることを確認してください。

4. 動作確認

ブラウザで以下にアクセスします。

http://<EC2のパブリックIPアドレス>

Apacheのデフォルトページが表示されれば成功です。

5. 独自のHTMLファイルを配置

以下のコマンドでサンプルHTMLファイルを作成します。

echo "<h1>Hello Apache</h1>" | sudo tee /var/www/html/index.html

再度ブラウザでアクセスし、「Hello Apache」と表示されれば、静的ウェブサイトの設置が完了です。

補足

  • Apacheのサービス名は「httpd」です。Nginxのようにサービス名が「nginx」ではない点に注意しましょう。起動や停止は以下のコマンドで行います。
    例:sudo systemctl start httpd
  • ドキュメントルートの権限に注意しましょう。/var/www/html 配下にファイルを配置する際、パーミッションや所有者が適切でないと表示されないことがあります。基本的には sudo を使って操作すれば問題ありません。
  • 設定反映時はリロードが必要です。httpd.conf を編集した際は、Apacheを再起動ではなくリロードすることで、接続中のセッションに影響を与えず反映できます。
    例:sudo systemctl reload httpd