Windows7 64bitにApache2.4.3とPHP5.4.10をインストール
Windows7 64ビット版にApache2.4.3 32ビット版とPHP5.4.10 32ビット版をインストールしました。その手順を備忘録として記録します。ここには記載していませんが、MySQLのインストールは別途行っていました。
次のような順番で進めます。Apacheのダウンロードと設定→PHPのダウンロードと設定→Apacheの起動。
修正コードの中の201x/x/xという箇所は、修正日を入れておくと後で確認しやすいと思います。
近況(2014/3/11追記)
現在は、Windows8.1にて、Hyper-VにCent OSをインストールし、そこでApacheを動作させています。目立った不具合もなく使用しています(Windows 8 ProのHyper-VにCent OS 6.4をインストール)。
Windows7にApacheをインストールして使用していた頃からしばらく経ちましたので、当記事のようなシステム構成をご希望の方は、他の最新情報も確認された方がよいのではないかと思います。
インストール後の状況(2013/3/14追記)
WebブラウザでこのApache上の サイトにアクセスしていると、ときどきハングアップするという状況がありました。そんなときコマンドプロンプトからApacheを再起動すると再び動作しましたが、気持ち悪いです。原因を ご存知かヒントになりそうなことがございましたら、メッセージを希望します。よろしくお願いします。
Apacheのダウンロードと設定
1. Apacheをダウンロードするため、Apache Lounge (http://www.apachelounge.com/download/)にアクセス(apache.orgではないので要注意)。
2. Windows 32のページからhttpd-2.4.3-win32.zipをダウンロード。
3. 2.でダウンロードしたhttpd-2.4.3-win32.zip中のApache24フォルダをCドライブ直下に展開。
4. c:\Apache24\conf\httpd.confを念のため複製。以下、httpd.confの編集。
5. 149行目のmod_rewriteについての文がコメントになっていますが、コメント解除します。
【修正前】
#LoadModule rewrite_module modules/mod_rewrite.so
【修正後】
# mode_rewrite有効化 201x/x/x LoadModule rewrite_module modules/mod_rewrite.so
6. 172行目付近、LoadModule文の最後の行の次行に下記を追記。
# php5_module追記 201x/x/x LoadModule php5_module "c:/php/php5apache2_4.dll"
7. 204行目付近、メールアドレス設定をご自分のメールアドレスに変更。
【修正前】
ServerAdmin admin@example.com
【修正後】(このメールアドレスは仮)
ServerAdmin user@sample.com
8. 258行目付近、AllowOverrideの設定を変更し、mod_rewriteを有効にする。
【修正前】
AllowOverride None
【修正後】
#AllowOverride None #AllowOverrideをFileInfoに変更 201x/x/x AllowOverride FileInfo
9. 271行目付近、URLのアドレス指定時にディレクトリのパスを指定時、index.html以外のファイルも自動で表示されるよう、設定追加。
【修正前】
<IfModule dir_module> DirectoryIndex index.html </IfModule>
【修正後】
<IfModule dir_module> DirectoryIndex index.html index.htm index.shtml index.shtm index.php </IfModule>
10. 最下行(524行目付近)に下記の追記。
# ApacheでPHPを使用可能にするため追記 201x/x/x AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
PHPのダウンロードと設定
11. PHPをダウンロードするためPHP For Windows(http://windows.php.net/download/)にアクセス。
12. PHP5.4のThread Safe版のZipパッケージをダウンロード。
13. Cドライブ直下にphpフォルダを作成し、その中に11.でダウンロードしたphp-5.4.10-Win32-VC9-x86.zipを展開。
14. C:\php\php.ini-developmentを同じフォルダ内に複製し、ファイル名をphp.iniに変更。以下、このphp.iniの編集。
15. 672行目のpost_max_sizeを変更し、ファイルアップロード時に10MBまで可能にします。
【修正前】
post_max_size = 8M
【修正後】
;post_max_size = 8M ; post_max_size変更 201x/x/x post_max_size = 10M
16. 692行目付近、default_charsetをUTF-8に設定するため、コメントを外します。
【修正前】
;default_charset = "UTF-8"
【修正後】
;default_charsetのコメントをはずし、有効化 201x/x/x default_charset = "UTF-8"
17. 712行目付近にinclude_pathを追加
【修正前】
; PHP's default setting for include_path is ".;/path/to/php/pear" ; http://php.net/include-path ; The root of the PHP pages, used only if nonempty.
【修正後】
; PHP's default setting for include_path is ".;/path/to/php/pear" ; http://php.net/include-path ; include_path追記 201x/x/x include_path = ".;c:\php\includes;c:\php\pear" ; The root of the PHP pages, used only if nonempty.
18. 719行目付近、doc_rootを設定。
【修正前】
doc_root =
【修正後】
; doc_root追記 201x/x/x doc_root = "c:\Apache24\htdocs"
19. 731行目付近、extension_dirを設定。
【修正前】
; extension_dir = "ext"
【修正後】
; extension_dir = "ext" extension_dir = "c:\php\ext"
20. 800行目付近、upload_max_filesizeを変更し、ファイルアップロード時に10MBまで可能にします。
【修正前】
upload_max_filesize = 2M
【修正後】
;upload_max_filesize = 2M ; upload_max_filesize設定変更 201x/x/x upload_max_filesize = 10M
21. 871行目付近、gd2を有効にします。
【修正前】
;extension=php_gd2.dll
【修正後】
; php_gd2.dll有効化 201x/x/x extension=php_gd2.dll
22. 878行目付近、mbstringを有効にします。
【修正前】
;extension=php_mbstring.dll
【修正後】
; php_mbstring有効化 201x/x/x extension=php_mbstring.dll
23. 880行目付近、php_mysql.dllとphp_mysqli.dllを有効にします。
【修正前】
;extension=php_mysql.dll ;extension=php_mysqli.dll
【修正後】
; php_mysql有効化 201x/x/x extension=php_mysql.dll ; php_mysqli有効化 201x/x/x extension=php_mysqli.dll
24. 1724行目付近、mbstring.language = Japaneseを有効化。
【修正前】
;mbstring.language = Japanese
【修正後】
; Japanese有効化 201x/x/x mbstring.language = Japanese
25. 1730行目付近、internal_encodingの設定。
【修正前】
;mbstring.internal_encoding = EUC-JP
【修正後】
;mbstring.internal_encoding = EUC-JP ; usf-8有効化 201x/x/x mbstring.internal_encoding = utf-8
26. 1734行目付近、http_inputの設定。
【修正前】
;mbstring.http_input = auto
【修正後】
;mbstring.http_input = auto ; pass有効化 201x/x/x mbstring.http_input = pass
27. 1739行目付近、http_outputの設定。
【修正前】
;mbstring.http_output = SJIS
【修正後】
;mbstring.http_output = SJIS ; pass有効化 201x/x/x mbstring.http_output = pass
28. 1752行目付近、detect_orderの設定。
【修正前】
;mbstring.detect_order = auto
【修正後】
;mbstring.detect_order = auto ; mbstring.detect_order追記 201x/x/x mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
29. 1757行目付近、substitute_characterの設定。
【修正前】
;mbstring.substitute_character = none;
【修正後】
; mbstring.substitute_character有効化 201x/x/x mbstring.substitute_character = none;
30. 編集完了したphp.iniを保存し、c:\Windowsに移動、またはコピー。Apache起動時にはc:\Windows\php.iniの設定が読まれる。
Apacheの起動
31. コマンドプロンプトを管理者として起動するため、次のように行う。スタートメニュー → すべてのプログラム → アクセサリ → コマンドプロンプト を右クリックし、コンテクストメニューから「管理者として実行」を選択。確認ダイアログが表示されたら許可。
32. Apacheを起動するため、カレントディレクトリをhttpdがある場所に変更。
C:\Windows\system32>cd c:\Apache24\bin
33. 「httpd -k install」と入力し、Apacheをインストール。
c:\Apache24\bin>httpd -k install
34. エラー発生の場合は設定見直し。(Apacheをアンインストールする場合は「httpd -k uninstall」と入力)
35. Apacheの起動は「httpd -k start」。再起動は「httpd -k restart」。停止は「httpd -k stop」。インストールによりサービスに登録され、PC起動時にApacheも自動起動される。
c:\Apache24\bin>httpd -k start
36. C:\Apache24\htdocsフォルダにphpinfo.phpというファイルを作成し、以下のような内容にする。
<?php phpinfo(); ?>
37. Webブラウザを起動し、アドレス欄に「localhost/phpinfo.php」と入力して、下のように表示されたら動作確認完了。
備考
Apacheは最初、64ビット版をダウンロードして試しましたが、32ビット版のPHPではApacheの起動時にエラーが発生するため、諦めました。何か手段があるのかもしれませんが。
参考サイト
- 《解説》Windowsサーバ用ApacheLounge版のApache2.4シリーズのインストール方法。 - 今日も俺は空・寝・遊
http://sitifukuzin.com/blog/?p=25915(リンク先が元に戻っているようなので、リンクを復旧しました。 2018/08/20) WindowsにてPHPのバージョンアップ - PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/3330(リンク切れのためリンク削除。 2019/08/18)Windows7(64bit)にPHP5(5.2)をインストールしよう! ¦ WEB制作ガイド - WEB DESIGN LAB(このページはリンク切れになっていました。代わりに次のページになったようです。2016/8/16)
http://www.webdlab.com/guide/php/php_2.php- Windows7 64bitにPHP5.2 32bit VC6をインストールしよう! | Webデザインラボ
http://www.webdlab.com/guide/local-php-2/
小野様
Win7 64bit にk-inst の結果以下のようなエラーが出て設定の見直しで関連するものに検討がつきません。お分かりでしたらご指導いただけないでしょうか。
エラーメッセージ
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>cd c:\Apache24\bin
c:\Apache24\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.
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、ま
たはポートのどれか 1 つのみを使用できます。 : AH00072: make_sock: could not bin
d to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
エラーにつきましてちらっと検索しましたら、下記のphpproのサイトに同様のエラーが出た方がいらっしゃいました。
こちらにその際の検索方法や、参考リンクもありましたので、きっと参考になるかと思います。
http://www.phppro.jp/qa/749
既に80ポートが使用されていると上記のエラーが発生するようです。
Skypeはデフォルトで80ポートを使用するようです
コメントありがとうございます。
ご質問いただきましたが、正直、よく分かりません。
この記事は、Apacheをインストールしたときに、その手順を記録しておいたものです。
当方、もう何か月も、Windows8、8.1 の Hyper-V でApacheを使用し続けていますので、Windows7 のApache環境はもう、しばらく触っていません。WindowsやApacheなどのバージョンは上がっていることと思いますから、他サイトのもっと新しい情報を調べられた方がよいかもしれません。