セミアマ・エンジニアによる技術的なあれこれを備忘録的に残すブログ

XAMPPを使わず、Windows10にApache&PHP環境を構築する

couple

WindowsならXAMPP、MacならMAMPを使うのが楽だし、一般的だし、それで十分なのかもしれないけど、勉強がてら諸々を個々に入れて構築してみました。

なお、今回の構築で使うバージョンは以下の通りです。

  • Windows10
  • Apache 2.4.16 Win64
  • PHP 5.6 (5.6.13)

今回作りたい環境

もちろん、Windows10環境にApacheとPHPインストール、なのだけど、Cドライブをなるべく圧迫したくないという筆者の想いもあるので、実体をDドライブにぶち込んで、シンボリックリンクを張ります。

というわけで、以下のような感じ。

apachePhp

それぞれのシンボリックリンクが指す先はこんな感じ。(ディレクトリ名そのままw)

apachePhp2

PHP5.6

まずはPHPのインストールから行います。(Apacheのhttpd.confにPHP関連の修正が入るので。)

PHPのダウンロード

PHP For Windows(http://windows.php.net/download/)からダウンロードします。この時点での最新はPHP 5.6 (5.6.13)でした。

php1

今回は64bit版なのですが、VC11 x64 Thread Safe (2015-Sep-04 02:29:45)というほうを使います。Non Thread Safeにしてしまうと、後々php5apache2_4.dllがないという問題に直面します(たぶん)。

デスクトップに落として、解凍します。

php2

上述の通り、実体はDドライブに移動させますので、"D:\Tools\php-5.6.13-Win32-VC11-x64"となります。この辺りはお好みだと思うので、"C:\php5"とかでも全然いいと思います。

php.iniの作成、編集

まず、フォルダの中にあるphp.ini-developmentphp.iniにリネームします。(念の為、オリジナルをバックアップコピーしておくといいでしょう)

修正箇所は以下の通りです。(後々MySQLを使うことを想定して。)

Before

;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;date.timezone =
; extension_dir = "ext"

After

extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
date.timezone =  "Asia/Tokyo"
extension_dir = "C:/Users/xxxxxxx/Development/env/php/ext"

環境変数の追加

どこからでもphp.exeを実行できるように(一応)しておきます。

コントロールパネル > すべてのコントロールパネル項目 > システム > システムの詳細設定

php3

詳細設定 > 環境変数

php4 php5

"システム環境変数"の中にある"Path"の最後尾に、;C:\Users\xxxxxxx\Development\env\phpと追記します。

もし、コマンドプロンプトを開いていたら一旦再起動して、"php -v"と打ち、以下のようにPHPのバージョンが確認できればOKです。

php6

Apache2.4

続いて、Apacheのインストールを行います。

Apacheのダウンロード

Apache Lounge(http://www.apachelounge.com/download/)からダウンロードします。今回は64bit版を使いますので上のリンクからダウンロードします。

apache1

とりあえずデスクトップに落として、解凍します。

apache2

PHPと同じく、今回は実体をDドライブに移動させますので、"D:\Tools\httpd-2.4.16-win64-VC14\Apache24"となります。この辺りはお好みだと思うので、"C:\Apache24"とかでも全然いいと思います。

httpd.confの編集

諸々の設定を行うため、httpd.confを書き換えます。

追加

LoadModule php5_module "C:/Users/xxxxxxx/Development/env/php/php5apache2_4.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
PHPIniDir "C:/Users/xxxxxxx/Development/env/php"

修正

#ServerRoot "c:/Apache24"
ServerRoot "c:/Users/xxxxxxx/Development/env/apache"
#ServerAdmin admin@example.com
ServerAdmin xxxxxx@xxxxxxx.com
#ServerName www.example.com:80
ServerName localhost:80
#DocumentRoot "c:/Apache24/htdocs"
DocumentRoot "C:/Users/xxxxxxx/Development/env/apache/htdocs"
#<Directory "c:/Apache24/htdocs">
<Directory "C:/Users/xxxxxxx/Development/env/apache/htdocs">

Apacheの起動

起動する前にhttpd.confが正しく書かれているかをテストしてみます。

C:\Users\xxxxxxx\Development\env\apache\bin>httpd -t
Syntax OK

OKなので、このままコマンドで起動してもいいのですが、サービスに登録して起動することにします。

C:\Users\xxxxxxx\Development\env\apache\bin>httpd -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

コントロールパネル > すべてのコントロールパネル項目 > 管理ツール > サービス

Apache2.4を右クリックして"開始"とします。

apache3

基本は、httpd.confに問題がなければ正しく起動するかと思います。が、Windows10では、なのかはわかりませんが、「"VCRUNTIME140.dll"がない」ということでエラーになることがあるようです。(参考

その際は、上記の参考ページにもある通り、「Visual C++ 2015 ランタイムのインストールが必要」なので、インストールすれば解決できます。

ブラウザで確認

Apacheが正しく動作しているかを確認します。

http://localhost/

apache4

次にPHPの動作を確認するため、htdocsの下にPHPファイル(info.php)を作成します。

<?php
phpinfo();
?>

http://localhost/info.php

php7


これで、"XAMPPを使わず、Windows10にApache&PHP環境を構築する"は完了となりますが、XAMPPにはMySQLが含まれているので、それも別途インストールしておくといいかなと思います。

超日記

チャットモンチーと機械仕掛けの秘密基地ツアー2017

最新記事

タグ

Ajax Android Ant Apache API Bower CSS English GlassFish Homebrew HTML iOS iPhone Java JavaScript jQuery Linux Mac Maven MySQL NetBeans node.js nodebrew PHP Report Ruby SNS Spring Swift Tomcat Twitter UI/UX Windows WordPress