Windowsでローカルサーバ構築&バーチャルホストを設定するまで(2017)

こんにちは!武藤です。

今月は、アルバイトさんやインターンシップで高校生が来てくれます!
受け入れ準備のために、数台のマシンにローカル開発環境の設定をしました。
今後、チームのメンバーが増えてもスムーズに環境を構築できるように、手順をまとめておきます!

PHPのインストールについては過去の記事で触れていますので、今回はWindows10にApacheを入れてバーチャルホストを設定するまでをご紹介します。

設定手順

  1. Apacheのダウンロード
  2. httpd.confの編集
  3. httpd-vhosts.confの編集
  4. Apacheのインストール
  5. Windows7をWindows10にアップグレードしてApacheが動作しなくなったときの対処方法

ディレクトリ構造

以下の想定で進めます。

C:/var
    ┗ /php
    ┗ /Apache24
    ┗ /setting
    ┗ /www(開発領域)
        ┗ /sample1.127.0.0.1.xip.io/(プロジェクト用ディレクトリ)
            ┗ /html(ドキュメントルート)

1.Apache2.4のダウンロード

使いたいPHPのバージョンとお使いのマシンにあうものを、Apache Lounge からダウンロードします。
今回のプロジェクトではPHP5.6を動作させたいので、V11のApache 2.4.20 Win64を選択します。

Apaheのダウンロード

ダウンロードしたファイルを解凍すると、「httpd-2.4.20-win64-VC11」というフォルダができます。
その中にある「Apache24」フォルダをC:varにコピーします。

Apahe24のフォルダのコピー

2.httpd.confの編集

Apacheはインストーラー付きではありませんので、先に設定ファイルを修正します。

C:varApache24confにあるhttpd.confを編集します。
編集する前に、httpd.confのバックアップをとっておきます。

C:を検索して、すべてのパスを自分の環境に合わせます。
37行目あたり

ServerRoot "c:/Apache24"
↓
ServerRoot "c:/var/Apache24"

243行目あたり

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
↓
DocumentRoot "c:/var/www"
<Directory "c:/var/www">

360行目あたり

ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
↓
ScriptAlias /cgi-bin/ "c:/var/Apache24/cgi-bin/"

367行目あたり

<Directory "c:/Apache24/cgi-bin">
↓
<Directory "c:/var/Apache24/cgi-bin">

URLの書き換えなどを行うために、最初のコメント「#」を削除します。
155行目あたり

#LoadModule rewrite_module modules/mod_rewrite.so
↓
LoadModule rewrite_module modules/mod_rewrite.so

バーチャルホストが使えるように、最初のコメント「#」を削除します。
175行目あたり

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
↓
LoadModule vhost_alias_module modules/mod_vhost_alias.so

219行目あたり

#ServerName www.example.com:80
↓
ServerName localhost:80

.htaccessが使えるようにします。
264行目あたり

AllowOverride None
↓
AllowOverride All

「/(スラッシュ)」止めのURLでアクセスされた場合に表示させるファイルを指定します。
先に書いたものが優先されます。
279行目あたり

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
↓
<IfModule dir_module>
    DirectoryIndex index.php index.cgi index.shtml index.htm index.html
</IfModule>

バーチャルホストの設定が使えるようにします。
493行目あたり

#Include conf/extra/httpd-vhosts.conf
↓
Include conf/extra/httpd-vhosts.conf

最終行の後に、PHPを動かすための次を追記します。

PHPIniDir "c:/var/php"
LoadModule php5_module c:/var/php/php5apache2_4.dll
AddType application/x-httpd-php .php

これで、httpd.confの編集は完了です。

3. httpd-vhosts.confの編集

C:varApache24confextraにあるhttpd-vhosts.confの編集します。
通常のバーチャルホスト設定を削除して次のように書き換えます。

参考:「VirtualDocumentRootとxip.ioでバーチャルホストの追加をお手軽に(vhostの追加とhostsファイルの更新はもういらない)

これで、httpd-vhosts.confの編集は完了です。

4. Apacheのインストール

次にApacheをコマンドプロンプトからインストールします。

コマンドプロンプトを管理者として実行

Windows10では、Cortanaにきいて、コマンドプロンプトを表示し、右クリック「管理者として実行」で起動します。

コマンドプロンプト初期画面

C:varApache24binhttpd.exe -k installと入力して「Enter」を押します。

コマンドプロンプトApacheインストール画面

「MSVCR110.dllがないため、プログラムが開始できません」と表示された場合、

エラーメッセージ

Visual Studio 2015 の Visual C++ 再頒布可能パッケージ のインストールをします。

Visual Studio 2015 の Visual C++ 再頒布可能パッケージのインストール

「このアプリの機能のいくつかがWindowsファイアウォールでブロックされています」というメッセージが出たら「アクセスを許可する」をクリックして続けます。

次のメッセージが出たら、Apacheのインストールは完了です。

コマンドプロンプトApacheインストールVisual Studio 2015 の Visual C++ 再頒布可能パッケージのインストール完了画面

管理者として実行したコマンドプロンプトは終了します。

早速、起動してみましょう。
再度、コマンドプロンプトを立ち上げ、Apacheを起動します。

cd C:varApache24bin
httpd

c:/var/wwwに作成したプロジェクト用ディレクトリ名のsample1.127.0.0.1.xip.ioをブラウザのアドレスバーに入力します。

Apache動作確認例

正しく表示されたら、Apacheのインストールとバーチャルホストの設定は成功です!
Windows10にアップグレードしたマシンの場合、落とし穴があるので、ご紹介します。

5. Windows7をWindows10にアップグレードしてApacheが動作しなくなったときの対処方法

原因は、Windows10にアップデートした際に、インターネット インフォメーション サービス(IIS)が勝手に有効化してしまうことです。 ローカル開発環境を構築する前でも後でも、共通で起こる事象なので、確認しておきましょう。

「Windows の機能の有効化または無効化」を開きます。

Windows の機能の有効化または無効化

これらのチェックを外し、無効化すれば、無事にApacheが動作します!

参考サイト:Windows10にアップグレードしたらApache起動しなくなったので対策に乗り出したっていう話