ページ

2012年10月22日月曜日

Windows7 64bit で WAMP 64bit 環境の構築

LAMP(Linux + Apache + MySQL + PHP)環境をWindousで実現する、WAMP環境(Windows + Apache + MySQL + PHP)をすべて64bitの構成で個別にインストール。

OS:
 Windows 7 Ultimate x64
HTTPサーバ:
 Apache Lounge 2.4.3
データベース:
 MySQL 5.5.28
スクリプト:
 PHP 5.4.6
 Active Perl 5.16.1.1601

※ 文字コードは基本的にすべて UTF-8 を使用する前提で設定する。

※ Windows 8 Pro 64bit 環境でも動作することを確認。(2012/11/07 追加)

■Perlインストール

1)ダウンロード

ActiveState(https://www.activestate.com/)のActivePerlページから「ActivePerl Community Edition」をダウンロード。

ActivePerl 5.16.1.1601 for Windows (64-bit x64)
https://www.activestate.com/activeperl/downloads
※ ダウンロード時に登録画面が出るが、登録しなくてもしばらくすればダウンロードは開始される。

2)インストール

cgiスクリプトに記述されている一般的なPerl実行パス(#!/usr/bin/perl)を変更しなくてもいいように、インストール先は”c:/usr”とする。

インストーラ「ActivePerl-5.16.1.1601-MSWin32-x64-296175.msi」を起動。

Next>

「I accept the terms in the License Agreement」選択
Next>

Browseをクリックし、Folder Name: を”c:\usr\”に変更。
Next>

「Add Perl to the PATH environment variable」チェック(デフォルト)
「Create Perl file extention association」チェック(デフォルト)
Next>

Installをクリック

「Display the release notes」アンチェック
Finishで終了

■MySQLインストール

1)ダウンロード

MySQLのサイト(https://www-jp.mysql.com/)から「MySQL Community Server」をダウンロード。

Windows (x86, 64-bit), MSI Installer (5.5.28 32.6M)
https://www-jp.mysql.com/downloads/mysql/

2)インストール

インストーラ「mysql-5.5.28-winx64.msi」を起動。

Nextクリック

I accept the terms in the License Agreementチェック
Next

Custom クリック

Browse...をクリックし、Folder Name:を ”C:\usr\bin\MySQL\”に変更。
Next

Installをクリック。

途中「MySQL Enterprise」の広告が表示されるので、
Next
Nextと2度クリック

Launch the MySQL Instance Configuration Wizardチェック(デフォルト)
Finishでインストール終了。

ここから「Setup Wizard」が起動
Next>

「Detailed Configuration」選択(デフォルト)
Next>

「Server Machine」選択
Next>

「Multifanction Database」選択(デフォルト)
Next>

「InnoDB Tablespace Settings」(C: Installation Path) そのまま
Next>

「Online Transaction Processing (OLTP)」選択
Next>

「Enable TCP/IP Networking」チェック(デフォルト)
  Port Number:3306 (デフォルト)
  Add firewall exception for this port アンチェック(デフォルト)
「Enable Strict Mode」チェック(デフォルト)
Next>

「Best Support Multilingualism」チェック
 ※ この場合、キャラクタセットは UTF-8 になる。
   「Manual Selected Default Charactor Set / Collation」を選択し、Charactor Set: で変更可能
Next>

「Install As Windows Service」チェック(デフォルト)
「Service Name: MySQL」(デフォルト)
「Launch the MySQL Server automatically」チェック(デフォルト)
「Include Bin Directory in Windows PATH」チェック
Next>

「Modify Security Settings」チェック(デフォルト)
  New Root Password: 記入
  Conform: 上と同じ
 Enable root access from remote machines アンチェック(デフォルト)
「Create An Anonymouse Account」アンチェック(デフォルト)
 ※ パスワードは忘れないように記憶
Next>

Executeクリック
 ・Prepare Configuration
 ・Write configuration file (C:\usr\bin\MySQL\my.ini)
 ・Start service
 ・Apply security settings
