【2023年10月版】Windows11にApaceh2.4をインストールする【丁寧に解説】

2023年版 Windows11 Apacheをインストール PHP
※当サイトはアフィリエイト広告を掲載しています。

Windows11搭載の新しいPCを購入し、MySQLをインストールしたので、次はApacheをインストール&解説することにします。

なお、本ページは手っ取り早くダウンロード&インストールするためのページではありません。

Apacheをインストールしながら根本的な解説や、(手っ取り早くしたい方にとっては余計な)丁寧な解説が含まれます。

ただインストールするだけではなく、Web関連をこれから仕事にしたいという方の参考になればと思い書いています。

手っ取り早くしたい方は、不要な部分は適当に飛ばしていただければインストールも可能です。

今回の私の目的

今回は、以下を達成することを目的とします。

  • Windows11に直にApacheをインストール
    (Windows10でも同じと思いますが64bit版OSを想定)
  • インストール先→ C:\Apache2457(Program filesには入れない方が良い)
  • Windowsのサービスに登録する
  • ApacheMonitorをスタートアップに登録する
  • 最低限の設定をする

それぞれの項目は、飛ばしても良いですし、別の場所にインストールするという場合でも参考になると思います。

一般的な用途なら、XAMPPやLocal(by Flywheel)をインストールした方が手っ取り早いかもしれません。両フリーソフトにはApacheが含まれます。

ダウンロード

まずはApacheをダウンロードするところからスタートしましょう。

ダウンロード先

ApacheはオープンソースのWebサーバソフトウェアで、もともとUnix系のオペレーティングシステム(特にLinux)で動作することを主目的として設計されています。

そもそものOSが異なりますので、適切に動作させるための変更や調整が必要となります。……が、門外漢にとってそれは簡単なことではありません。

そこでWindows用のApacheバイナリやインストーラーを提供するために、コミュニティが主導して以下のようなプロジェクトが誕生しました。

Window用の単品Apacheは、上記プロジェクトのどちらかから落とすのが一般的です。

というかApache自体もそう言っています。

昔からの実績があるプロジェクトですし、Apache公式からリンクされている。

なので安心して利用することができると思われます。

Lara
Lara

私がフリーランスを始めたころにもあったと思うので、20年くらいの実績はあると思います。

ZIPファイルを落とす

今回はApache Loungeから落としてきました。特に問題が無ければ、以下の様に最新のファイルで良いでしょう。今回はApache2.4.57でした。

インストーラではなく、ただのZIPファイルですので、ダウンロードが済んだら解凍してください。

ファイルの配置

ダウンロードが済み、ファイルの解凍が出来ている状態からスタートです。

インストールの前に、まずはファイルを適切な位置に配置しましょう。

インスール先に配置

解凍したフォルダは、以下の様なファイル構成でした。必要であればReadMe.txtに目を通してください。

まずは上記のApache24を、インストール先のフォルダに移動してください。具体的には、カット(Ctrl+x)し、インストール先のフォルダ内に貼り付け(Ctrl+v)でOKです。

私はCドライブ直下に貼り付けたので、C:\Apache24になりました。

Cドライブ直下にインストールするのがデフォルトとして想定されているようです。

必要に応じフォルダ名変更

私は当初インストール先をC:\Apache2457としたかったので、移動したフォルダ名を、Apache24→Apache2457に変えました。

……が、一手間かかるので、後から考えるとApache24のままにしておいても良かったと思いました(汗)。

このApache2457部分は、私と異なる選択をした方は以後読みかえてください。

もしもApache24のままにした方は、ここでの行程は飛ばしてインストールに進んでください。

フォルダの名称を変えた方は、Apacheの設定ファイルを修正する必要があります。以下のファイルをテキストエディタ(メモ帳等)で開いてください。普通にエクスプローラからたどって開いてOKです。

C:\Apache2457\conf\httpd.conf
          ↑この部分は読みかえてね!

上記ファイル内の、サーバーのルートを定義するDefine SRVROOTという設定箇所場所がc:/Apache24になっていますので、インストールしたパスに変更します。私の場合は37行目にありました。

# Define SRVROOT "c:/Apache24"
Define SRVROOT "c:/Apache2457"

#はコメントアウトを意味します。元に戻したくなったときに戻せるようコメントアウトした下に、新たに設定を書いているというわけですね。

終えたら保存して閉じてください。

インストール

準備が整いましたので、さっそくインストールしていきましょう。とは言えインストールと言っても、インストーラがあるわけでもなく、フォルダ内のプログラムを使う形です。

インストール(というかサービス登録)

まずは管理者として(重要)、コマンドプロンプトか、PowerShellを立ち上げます。どちらでも良いですが、例えばPowerShellでは以下です。

  1. Windowsキーを押してスタートメニューを開く
  2. “powershell” と入力して検索
  3. 検索結果に表示される「Windows PowerShell」の上で、右クリック
  4. ドロップダウンメニューから「管理者として実行」を選択

