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」をダウンロード。
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」をダウンロード。
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」を使用。
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」のリンクからパッケージをダウンロードしインストール。
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の設定情報が表示されれば成功。