このページでは、Red Hat Enterprise Linux 環境における Apache HTTP Server のインストールと初期設定を行う。
Apache は Linux 環境で広く利用されている Web サーバーであり、Web コンテンツの配信や Reverse Proxy、TLS 通信などを担う Web インフラの基盤ソフトウェアである。
ここでは Apache HTTP Server のパッケージ導入からサービス起動、firewalld 設定、ブラウザによる動作確認まで、
Web サーバーとして基本的に動作する状態を構築する。
・OS:Red Hat Enterprise Linux
・Web サーバー:Apache HTTP Server(httpd)
まず Apache HTTP Server がすでにインストールされていないか確認する。
dnf list installed httpd
インストールされていない場合は
「Error: No matching Packages to list」または結果が表示されない。
Apache HTTP Server パッケージをインストールする。
dnf install httpd -y
パッケージがインストールされたことを確認する。
dnf list installed httpd
解説
RHEL では Apache HTTP Server は httpd パッケージとして提供されている。
このパッケージをインストールすることで Apache の実行ファイル、設定ファイル、systemd サービスなどがシステムへ配置される。
Apache サービスの状態を確認する。
systemctl status httpd
インストール直後はサービスは起動していない。
Apache サービスを起動する。
systemctl start httpd
サービスが起動していることを確認する。
systemctl status httpd
Active: active (running) と表示されていれば Apache は正常に起動している。
解説
Apache HTTP Server は systemd サービスとして管理されている。
systemctl start httpd を実行することで Web サーバーが起動し、HTTP リクエストを受け付ける状態になる。
Apache の自動起動設定を確認する。
systemctl is-enabled httpd
disabled の場合は自動起動が無効になっている。
サーバー起動時に Apache が自動起動するよう設定する。
systemctl enable httpd
設定が反映されたことを確認する。
systemctl is-enabled httpd
enabled と表示されれば自動起動設定が有効になっている。
解説
systemctl enable を実行することで systemd の自動起動設定が有効になり、
サーバー再起動後も Apache HTTP Server が自動的に起動するようになる。
現在の firewalld 設定を確認する。
firewall-cmd --list-all
http や https が許可されていない場合、外部から Web サーバーへアクセスできない。
HTTP / HTTPS 通信を許可する。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
設定を反映する。
firewall-cmd --reload
設定が反映されているか確認する。
firewall-cmd --list-services
http https が表示されていれば設定は完了している。
解説
firewalld は Linux の標準ファイアウォール機能である。
HTTP(80番ポート)と HTTPS(443番ポート)を許可することで、外部から Web サーバーへアクセスできるようになる。
ブラウザから Web サーバーへアクセスする。
http://Webサーバー(仮称)のアドレス
Apache HTTP Server のテストページが表示されれば Web サーバーは正常に動作している。
またサーバー上から curl コマンドで確認することもできる。
curl http://localhost
HTML が返されれば Apache HTTP Server は正常にリクエストを処理している。
解説
Apache が起動している場合、HTTP リクエストは Apache によって処理され、
デフォルトの Web コンテンツがブラウザへ返される。
Apache HTTP Server は、ブラウザから送信された HTTP リクエストを受け取り、
静的コンテンツを返すか、必要に応じてアプリケーションへ処理を転送する Web サーバーである。
Apache HTTP Server の基本構築が完了したら、次は VirtualHost を利用した Web サイト構成を設定する。