Finishで完了

■PHPインストール

1)ダウンロード

PHPのサイト(http://www.php.net/)には64bit版がないので、Apache Lounge(https://www.apachelounge.com/)のDownloads > Additional 「Member Downloads」にある「PHP 5.4.6 64 Bit with eAccelerator」を使用。

PHP-5.4.6-Win64-VC10.zip (19 Aug '12)
https://www.apachelounge.com/download/additional/

2)インストール

ZIPファイルを解凍し、すべてのファイルをインストール先”C:/usr/bin/php64”に移動

3)php.ini編集

php.iniが付属していない為、本家(http://www.php.net/)のphpからコピーする。
同じバージョンをダウンロードページ左側下部にある「Archives」からダウンロード。

「php.ini-development」「php.ini-production」の2種類あるが今回は、PRODUCTION版を使用する。
”php.ini-production”を”c:/usr/php64”へ移動。ファイル名を”php.ini”に変更して編集する。
以下の項目の先頭の「;」を削除し、コメントアウトを削除。

692: default_charset = "UTF-8"
  ※ HTTP charsetヘッダを UTF-8 に設定
730: extension_dir = "ext"
  ※ 先頭の;を削除し、コメントアウト削除。
878: extension=php_mbstring.dll
  ※ 日本語などマルチバイト文字を使用可能にする。
880: extension=php_mysql.dll
  ※ MySQLを利用可能にする
881: extension=php_mysqli.dll
  ※ MySQLを使用可能にする。
919: date.timezone = "Asia/Tokyo"
  ※ タイムゾーンを 日本標準時 に設定。
1724: mbstring.language = Japanese
  ※ デフォルトの言語を 日本語 に設定
1730: mbstring.internal_encoding = UTF-8
  ※ 内部エンコーディングを UTF-8 に設定(Default:EUC-JP)
1734: mbstring.http_input = "pass"
  ※ HTTP 入力エンコーディング変換を pass に設定(Default:auto)
1739: mbstring.http_output = "pass"
  ※ HTTP 出力を pass に設定(Default:SJIS)
1747: mbstring.encoding_translation = Off
  ※ HTTP 入力変換を無効

4)環境変数 path 設定

コントロールパネル > システム > システムの詳細設定 > 環境変数... > システム環境変数のリストから変数 Path を選択し、編集...をクリック。
変数値の最後に以下を追加。

;c:\usr\bin\php64
(Pathの区切り「;」を忘れないこと)

5)再起動

システムを再起動して環境変数の変更を反映させる。(重要!)

■HTTPサーバーインストール

1)ダウンロード

Apache Lounge のサイト(https://www.apachelounge.com/)右側にあるDownloads > Windows 64 と辿り、「Apache 2.4 win64 binaries」から下記をダウンロード。

※ 実行には「Visual C++ 2010 SP1 Redistributable Package x64」が必要なため、未インストールの場合は、はじめに「Apache 2.2 and 2.4 Windows 64 bits Binaries and Modules」の一番下にある「VC10 SP1 vcredist_x64.exe」のリンクからパッケージをダウンロードしインストール。
httpd-2.4.3-win64.zip (18 Aug '12 11.415K)
https://www.apachelounge.com/download/win64/
※ 2.2系はPHPのハンドラ(php5apache2_2.dll)がなかった為、2.4系を使用。

2)インストール

ZIPファイルを解凍し、すべてのファイルをインストール先”c:/usr/bin/Apache24”に移動

3)httpd.conf編集

”c:/usr/bin/Apache24/conf/”にある”httpd.conf”を編集。

 37: ServerRoot "c:/usr/bin/Apache24"
  ※ インストール先フォルダを指定
204: ServerAdmin admin@example.com
  ※ 使用しているメールアドレス(何でも可)
213: ServerName www.example.com:80
  ※ 先頭の#を消してコメントアウト削除(ドメイン名を持っていればそれを指定。IPアドレスでも可。コメントのままでもとりあえず動作可能)