そして、PowerShell内に以下のコマンドを貼り付けて実行します。カレントフォルダ(現在の場所)は気にせず、どこでも実行可能です。

C:\Apache2457\bin\httpd.exe -k install

しつこいですが、Apache2457の部分は置き換えてくださいね。

これでエラーが出なければ、インストール完了(サービス登録)です。Windowsを起動する度に、Apacheがバックグラウンドで起動しますので、いつでも利用できます。

余談ですが、サービスから削除する場合は、先ほどのコマンドのinstall部分を、uninstallにすれば削除できました。

エラーが出た場合

今回私はWindows11でエラーは出ませんでしたが、「dllが無い」旨のエラーが出ることがあるようです。これは、現在のパソコンにApacheを動かすライブラリが不足している場合に表示されます。

不足しているファイルは正確には「Microsoft Visual C++ 再頒布可能パッケージ」です。

自分でマイクロソフト公式から探しても良いのですが、ApaheLoungeにリンクがあるので、それを落とせばOKです。

当初落としたファイルの右上にvc_redist_x64というリンクから落せます。

よくわからないサイトからのexeファイルを落とすのが怖い。

……とそう思った方、セキュリティ意識が高いですね!上記のダウンロードリンクのURLを見てみると以下です。

https://aka.ms/vs/17/release/VC_redist.x64.exe

このドメイン:aka.msはマイクロソフトが有しているのかはわかりませんが(whoisでも出てこなかったので不明)、執筆時(2023/10/12)マイクロソフト公式からもリンクを発しているので問題ないと考えられます。

これをインストール(ダブルクリックして開いてから適当にポチポチ押して促されるまま再起動)してから、もう一度Apacheのインストール(サービス登録)をお試しください。

いったん動作確認

さて、サービスには登録されたと思いますが、Windowsを再起動していなければまだApacheは起動していないと思います。

ですので動作確認や付随事項を行っていきましょう。

動作確認

C:\Apache2457\binに、ApacheMonitor.exeというファイルがあるので、ダブルクリックで起動してください。このソフトウェアはバックグラウンドで起動するので、ダブルクリックしても表面上は何も起こりません。

起動するとこっそりタスクトレイ内に表示されていますので、そこのApacheMonitorを以下の1~4とクリックし、Apacheを起動してみましょう。

すでにApacheが起動している場合は、Startがグレーアウトされていますので、その場合はStartしなくてOKです。

管理者のパスワードが求められたら入力してください。その後特に何もエラーが出なければ、Apacheが起動していると思われます(起動できなければエラーが出る)。

Apacheが起動しているか、ブラウザで以下にアクセスして確認してみてください。

http://localhost/

It works!と出れば、動作OKです。

It works!という文字は変わるかもしれませんが、20年以上変わってないのでたぶん余程のことがない限り変わらないでしょう。

ApacheMonitorをPC起動時に常駐させる

現在のままでも、PCを起動させるたびにApacheは起動しています。しかし設定ファイルの修正後や、PHPを使う等の際はApacheを再起動させる必要があります。

コマンドでも可能ですが、そういったApacheのコントロールをするのにApacheMonitorはとても便利です。

なのでPC起動時に、ApacheMonitorも起動させておきましょう。

C:\Apache2457\bin内の、ApacheMonitor.exeというファイル上で右クリック→「その他のオプションを確認」→「ショートカットの作成」でApacheMonitorのショートカットを作ります。

それを仮にデスクトップなどにも移動しておいてください。

ちなみにaltを押しながら(デスクトップに)ドラッグでもショートカットを作成できます。個人的にはそちらの方が早いのでお勧めです。

次に、「Windowsキー」+Rで、「ファイル名を指定して実行」画面を出し、以下のコマンドを貼り付け実行します。

shell:startup

すると個人のスタートアップフォルダが開きます。スタートアップフォルダに先ほど作ったショートカットを入れておけば、PC起動時に実行してくれます。

Lara
Lara

これでインストール自体はOKです。お疲れ様でした!

設定の変更と反映方法

これから基本的な設定を変更していきます。……の前に、設定の変更と反映の方法を事前にご紹介しておきます。

設定ファイルの場所

Apacheの基本的な設定を変更するには、以下の設定ファイルを修正します。テキストエディタなどで開き、修正&保存することで設定を変更できます。

C:\Apache2457\conf\httpd.conf

設定ファイルの修正を誤ると、Apacheが起動しなくなります。

そのため編集前のデータは、複製してバックアップをとっておくと良いでしょう。

設定ファイルの変更について

拡張子.confのファイルになじみがない方がほとんどだと思います。

最低限知っておくと良いと思うのは、以下です。

  • #がコメントアウトを意味する
  • 必要に応じて元の表記を残しておく

例えば、以下のコード例では、1~2行目をコメントアウト(無効)にし、新たに3~4行目で定義し直しています。

#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "D:/www"
<Directory "D:/www">

