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