Apache HTTP Server 2.4 のインストールと設定(Windows)

【要約】Windows 11環境におけるApache HTTP Server 2.4の導入と設定方法を解説する。Apache HTTP Serverは、広く利用されているオープンソースのWebサーバソフトウェアである。本ガイドでは、ダウンロード、インストール、基本設定、動作確認までの手順を説明し、さらにセキュリティとパフォーマンスに関する発展的な設定についても解説する。

ダウンロード

  1. Apache公式Webサイトにアクセスする。

    http://httpd.apache.org/

  2. ダウンロードページへ移動する。

    左側のフレームにある「Download!」セクション内の「from a mirror」を選択する。

    Apache公式サイトのDownloadセクション
  3. 該当セクションを確認する。

    表示されたページを下方向にスクロールし、「Apache HTTP Server ... the latest available version」のセクションを確認する。

    最新バージョンのセクション
  4. 「Files for Microsoft Windows」を選択する。
    Windows向けファイルの選択
  5. 「ApacheHaus」を選択する。
    ApacheHausの選択
  6. 適切なバージョンを選択し、ダウンロードする。
    バージョンの選択

インストール

  1. ダウンロードしたZIPファイルを展開する。
    Windowsでのファイル展開には7-Zipが便利である。詳細は別ページ »を参照。

    ZIPファイルの展開
  2. readme_first.htmlを確認する。

    readme_first.htmlファイル内の「Notice」セクションを確認する。内容に同意できる場合のみ、インストールを続行する。

    readme_first.htmlの内容
  3. Apache24ディレクトリを配置する。

    展開した「Apache24」ディレクトリをC:\直下に移動する。C:\Apache24ディレクトリが作成される。

    Apache24ディレクトリの配置
  4. 環境変数PATHを設定する。

    Windowsキー + I → システム → 詳細情報 → システムの詳細設定 → 環境変数と進み、システム環境変数のPATHに以下を追加する。

    C:\Apache24\bin
    
  5. サービスをインストールし、起動する。

    スタートメニューで「cmd」と入力し、「管理者として実行」を選択してコマンドプロンプトを起動する。次のコマンドを実行する。

    httpd -k install
    httpd -k start
    
    コマンドプロンプトでのサービスインストール

    「Windowsセキュリティの警告」または「スマートスクリーン」が表示された場合は、「詳細情報」→「実行」を選択する。

    セキュリティ警告

基本設定(httpd.conf)

C:\Apache24\conf\httpd.confをテキストエディタで開く。管理者権限が必要なため、テキストエディタを「管理者として実行」してから開くこと。

動作確認

Webブラウザでhttp://localhost/にアクセスする。

「It Works!」というメッセージが表示されれば、Apache HTTP Serverは正常に動作している。

It Works!メッセージの表示

トラブルシューティング

ポート80が使用中の場合

コマンドプロンプトで以下を実行し、ポート80を使用しているプロセスを確認する。

netstat -ano | findstr :80
tasklist | findstr "プロセスID"

IISとの競合

IIS(Internet Information Services)がポート80を使用している場合、httpd.confのListen設定を変更する。

Listen 8080

この場合、動作確認は http://localhost:8080/ で行う。

サービスが起動しない場合

Windowsの「サービス」からApache2.4の状態を確認する。

  1. Windowsキー + R → services.mscを実行
  2. Apache2.4を探し、プロパティで「スタートアップの種類」を「自動」に設定
  3. 「開始」をクリック

セキュリティ設定

本番環境で運用する場合、以下のセキュリティ設定を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>

各設定の意味は以下の通りである。

パフォーマンス設定

高負荷環境で運用する場合、以下の設定をhttpd.confに追加する。

設定変更後、Apache HTTP Serverを再起動する。

httpd -k restart

ファイアウォールとログの管理

外部からのアクセスを許可する場合、以下の設定を確認する。

CGIの設定

  1. PHPをインストールする。

    Windows環境でのPHPインストール手順は別ページ »を参照。

  2. Perlをインストールする。

    Windows環境でのStrawberry Perlインストール手順は別ページ »を参照。

  3. printenv.plの先頭行を修正する。

    C:\Apache24\cgi-bin\printenv.plファイルの先頭行を、perl.exeの実際のパスに合わせて修正する。

    #!C:/Strawberry/perl/bin/perl.exe
    
  4. httpd.confでCGIを有効にする。

    C:\Apache24\conf\httpd.confに以下の設定を行う。

    • cgi-binディレクトリの設定
      【変更前】
      <Directory "${SRVROOT}/cgi-bin">
          AllowOverride None
          Options None
          Require all granted
      </Directory>
      
      【変更後】
      <Directory "${SRVROOT}/cgi-bin">
          AllowOverride None
          Options ExecCGI
          Require all granted
      </Directory>
      
      Options ExecCGIの設定
    • CGIハンドラの設定
      AddHandler cgi-script .cgi .pl
      
      CGIハンドラの設定
    • PHPモジュールの読み込み

      PHPのバージョンとインストールパスに合わせて設定する。

      LoadModule php_module C:/php/php8apache2_4.dll
      
      PHPモジュールの読み込み
    • PHPファイルの関連付け
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
      
    • DirectoryIndexの設定
      【変更前】
      DirectoryIndex index.html
      【変更後】
      DirectoryIndex index.html index.php
      
      この設定により、ディレクトリにアクセスした際にindex.phpも自動的に読み込まれる。phpMyAdmin等の動作に必要である。

  5. Apache HTTP Serverを再起動する。
    httpd -k restart