わざわざ1~2行目を残さなくても良いですが、こうしておけば後から見て「ああ、ここは自分で設定を変えたんだな」ということがわかります。

もちろん、1~2行目は消してもかまいません。ご自分に都合の良いように編集してください。

設定の反映を確認する

設定ファイル: httpd.confは、修正・保存するだけでは即座に反映されません。

Apacheを再起動させた時に修正が適用されます。httpd.confを修正した後は、ApacheMonitorからApacheを再起動させることを忘れないようにしてください。

もちろん、まだスタートしていなければ、StartでもOKです。

もしhttpd.confに文法エラーなどがあると、この時点でエラーが発生してApacheが起動しません。その場合は、テキストエディタで「戻る」を連打して修正前に戻して再確認するか、最悪バックアップから復元すればOKです。

一度にまとめて修正してからApache再起動の場合、エラー時にはどこが原因なのか分かりづらいです。なれないうちは面倒ですが、1箇所変更したら保存→Apache再起動をお勧めします。

最低限の設定をする

ここからは誰もが行う必要はありません。あなたの環境・必要に応じて設定を変更してください。

先ほども書いた通り、1度にまとめて修正せず、1つ終わったらその都度動作確認してくださいね。

公開ディレクトリの変更

現状では、C:\Apache2457\htdocsが公開ディレクトリとなっていると思われます(少なくとも私のバージョンではそうです)。

この場合、以下の様な対応になります。

C:\Apache2457\htdocs\index.htmlhttp://localhost/index.html

それでも良いのでしたらそのままでもOKです。私はイヤなので、公開ディレクトリをD:/wwwに変えたいと思います。

その場合設定ファイルの、以下の場所を修正します。私の環境では251行目からでした。

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

私は最初の2行をいつでも元に戻せるようにコピーし、#でコメントアウトしてから、直後に貼り付けて編集しています。

#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "D:/www"
<Directory "D:/www">
Lara
Lara

さっき説明した内容ですね

公開ディレクトリの.htaccessの有効化

現在は.htaccessが使えないので、有効にしておきます。設定箇所は、先ほどの近く。ちょっとだけ下です。

#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "D:/www"
<Directory "D:/www">
#~中略~
    #AllowOverride None
#~中略~
</Directory>

#AllowOverride None部分を以下の様に変更します。

#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "D:/www"
<Directory "D:/www">
#~中略~
    #AllowOverride None
    AllowOverride All
#~中略~
</Directory>

こちらも元々の表記を残していますが、直接編集してもかまいません。

ディレクトリインデックスの修正

http://localhost/等と、ファイル名を省略された際に呼び出されるファイルは、デフォルトでは、index.htmlとなっていると思います。

これではPHPの開発に不便なので私は変更します。

以下の箇所を変更します。私の環境では288行目にありました。

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

先ほどの通り、index.htmlのみが登録されていますので、これに追記します。

私は、以下を追加したいと思います。

  • index.htm
  • index.php

この場合、以下の様に修正します。半角スペースで区切って記載するだけです。

<IfModule dir_module>
    DirectoryIndex index.htm index.php index.html
</IfModule>

左から順番に探してくれるので、自分がよく使う順番で指定するのがよいでしょう。私はphpを拡張子.htmで動かすことも多いので一番左にしました。

必要なモジュールのロード

Apacheの一部の機能はモジュールとして分割されており、各自必要なものをロードして使う仕組みです。

インストール時は最低限のロードになっているので、必要なものをロードしておきましょう。

これはもちろん人によりますが、以下はWeb開発にマストに近いものと感じています。

  • mod_rewrite(URLの書き換え)
  • mod_access_compat(Apache2.2系までの記述を許容)

例えば前者はWordPressなどを動かす際にも使われていますね。

後者も、まだまだ古い書き方のサイトは多くあるからです(Deny from all等の制限)。

設定ファイルから、以下の箇所をそれぞれ探し出します。私の環境では、mod_access_compatは74行目mod_rewirteは162行目にありました。

#LoadModule access_compat_module modules/mod_access_compat.so
~中略~
#LoadModule rewrite_module modules/mod_rewrite.so

該当行を、以下の様に先頭の#を削除して保存します。

LoadModule access_compat_module modules/mod_access_compat.so
~中略~
LoadModule rewrite_module modules/mod_rewrite.so

#を付けるとコメントアウト(=ロードされない)。外すと有効(=ロードされる)を意味します。

ここではコピーをしないで値を直接変更しました。この辺はあなたの自由にやってみてください。

まとめ

これでApacheを使い、静的なコンテンツを動作させることができるようになりました。

また、localhost以外のURLでアクセスしたい場合は、バーチャルホストの設定も必要ですので、ご希望の方はApache2.4にバーチャルホストを追加するのページもご覧ください。

WordPressなどの動的コンテンツを動作させるには、MySQLのインストールや、PHPのインストールも必要です。

それらのページも今後作っていきます。

コメント

タイトルとURLをコピーしました