Apacheのインストール for Windows

このページでは、Webサーバソフトウェアの業界標準とも言える、Apache(アパッチ)をWindowsにインストールする説明をします。
まずはApacheをダウンロード
まずはApacheをゲットしてきましょう。オフィシャルサイトのダウンロードページからページをたどっていってもいいのですが、こちらは道が非常に分かりづらいです(私も最初はちんぷんかんぷんでした)。ダウンロードページはこちら(2010/03/10時点)にありますので、特に理由が無い限りはこちらからダウンロードするといいでしょう。
ダウンロードページにアクセスすると、なにやらたくさんのファイルがあります。たくさんありすぎて、慣れないとどれをダウンロードしたらいいかが非常にわかりにくいんですよね。
結論から言えば、現時点では下記のファイルを選んでおけばいいでしょう。
- httpd-2.2.15-win32-x86-no_ssl.msi
httpd-2.2.17-win32-x86-no_ssl.msi(11/02/07現在)
※2.2.17の部分はその時のバージョンにより異なります。
その他のファイルは……
上記ページには他にもいろいろなファイルがあります。例えば、SSLをローカルPCで使いたい方は、ファイル名の中にopen_sslとある方を選ぶといいでしょう。しかしSSLの設定は知識がいる&結構面倒(体験談!)なので、通常はSSL無し=no_sslの方を選んでおいた方が無難です。
このページでは、初稿時のバージョンであるapache_2.0.63-win32-x86-no_ssl.msiをダウンロードしてきました。ここでApache2.2系をダウンロードした方は、以後当ページ内のApache2.0という表記は全てApache2.2に読み替えてください。
ApacheをWindowsにインストール
さて、早速Windowsにインストールしていきましょう。ダウンロードしたファイルをダブルクリックしてください。
セキュリティの警告が出ると思いますが、問題ないので[実行]をクリックします。
利用規約が表示されています。読む人はあまり多くないとは思いますが、可能なら目を通しておいてください。利用規約を承諾する場合は、[I accept the terms the license agreement]をクリックして、[Next]をクリックします。
[最初にお読みください]、みたいなものです。読めればざっくり読んで[Next]をクリックします。
こんな画面が表示されます。ローカルで使うテストサーバーなので、下記のように入力すればいいでしょう。
今回は上記のように入力しました。下記の入力項目、
- Network Domain
- Server Name
- Administrator's Email Address
は、インターネットに公開するわけではないので、全て任意の文字列でもOKです。
注意点
上記画面の下の方に、
- for All Users, on Port 80, as a Service - Recommended.
- only for the Current User, on Port 8080, when started Manyally
という項目があると思います。(おそらく初期状態では上のfor All~にチェックがついているはずです)
これは、下記の事を意味しています。
- Windowsの全てのユーザー(アカウント)で、サービス(常駐プログラム-常に動いているプログラム)としてインストールする。
- 現在ログインしているユーザーのみでマニュアル(手作業)起動するようにインストールする。
どちらでも大丈夫ですが、今回はサービスとしてインストールする事にしました。これにより、Windowsを立ち上げると、自動的にApacheも起動されるようになります。
さて、[Next]で進みましょう。
インストールの方法を選べます。Typical=標準的なインストールか、Custome=あれこれ自分でカスタマイズするインストールが選べますが、Typical(つまり初期状態のまま)を選んでおけばいいでしょう。
次にインストールするフォルダを選びますが、特に理由がない限り、そのままでかまいません。
インストールしてよければ[Install]をクリックします。
しばらく勝手に進みますが、落ち着いて待ちましょう。
この画面が出たらおしまいです。[Finish]ボタンをクリックしてください。
サービスとしてインストールしなかった場合
先ほどサービスとしてインストールしなかった方は、現在Apacheが起動していません。Apacheをインストールしたフォルダの中にあるApache.exeファイルをダブルクリックしてみてください。バージョンによって違いますが、Apache/xxxx(Wind32) running...のような文字が出てきて、起動されたはずです。
さてこれでApacheがインストールされ、起動されていると思います。それでは確認するために、ブラウザのアドレスバー(ロケーションバー)に、[http://localhost/]と入力してEnterを押してみてください。下記のような画面が表示されればOKです。下記は、エクスプローラからHTMLファイルをダブルクリックして表示されたものとは違い、サーバが返したファイルなんですよ。
これでApacheのインストールはOKです。もし標準でインストールされている場合は、[C:\Program Files\Apache Software Foundation\Apache2\htdocs]の中のindex.htmlというファイルが、[http://localhost/index.htm]と対応しています。
ここまで読まれた方へ
とりあえずApacheのインストールは完了です。さて、後で別ページに書こうと思いましたが、大事なことなのでとりあえずここに記載しておきます。それはセキュリティの設定です。
追記:
より詳しく解説したページ外部からのアクセスを制限するを書きました。当ページでもセキュリティの設定はできますが、お時間のある方は上記ページをご覧ください。
現在の設定は、適切にルータを通してネットに接続し、PCにファイアウォールが設置されている状態なら、おそらくは外部からはアクセスできない状態になっていると思います。ただし、まれに不適切な環境になっている場合は、外部からアクセスされる可能性も0ではありません。外部からは絶対に見られないように設定する方法をご案内しますので、念のため、これをやっておくことを強くお勧めします。
方法
[C:\Program Files\Apache Software Foundation\Apache2\conf]にいくと[httpd.conf]というファイルがありますので、そのファイルをテキストエディタで開いてください。テキストエディタは、行番号が表示される&間違えたときに戻せるように[Ctrl+Z]による取り消しが複数回できるものにしてください。(Dreamweaverでもいいですよ)
120行目くらいに、下記のように表記されている部分があると思います。
これを、以下のように変更します。赤い文字が追加する部分です。
(かならず半角で入力してくださいね)
Listen 127.0.0.1:80
そうしたら保存してください。(まだテキストエディタのファイルを閉じないでください。)
現在はまだ、この変更がサーバに反映されていません。サーバに設定を反映させるには、サーバの再起動が必要です。
画面右下を見てみてください。下記のようなアイコンが出ていると思います。

上記アイコンをクリックすると、下記のように出ますので(ここだけApach2.2になってますが気にしないでください)、[Stop]をクリックしてください。

これで5~10秒するとサーバが停止します。
その後、同じアイコンの、先ほど[Stop]の上にあった[Start]をクリックしてください。 そうしたら再度http://localhost/にアクセスし、先ほどと同じく正常に表示されたらOKです。(問題が無ければここでテキストエディタのファイルを閉じてOKです)
これでこのサーバは、そのPCからしかアクセスできないようになっています。(LAN内の別PCからもアクセスしたい場合などは、外部からのアクセスを制限するをご確認ください。)
※Restartなら一回で済むのですが、どうしたことか、これだとうまく反映されないことがあるので確実な方を説明しました。
もしApacheが起動しなかった時は
[Start]をクリックしたとき
The requested operation has failed!
と表示された場合は、先ほどテキストエディタで編集した内容にエラーがあった事を意味します。おそらくタイプミスなどがあると思いますので、先ほどのエディタにもどり、[Ctrl+Z]を連続で行い編集前に戻し、改めて設定ファイルを修正してみてください。
※httpd.confの初期状態が分からなくなってしまった場合は、バックアップ用のhttpd.confがあれば、置きかえて復元することができます。独自にバックアップを作成していない場合は、Apacheが提供しているデフォルトのhttpd.confがあれば、それを使います。バージョンによって若干異なりますが、以下の場所をさがしてみてください。
- Apacheインストールディレクトリ/conf/httpd.default.conf
- Apacheインストールディレクトリ/conf/original/httpd.conf
もし上記ファイルがあれば、現在使われているhttpd.confを削除し、上記ファイルを複製&httpd.confにリネームしてconfディレクトリに配置すれば、初期状態に戻せます。
httpd.confの構文エラー(文法エラー)をチェックする
httpd.confに構文エラーがあっても、慣れない内は目視で発見するのは非常に困難です。そんな時は、構文チェックをかけてみましょう。
まずは、コマンドプロンプトを立ち上げます。(全てのプログラム→アクセサリ内にあります。)
次にcd コマンドで、Apacheインストールディレクトリ内の、binフォルダ内に移動します。
以下は、C:\Program Files\Apache Software Foundation\Apache2.2にApacheがインストールされているときの記述例です。
その後、コマンドプロンプトに下記のように入力します
すると結果が出ます。以下は、DocumentRootの指定例を間違えた例です。英語になりますが、187行目に、Syntax error(構文エラー)があることが分かります。少なくともエラー行さえわかれば、エラーの内容がよくわからなくとも解決できることが多くあると思います。
ちなみに、構文エラーがない場合は、下記のようにSyntax OKという文字が表示されます。ただし、Syntax OKであっても、100%httpd.confに問題ないという訳ではありませんのでお気をつけください。
コメント
- ゆみママ さん 2010年10月21日00時37分
こんばんは。 1つのサイトが完成したので、Apacheで確認しているところです。 そのサイトの中に「お問い合わせ」というのを作っていて、そこでCGIを使っています。 そのCGIは大変有名なフリーのCGI素材です。 ローカル(Apache)でCGIを実行するには「Active Perl」が必要なのだそうですが、そこのサイトを見ると英語で書かれていて、どこをクリックすればダウンロードできるのかわかりません。 「Free Downloads」というところでしょうか? こんな初歩的な質問でお恥ずかしい限りですが、ご回答いただけましたらうれしく思います。 よろしくお願いいたします。
- 馬場誠 さん 2010年10月22日03時08分
ゆみママさん、こんばんは。
> 「Free Downloads」というところでしょうか?
ActiveState内のActivePerlのページですよね。 無料(自由)ダウンロードなので、そこで合っていると思います。 32bitのWindowsをお使いであれば、(x86)と記載のある方を、64bitのWindowsをお使いであれば、(64-bit, x64)の方をダウンロードしてください。 ただし、ローカルでCGIを動かすのは、ちょっとコツがいります。 簡単には解説できませんが、とりあえず C:\usr\local\ にActivePerlをインストールされるのがいいでしょう。 追伸: ゆみママさんもどんどんステップアップされてきているので、そろそろ重要なことをお伝えしておきます。 それは、学習中に何か問題が発生した際は「どうやったらそれを解決できるか」をじっくり考える癖をつけてみてください、ということです。 Webデザイナーの学習を進めるうえで、問題はとにかく多く発生します。その答えを人から聞くのも時間を節約できるので悪いことではないのですが、同時にご自身の問題解決能力(と検索能力)を伸ばす絶好のチャンスを失ってしまうという側面もあります。 問題解決能力がつくと、あらゆることに対して解決が容易になるので、長い目で見ればお得です。特にフリーランスを目指す方には必須のスキルと言ってもいいかもしれません。 例えば今回の件であれば、翻訳サイトを使ってみる。Googleで日本語だけを対象にして「ActivePerl Free Downloads」で検索してみる。とりあえずクリックして(笑)どんなことになるのかやってみる。という感じで、「次にどうしてみよう」、ということが思いつきやすくなります。 ゆみママさんがだんだんとステップを上がってきたように感じたのでこのようなお話しをさせていただきましたが、その真意は、質問をしてはいけないという訳では決してありません(これからももちろん歓迎です☆)。 単純に、問題解決能力の重要さを認識していただければな、という前向きな意味でのアドバイスですので、プラスにお受け取りいただければ幸いです。- クルット さん 2011年02月07日15時18分
サイトの手順でテストサーバーをダウンロードしようとしたのですが ●httpd-2.2.15-win32-x86-no_ssl.msiが無くなっていたので ●httpd-2.2.17-win32-x86-no_ssl.msiをダウンロードするのでも大丈夫でしょうか? 違いってあるのでしょうか?
- 馬場誠 さん 2011年02月07日21時40分
クルット さん、こんばんは。 該当部分は、Apacheのバージョンを指しています。 httpd-2.2.17~の方が新しいバージョンですので、こちらで問題ありません。 (記事も修正しておきました) ちなみに、2.2.17という数字の、どこが変わるかによって違いがあり、右にいく程細微なアップデート(マイナーアップデート)となります。 今回のケースはそれにあたりますね。
- クルット さん 2011年02月16日14時47分
教えてください。 Apacheのインストールには成功したのですが、その日にhttpd.confをセキュリティ設定に書き直して終了しました。 後日StartをクリックするとThe requested operation has failedのエラーが出るようになってapacheが起動できなくなりました。なので ※httpd.confの初期状態が分からなくなってしまった場合は、httpd.confを削除し、同フォルダ内の[httpd.default.conf]を複製し、httpd.confにリネームすれば初期値に戻ります。 この操作を行ったつもりだったのですが、どうやらhttpd.confのデータをばっさり削除してしまったみたいなのです。 もう一度インストールし直した方がいいのでしょうか?その場合アンインストールしてからなのでしょうか?
- 馬場誠 さん 2011年02月16日19時55分
念のため調べてみましたが、httpd.default.confはApacheのバージョンによっては存在しない場合もあるようです。 他には、(httpd.confのディレクトリから見て)original/httpd.confがもしあれば、それをコピーして使うことで復旧できるかもしれません。 もしそれも無ければ、エラー箇所を探して修正するか、再インストールするかのどちらかです。 慣れない内はエラー箇所を探すのもなかなか難しいですので、再インストールした方が簡単かもしれません。 その場合、念のため既存のApacheをアンインストールしてからの方がいいと思います。
- クルット さん 2011年02月16日21時31分
ありがとうございました。 original/httpd.confがもしあれば、それをコピーして使うことで復旧できるかもしれません。 このファイルがあったのでコピーしたら正常に起動しました。
- 馬場誠 さん 2011年02月17日22時36分
起動できて良かったです。 本文内ではoriginal/httpd.confのことを記載していなかったので、この機会に本文に補足させていただきました。
- licky さん 2011年03月03日12時39分
はじめまして 全くITオンチですが、データーベースのサイトで刺激を受けました そこで、PHPとApacheを学ぼうと一念発起! 貴サイトを検索 「2.2.17」ダウンロードでたどり着けました これをご縁に今後ご指導下さい。よろしくお願いします
- 馬場誠 さん 2011年03月03日19時58分
lickyさん、はじめまして Apacheのインストールは無事できましたでしょうか(^-^) 当サイトはWebデザイナー志望者向けのサイトなのであまり技術的なことには触れていませんが、少しでもお役に立てる部分があれば幸いです。
- licky さん 2011年03月04日00時08分
無事?にインストールまで完了でしょうか ご指導どおり、ブラウザにて確認、[http://localhost/]と入力してEnterを押しました。ところ 「It works!」と出ました。これでOKでしょうか?
- 馬場誠 さん 2011年03月05日10時13分
はい、OKです! その画面は、現バージョンのApacheのインストールが正常に完了した際に表示される画面です。 当ページのスクリーンショットは初稿時のApache2.0系の画面なので、現バージョンと異なるところがあったようです。 取り急ぎインストール完了画面のスクリーンショット部分に補足を入れさせていただきました。
- miya さん 2011年10月20日14時06分
初めまして。 初心者ながら知り合いからサイト制作のお話をもらい サイトを作っている者です。 dreamweaverCS5.5を使用して制作を行っている際 テストサーバーに関して知りたいと思い、 こちらのサイトを拝見いたしまして Apacheのhttpd-2.2.20-win32-x86-no_sslを 手順通りにインストールを行いましたが loclhostに接続してもエラーが起こり Apacheのソフトを起動してスタートボタンを押しても 「The requested operation has failed!」 と表示が出ます。 再起動を行っても出来ません 原因や対処法など分りましたらご連絡のほど宜しくお願いします。
- 馬場誠 さん 2011年10月20日20時06分
miya さん、はじめまして。 The requested operation has failed! というのは、何らかのエラーが発生しており、Apacheが起動できないということを表します。 まず思いつく点としては、セキュリティの設定などでhttpd.confを修正されていますでしょうか。もしこのファイルを少しでも変更されている場合は、記述ミスが考えられます(これが起動しない時に一番多いケースだと思います)。 その場合は、本コンテンツ内の「もしApacheが起動しなかった時は」を参照いただき、httpd.confを初期状態に戻してみてください。 また、Skype等の80番ポートを利用するソフトをインストール&起動されていないかもご確認ください。 Apacheは80番ポートを利用するのですが、Skypeなどのソフトをインストールしていると、80番ポートがすでに使われており、起動できないことがあります。 80番ポートが使われているかを調べるには、過去の私のコメントを参考になさってみてください。 他に、インストール直後(Apacheインストールの最後の「Finish」ボタンを押した直後)から何か行ったことがあれば、できるだけ詳しくお書きいただけるとまた違ったお答えができるかもしれません。
- 田中 さん 2011年10月24日18時27分
こんばんは。 色々と解決方法を調べていたらこのサイトにたどり着きました。 PHPやapacheの設定がゴチャゴチャになってしまい、 一度アンインストールしようと思ってます。 しかし、アンインストールの方法がわかりません。 初歩的な質問ですが教えていただけないでしょうか?
- 馬場誠 さん 2011年10月24日19時33分
こんばんは。 Windowsだと仮定すると、Apacheは、コントロールパネルから削除します。 どのWindowsをお使いかによって名称は異なりますが、コントロールパネル内に「プログラムの追加と削除」もしくは「プログラムのアンインストール」のような項目があると思いますので、そこから削除できます(その後、多少ファイルが残る場合があるので、手作業でApacheフォルダを削除すると確実です)。 PHPは、Zipファイルをダウンロードしてインストールした場合は、全てのファイル(フォルダ)を削除するだけでOKです。 インストーラを利用してインストールした場合は経験がありませんが、コントロールパネルから削除できれば、そちらを優先した方がいいでしょう。
- 田中 さん 2011年10月25日00時30分
ありがとうございます。 またやり直せそうです。 今はPHP超入門‐プログラミングの第一歩‐という 星野香保子さんの著書の中のCD-ROM(Apache 2.2.14, PHP 5.3.1, Peggy Pad 4.62収録)を使って勉強しているのですが、Xamppなどはインストールしなくても大丈夫なんでしょうか?
- 馬場誠 さん 2011年10月25日09時34分
個別にApacheとPHPをインストールする場合は、別途XAMPPをインストールしなくても大丈夫です(両方インストールしてしまうと、競合してしまうことがありますのでお気をつけください)。 ただし一旦ApacheとPHPをアンインストールされるとのこと、XAMPPはまとめてインストールできる簡便さがあるので、XAMPPを選択するという手もあると思います。 どちらがいいというわけではありませんので、お好きな方でいいと思います。
- 田中 さん 2011年10月31日16時35分
度々質問して申し訳ないのですが 本を見ながらやっていて、httpd.confの設定(PHPモジュールの追加・PHPの拡張子と設定ファイルの位置を追加・ドキュメントルートの変更)を行っているのですが、その後Apacheを起動させるとThe requested operation has failed と表示されてしまいます。 何回やり直しても表示されるので、httpd.confの編集内容以外の問題なのでしょうか?
- 馬場誠 さん 2011年10月31日20時49分
httpd.confの文法エラーがある可能性も考えられますので、いただいた情報だけでは明言できないと思います。 こういった作業は、問題の切り分けを意識することが大事です。 例えば、Apacheインストール直後の、httpd.confが未変更の状態で起動しなければ、httpd.conf以外に問題があることが確実に切り分けられます。 (逆に言えば、一度でもhttpd.confをいじってしまうと、どこに問題があるのかが推測できなくなってしまいます) という訳で、初期状態のhttpd.confをバックアップから復元するか、もしくは再インストールして、起動テストをするのが一番確実です。 もしくは、今日本文内に追加したのですが、httpd.confの構文エラーがあるかどうかのチェックを試してみるのもいいと思います。 余談ですが、慣れない内はhttpd.confの修正はスモールステップに分けることをお勧めします。 一度に多くの設定を行ってからApacheの起動を確認する場合、エラー発生時にはどこに問題があるのかがわからなくなってしまいますよね。 設定作業をスモールステップにわけて、都度起動のテストを行うと、そういったことが起こりにくくなります。 例えエラーが発生しても、直前の修正に問題があることがわかるので、問題が特定しやすいですよ。
- 田中 さん 2011年11月01日01時51分
ありがとうございます。 スモールステップ、勉強になります。 バックアップは取ってあり何回もやり直しているのですがThe requested operation has failedが出てしまいます。。。 start,stopが可能なので、httpd.confを変更する前はApacheは正常に動いていると思われます。 コマンドプロンプトで行った結果、指定されたパスが見つかりませんと出ました。 使い方が間違っているのでしょうか? 本当に無知ですいません。 ただ、プログラミングは絶対に習得したいです!
- 馬場誠 さん 2011年11月01日20時10分
httpd.confを変更する前はstart, stopができたということは、httpd.confの問題でしょうね。 一旦最初に戻って、スモールステップでApacheの起動を確認していけば、どこで起動しなくなるかは特定できると思います。 コマンドプロンプトに関しては、そのようなパス(フォルダ)は存在しないというエラーメッセージです。つまり、パス指定が間違っている可能性があります。 これもスモールステップに分けてコマンドを実行するとわかりやすいです。 例えば、Apachのインストールディレクトリが C:\Program Files\Apache Software Foundation\Apache2.2\ であれば、 cd C:\Program Files cd Apache Software Foundation cd Apache2.2 cd bin cd httpd -t と細かく分けてコマンドを入力していく方法があります。 (Apacheインストールディレクトリやフォルダ名は環境により異なりますので、適宜読みかえてください) こうすれば、タイプミスをしても最初から入力しなおす必要がありませんし、エラー発生時も、どの段階でエラーが発生しているかをつかみやすいです。
- へそ さん 2012年01月29日02時37分
こんばんは。夜分遅くに失礼致します。 最近Apacheをインストールしたのですが、起動しません。 最初はhttpd.confをいじっていたのでそれが原因かなと思い、コントロールパネルからアンインストールし、再度インストールしてhttpd.confを全くいじらない状況で起動させようとしたのですが、ダメでした。 毎回startをクリックするとThe requested operation has failed!と表示されます。 スカイプなどのような80番ポートを使うようなソフトは起動してませんし、ここのサイトに乗っていた80番ポートを使用しているかどうかの方法で調べてみても、使っていませんでした。 なぜApacheが起動しないのか、全くわかりません。 お手数ですが、ご回答お願いします。
- 馬場誠 さん 2012年01月29日16時00分
へそ さん、こんにちは。 Apacheの再インストール時、旧Apacheのhttpd.confが残っていると、httpd.confは上書き(初期化)されないようです。 もしコントロールパネルからアンインストール後、そのまま再インストールされたのでしたら、もう一度アンインストール&Apacheフォルダを削除してからインストールすれば改善できるかもしれません(なお、Apacheフォルダ内の自作データ等の必要ファイルは適宜バックアップをおとりください)。 それでも起動しない場合は、Windowsのイベントログを見て判断するしかないと思います。イベントログは、XAMPPのインストールページのコメント欄で書いていますので参考になさってください。


