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をダウンロード。

Apacheのダウンロード

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パッケージをダウンロード。

PHPのダウンロード

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」と入力して、下のように表示されたら動作確認完了。

phpinfo

備考

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
    http://www.webdlab.com/guide/php/php_2.php
    (このページはリンク切れになっていました。代わりに次のページになったようです。2016/8/16)
  • Windows7 64bitにPHP5.2 32bit VC6をインストールしよう! | Webデザインラボ
    http://www.webdlab.com/guide/local-php-2/

Windows7 64bitにApache2.4.3とPHP5.4.10をインストール” に対して5件のコメントがあります。

  1. nakagawa より:

    小野様

    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

    1. 小野諭 より:

      エラーにつきましてちらっと検索しましたら、下記のphpproのサイトに同様のエラーが出た方がいらっしゃいました。
      こちらにその際の検索方法や、参考リンクもありましたので、きっと参考になるかと思います。
      http://www.phppro.jp/qa/749

  2. 通りすがり より:

    既に80ポートが使用されていると上記のエラーが発生するようです。
    Skypeはデフォルトで80ポートを使用するようです

  3. ピンバック: [php5 apacheの設定・エラー] windows7でphp5.4.10,apache2.4.3をインストールし、… | 新潟でワードプレスのホームページ制作はパーソン2パーソナルズ
    1. 小野諭 より:

      コメントありがとうございます。

      ご質問いただきましたが、正直、よく分かりません。
      この記事は、Apacheをインストールしたときに、その手順を記録しておいたものです。
      当方、もう何か月も、Windows8、8.1 の Hyper-V でApacheを使用し続けていますので、Windows7 のApache環境はもう、しばらく触っていません。WindowsやApacheなどのバージョンは上がっていることと思いますから、他サイトのもっと新しい情報を調べられた方がよいかもしれません。

コメントを残す