Windows7でApacheインストールと利用する際に注意すべきこと

今回はWindows7でのApache2.2のインストールと発生するエラーについて。私も散々時間を取られた覚えがあるので、メモを兼ねて。

環境
Windows7 64bit Ultimate
(Macでの仮想PC VMware Fusion 3使用)

基本的に32bitと64bitは同じ様に扱ってよい。
Apache2.2 x64版を解凍後、下の様にインストールしてhttpd.confを書き換えるのも悪く無い。ただ折角msiファイルがあるのだから簡単な方を使う事にする。


Apache2.2インストール方法
1.こちらのサイトから安定版の httpd-2.2.17-win32-x86-openssl-0.9.8o.msiを貰って来る。
http://httpd.apache.org/ 【from a mirror】→【2.2.17】と辿れば良い


2.インストーラを起動後、同意をすると【Server Information】の画面が表示される。

  • Network Domain

localhost

  • Server Name

localhost

  • Administrator's Email Address

各自で

  • Install Apache HTTP Server 2.2 programs and shortcuts for:

基本上のPort 80を利用で良い

Windows7の場合、ライセンス上の問題もあるのでローカル内で使うだけになる。よってNetwork Domain、Server Nameは何も考えずに【localhost】としておく。


3.Setup Typeはそのまま【Typical】でNext>


4.Destination Folderは標準のProgram Filesにしておくと後々問題が発生する。私はCドライブ直下にProgramファイルを作成し、そこにインストールしている。Dドライブを用意しているならそちらを使うのが好ましいかと思う。訳は最後に。
私の環境では「C:\VMware Program\Apache Software Foundation\Apache2.2\」とした。


5.Apache2.2が起動してStartになっているのを確認する。


6.Apache2.2を起動したPCでブラウザを立ち上げ、http://localhost/にアクセスする。8080ポートを使用している場合はlocalhost:8080と変えておく。It works!と表示されれば大丈夫。


ローカル内の別のPCからアクセスする場合
まずApache2.2を起動しているPCのローカルIPを知らなければなりません。コマンドプロンプトを開き、【ipconfig】と入力しましょう。するとこのPCのローカルIPは192.168.199.128だと分かりましたね。
それでは別のPCから「http://192.168.199.128/」にアクセスしてみます。ほとんどの方がページを開けないかと思う。開けた方は既に次の事を終えているか、ファイアウォールを無効化にしてるので有効に戻しておきましょう。

ファイアウォールのポート80を有効化にします。
1.コントロールパネルを開き、【システムとセキュリティ】→【Windowsファイアウォール】と開きます。


2.【Windowsファイアウォール】の左メニューの【詳細設定】を開くと、【セキュリティが強化されたWindowsファイアウォール】が表示されます。【受信の規則】を選択し、【新しい規則】をクリックします。


3.【ポート】を選択し、次へ。TCPの方にチェックを入れ、特定のローカルポートに【80】と入力し次へ。接続を許可するにチェックを入れ次へ。分からなければ3つにチェックを入れ次へ。名前を適当に【Apache2.2 TCP】とし完了。


4.受信の規則で作成した【Apache2.2 TCP】が有効になっていればOK。別のPCのブラウザからアクセスしIt works!と表示されるようになりました。


Windows7Apacheを利用する際注意すべきこと
windows7(Vistaもかな?)でApacheのインストール先に初期状態から入力されているProgram Filesなのですが、私がここにインストールしなかった理由があります。

それはProgram Filesの中のファイルは変更しても元に戻る。

セキュリティの問題でProgram Filesのファイルは変更出来ない様になった事をご存知の方もいるかと思います。これによりApacheのconfファイルでルートディレクトリなどを変更後、上書き保存しても変更されないのです。対処方法としては別に用意した同名のファイルを置き換える方法なども考えられますが、面倒なのでProgram Filesには保存しないようにしています。Cドライブとは別にDドライブなどを用意している方はこちらにインストールする事を勧めます。知らなければ永遠と悩む事になるので...


上記を踏まえたうえでドキュメントルートを変更してみる

ドキュメントルートとは公開するファイルを保存するフォルダと考えれば良い。【http://localhost/】とアクセスした場合はドキュメントルートの【index.html】を表示していることになる。

今回の私の場合、初期状態では【C:/VMware Program/Apache Software Foundation/Apache2.2/htdocs】となっている。それを【C:/WWW】に変更することにする。


C:/VMware Program/Apache Software Foundation/Apache2.2/conf/httpd.conf
179行目(DocumentRoot "C:/WWW")206行目()と変更する。