Apache HTTP サーバ 2.4 のインストールと設定(Windows 上)
【要約】 Windows 11環境におけるApache HTTPサーバ2.4の導入と設定方法について詳しく解説します.Apacheは,世界で最も利用されているWebサーバソフトウェアです.本ガイドでは,セキュリティとパフォーマンスを重視した適切な設定方法を詳細に説明します.Apacheの公式サイトから最新の安定版をダウンロードし,セキュリティに配慮しながら展開およびインストールを実施します.その後,httpd.confファイルを編集して必要な設定を行い,Apache HTTPサーバを再起動します.設定の正常性は http://localhost/ へのアクセスで確認でき,「It Works!」の表示が確認できれば正常に動作しています.さらに,起動時のトラブルシューティングやセキュリティ設定についても詳しく解説します.
重要なセキュリティ注意事項: Apache HTTPサーバの設定後,以下の点を必要に応じて確認してください.
- Windows Defenderファイアウォールでの通信許可設定
- Windows セキュリティ → ファイアウォールとネットワーク保護 → 詳細設定
- 受信の規則 → 新しい規則 → ポート → TCP → 特定のローカルポート:80
- 接続を許可する → ドメイン,プライベート,パブリック → 名前:Apache HTTP Server
- セキュリティ更新プログラムの管理
- Apache公式サイトでのセキュリティアップデートの定期確認
- Windows Update による関連コンポーネントの更新確認
- ログ監視とセキュリティ管理
- アクセスログ(access.log)の定期的な確認(logs/access.log)
- エラーログ(error.log)の監視(logs/error.log)
ダウンロード
- Apache公式Webサイトにアクセス
- ダウンロードページへの移動
左側のフレームにある「Download!」セクション内の 「from a mirror」を選択します.
- 該当セクションの確認
表示されたページを下方向にスクロールし,「Apache HTTP Server ... the latest availavle version」のセクションを確認します.
-
「Files for Microsoft Windows」を選択します.
- 「ApacheHaus」を選択し,次の手順に進みます.
- 適切なバージョンとミラーサイトを選択してクリックすると,ダウンロードが開始されます.
インストール
インストール時に「Windows セキュリティのスマートスクリーン」警告が表示される場合があります.「詳細情報」をクリックし,「実行」を選択してセキュリティブロックを解除してください.
- ダウンロードしたZIPファイルの展開を実行します.
- 重要な注意事項の確認
readme_first.htmlファイル内の「Notice」セクションを慎重に確認します. 内容に同意できる場合のみ,インストールを進めてください.
- readme_first.htmlの手順に従い,インストールを実行します.
最初に,展開した「Apache24」ディレクトリをC:\直下に配置します. C:\Apache24ディレクトリが作成されます.
- 環境変数PATHの設定:
Windows キー + I → システム → 詳細情報 → システムの詳細設定 → 環境変数と進み,システム環境変数のPATHに以下を追加します.
C:\Apache24\bin
- サービスのインストールと実行:
スタートメニューで「cmd」と入力し,「管理者として実行」を選択してコマンドプロンプトを起動し,次のコマンドを実行します.
httpd -k install httpd -k start
「Windows セキュリティのスマートスクリーン」が表示された場合は,「詳細情報」→「実行」を選択してください.
基本設定(httpd.conf)
C:\Apache24\conf\httpd.confをメモ帳で開き,以下の設定を行います.メモ帳を「管理者として実行」して開くことを推奨します.
- ServerRootの確認(変更不要)
Define SRVROOT "/Apache24" ServerRoot "${SRVROOT}"
- ServerAdminの設定
【変更前】 ServerAdmin <何らかのメールアドレス> 【変更後】 ServerAdmin <サーバ管理者の正しいメールアドレス>
- ServerNameの設定
コメントアウト(#)を解除します.
【変更前】 #ServerName <何らかのマシン名> 【変更後】 ServerName localhost:80
- DocumentRootの確認
DocumentRoot "${SRVROOT}/htdocs"
セキュリティ設定
C:\Apache24\conf\httpd.confに以下のセキュリティ設定を追加します.
# 基本的なセキュリティ設定
ServerTokens Prod
ServerSignature Off
TraceEnable Off
# ディレクトリ一覧の無効化
Options -Indexes
# シンボリックリンクの制限
Options -FollowSymLinks
# .htaccess による設定変更の制限
AllowOverride None
# アクセス制限の設定
Require all denied
Require all granted
パフォーマンス最適化設定
C:\Apache24\conf\httpd.confに以下のパフォーマンス設定を追加します.
- KeepAliveの最適化
KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100
- MPM(マルチプロセッシングモジュール)の最適化
ThreadsPerChild 150 MaxRequestWorkers 150 MaxConnectionsPerChild 10000
設定変更後,Apache HTTPサーバを再起動します.
httpd -k restart
Apache HTTPサーバの動作確認
Webブラウザでhttp://localhost/にアクセスします.
下図のように「It Works!」という メッセージが表示されれば, Apache HTTPサーバが正常に稼働しています.

一般的なエラーとその解決方法
- ポート80が使用中のエラー
コマンドプロンプトで以下を実行し,ポート80を使用しているプロセスを確認:
netstat -ano | findstr :80 tasklist | findstr "プロセスID"
- アクセス権限エラー
以下の手順でhtdocsフォルダのアクセス権限を設定:
- htdocsフォルダを右クリック → プロパティ → セキュリティ → 編集
- 追加 → 詳細 → 今すぐ検索 → IIS_IUSRS を選択
- アクセス許可で「読み取りと実行」「リストフォルダの内容」「読み取り」にチェック
- サービス起動エラー
Windowsの「サービス」から Apache2.4 の状態を確認:
- Windows キー + R → services.msc を実行
- Apache2.4 を探し,プロパティで「スタートアップの種類」を自動に設定
- 「開始」をクリック
IISとの競合解決
ポート80を変更する場合:
httpd.confのListen 80を任意のポート番号(例:8080)に変更.
Listen 8080
(開発中)cgi-binの設定手順
- PHPのインストールを実行します.
- Perlのインストールを実行します.
- C:\Apache24\cgi-bin\printenv.plファイルの先頭行を以下のように修正
実際のperl.exeの場所に合わせて適切に設定してください.
#!C:/Strawberry/perl/bin/perl.exe
- C:\Apache24\cgi-binディレクトリでPHPファイルを実行できるように設定
C:\Apache24\confディレクトリのhttpd.confファイルをテキストエディタで開き,以下の設定を行います.
- Options ExecCGIの設定
【変更前】 <Directory "${SRVROOT}/cgi-bin"> AllowOverride None Options None Require all granted </Directory> 【変更後】 <Directory "${SRVROOT}/cgi-bin"> AllowOverride None Options ExecCGI Require all granted </Directory>
- CGIスクリプトのハンドラー設定
AddHandler cgi-script .cgi .pl
- PHPモジュールの読み込み設定
LoadModule php7_module C:/php-7.4.9-Win32-vc15-x64/php7apache2_4.dll
- PHPファイルタイプの設定
.php拡張子のファイルをPHPスクリプトとして実行するための設定を行います.
httpd.confに以下の2行を追加
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
- DirectoryIndexの設定
【変更前】 DirectoryIndex index.html 【変更後】 DirectoryIndex index.html index.php
* この設定は,phpMyAdminの動作に必要です.
http://localhost/phpMyAdminにアクセスした際にindex.phpを自動的に読み込むための設定です.
- Options ExecCGIの設定
- 設定変更を反映するため,Apache HTTPサーバを再起動します.
httpd -k restart