237: DocumentRoot "c:/usr/bin/Apache24/htdocs"
238: <Directory "c:/usr/bin/Apache24/htdocs">
  ※ 公開されるルートディレクトリ設定
271: DirectoryIndex index.html index.htm index.php
  ※ ディレクトリ呼び出し時に表示されるファイルとして、index.htm index.phpファイルを追加
354: ScriptAlias /cgi-bin/ "c:/usr/bin/Apache24/cgi-bin/"
  ※ CGI実行フォルダ
370: <Directory "c:/usr/bin/Apache24/cgi-bin">
  ※ 上記と同じフォルダを指定
372: Options ExecCGI
  ※ CGIを実行許可( None から ExecCGI へ変更)
409: AddHandler cgi-script .cgi .pl
  ※ 先頭の#を消してコメントアウト削除。.plファイルもCGIスクリプトとして設定

下記の項目を最後に追加し、PHPを使用可能にする

AddType application/x-httpd-php .php
  ※ .phpファイルをPHPスクリプトとして設定
PHPIniDir "c:/usr/bin/PHP64"
  ※ php.iniのあるフォルダーを指定
LoadModule php5_module "c:/usr/bin/php64/php5apache2_4.dll"
  ※ PHPハンドラを指定

4)サービス登録

コマンドプロンプトから下記を実行し、サービスを登録。

c:/usr/bin/Apache24/bin/httpd -k install

コントロールパネル > 管理ツール > サービス を見て、「Apache2.4」が登録されているのを確認。

5)サーバ実行

コマンドプロンプトから下記を実行

c:/usr/bin/Apache24/bin/httpd -k start

エラーが出ずにプロンプトに戻れば起動しているはず。

6)スタートアップ登録

スタートアップフォルダにApacheMonitor.exeのショートカットを登録しておけば、トレイアイコンから「Start」「Stop」「Restert」などコントロールができる。

c:/usr/bin/Apache24/bin/ApacheMonitor.exe
※ 本家Apacheのインストーラでは「Monitor Apache Servers」の名で登録される。

■動作確認

1)HTML表示動作確認

ブラウザから”http://localhost/”へアクセスして「It works!」と表示されれば成功。

2)CGI動作確認

”c:/usr/bin/Apache24/cgi-bin/printenv.pl”をメモ帳等のテキストエディタで編集。

1: #!/usr/bin/perl
  ※ Perlへのパスを変更 (Default:#!D:/programs/perl/bin/perl.exe)

ブラウザから”http://localhost/cgi-bin/printenv.pl”へアクセスしてサーバの環境変数が表示されればOK。

3)シンボリックリンク

Perl実行パスが #!/usr/local/bin/perl でも動作可能にするためシンボリックリンクを設定する。
コマンドプロンプトから以下を実行。

md c:\usr\local (上位フォルダを作成)

mklink /D c:\usr\local\bin c:\usr\bin
mklink /D c:\usr\local\lib c:\usr\lib
mklink /D c:\usr\local\site c:\usr\site

4)PHP動作確認

以下をファイル名”phpinfo.php”として”c/usr/bin/Apache24/htdocs”に保存。

<?php
    phpinfo();
?>

ブラウザから”http://localhost/phpinfo.php”へアクセスしてPHPの設定情報が表示されれば成功。

2 件のコメント:

  1. おかげさまで設定できました!
    助かりました!

    1点だけ
    httpd.confの編集で
    ServerRoot "c:/usr/Apache24"
    ではなく
    ServerRoot "c:/usr/bin/Apache24"
    ということでいいですよね?


    とても参考になりました。
    ありがとうございました^^

    返信削除
    返信
    1. コメントありがとうございます。

      ご指摘の通り、
      ServerRoot "c:/usr/bin/Apache24"
      ですので修正しました。

      動作させる最低限のつたない説明ですが、
      お役に立てたようで光栄です。

      削除

その他の投稿...