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 available 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
# アクセス制限の設定
<Directory />
Require all denied
</Directory>
<Directory "${SRVROOT}/htdocs">
Require all granted
</Directory>
パフォーマンス最適化設定
C:\Apache24\conf\httpd.confに以下のパフォーマンス設定を追加する。
- KeepAliveの最適化
KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100
- MPM(マルチプロセッシングモジュール)の最適化
<IfModule mpm_winnt_module> ThreadsPerChild 150 MaxRequestWorkers 150 MaxConnectionsPerChild 10000 </IfModule>
設定変更後、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モジュールの読み込み設定
PHPのバージョンとインストールパスは、実際の環境に合わせて適切に設定すること。以下は設定例である。
LoadModule php_module C:/php/php8apache2_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