WindowsならXAMPP、MacならMAMPを使うのが楽だし、一般的だし、それで十分なのかもしれないけど、勉強がてら諸々を個々に入れて構築してみました。
[toc]
なお、今回の構築で使うバージョンは以下の通りです。
- Windows10
- Apache 2.4.16 Win64
- PHP 5.6 (5.6.13)
今回作りたい環境
もちろん、Windows10環境にApacheとPHPインストール、なのだけど、Cドライブをなるべく圧迫したくないという筆者の想いもあるので、実体をDドライブにぶち込んで、シンボリックリンクを張ります。
というわけで、以下のような感じ。
それぞれのシンボリックリンクが指す先はこんな感じ。(ディレクトリ名そのままw)
PHP5.6
まずはPHPのインストールから行います。(Apacheのhttpd.confにPHP関連の修正が入るので。)
PHPのダウンロード
PHP For Windows(http://windows.php.net/download/)からダウンロードします。この時点での最新はPHP 5.6 (5.6.13)でした。
今回は64bit版なのですが、VC11 x64 Thread Safe (2015-Sep-04 02:29:45)というほうを使います。Non Thread Safeにしてしまうと、後々php5apache2_4.dllがないという問題に直面します(たぶん)。
デスクトップに落として、解凍します。
上述の通り、実体はDドライブに移動させますので、"D:\Tools\php-5.6.13-Win32-VC11-x64"となります。この辺りはお好みだと思うので、"C:\php5"とかでも全然いいと思います。
php.iniの作成、編集
まず、フォルダの中にあるphp.ini-developmentをphp.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を実行できるように(一応)しておきます。
コントロールパネル > すべてのコントロールパネル項目 > システム > システムの詳細設定
詳細設定 > 環境変数
"システム環境変数"の中にある"Path"の最後尾に、;C:\Users\xxxxxxx\Development\env\phpと追記します。
もし、コマンドプロンプトを開いていたら一旦再起動して、"php -v"と打ち、以下のようにPHPのバージョンが確認できればOKです。
Apache2.4
続いて、Apacheのインストールを行います。
Apacheのダウンロード
Apache Lounge(http://www.apachelounge.com/download/)からダウンロードします。今回は64bit版を使いますので上のリンクからダウンロードします。
とりあえずデスクトップに落として、解凍します。
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 kt-kiyoshi.com: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を右クリックして"開始"とします。
基本は、httpd.confに問題がなければ正しく起動するかと思います。が、Windows10では、なのかはわかりませんが、「"VCRUNTIME140.dll"がない」ということでエラーになることがあるようです。(参考)
その際は、上記の参考ページにもある通り、「Visual C++ 2015 ランタイムのインストールが必要」なので、インストールすれば解決できます。
ブラウザで確認
Apacheが正しく動作しているかを確認します。
https://kt-kiyoshi.com/
次にPHPの動作を確認するため、htdocsの下にPHPファイル(info.php)を作成します。
[php]
<?php
phpinfo();
?>
[/php]
https://kt-kiyoshi.com/info.php
これで、"XAMPPを使わず、Windows10にApache&PHP環境を構築する"は完了となりますが、XAMPPにはMySQLが含まれているので、それも別途インストールしておくといいかなと思います。