Windows上へのApache+PHP+MySQL環境のインストールメモ。
ダウンロード
- 日本Apacheユーザ会のダウンロードページよりWindows用最新版をダウンロード。binaries/win32の下にインストールパッケージが置かれている。
- PHP公式サイトのダウンロードページより、Windows binariesのinstaller版をダウンロード。
- MySQL開発者用サイトより、MySQL Database ServerのWindows版をダウンロード。ダウンロード時にメールアドレスなどを入力するフォームが表示されるが「No thanks」をクリックすれば、スキップ可。
インストール
- Apacheのダウンロードファイルを実行。
- インストールディレクトリは C:¥ を指定(その下に Apache というディレクトリが作成されてインストールされる)。
- PHPのダウンロードファイルを実行。
- インストールディレクトリは C:¥PHP を指定。
- C:¥Apache¥conf¥httpd.confに次の記述を追加。
ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php .php # For PHP 4 Action application/x-httpd-php "/php/php.exe" # specify the directory where php.ini is SetEnv PHPRC C:/php
また、DirectoryIndexの行を次のように変更。
DirectoryIndex index.html index.htm index.shtml index.php
- コマンドプロンプトからApacheを再起動。
net stop apache net start apache
- MySQLのインストール用ファイルを、どこか適当な場所に展開し、setup.exeを実行。インストール完了後、ここで展開したファイルは削除。
- C:¥mysql¥bin¥winmysqladmin.exe を実行し、User Nameに英数字でアカウント名(ただし、rootは不可)、Passwordに何かパスワードを設定する。
- タスクトレイに信号機のようなアイコンが表示されるので、Show meを選択し、下記の設定。
- my.ini Setupタブを開き、[mysqld]セクションの最後に次の行を追加。
default-character-set=ujis
※「default-character-set=sjis」とするとデータベースにSJISで保存するようになるが、EUC版のNucleusを使用するのでEUCにしておく。
- 左下のSave Modificationボタンをクリック。
- 設定ウィンドウ上のどこでもよいので右クリックし、Win NT→Stop the Serviceを選択。
- しばらく待ち、同様に右クリックしてWin NT→Start the Serviceを実行。
- もう一度右クリックし、Hide meを選択。
- my.ini Setupタブを開き、[mysqld]セクションの最後に次の行を追加。
- スタートアップにC:¥mysql¥bin¥winmysqladmin.exeを登録。
- 環境変数のPATHにC:¥mysql¥binを追加。
- コマンドプロンプトで次のコマンドを実行。
set PASS=パスワード echo GRANT ALL ON *.* TO root@localhost IDENTIFIED BY '%PASS%' | mysql -uroot echo GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '%PASS%' | mysql -uroot -p%PASS%
インストール (PHPモジュール版)
-
上記インストール手順では、PHPをCGIとしてインストールしているが(最初にインストールしたときにはモジュール版でのインストールがうまくいかなかったため)、モジュール版でインストールした方が動作は早い。
環境変数PATHに
C:¥PHP
を追加し、PCを再起動。Win2kでは再起動しないと、サービス起動時に新しいPATHを認識しなかった。 -
httpd.confに次の定義を追加。
LoadModule php4_module "c:/php/sapi/php4apache.dll" AddModule mod_php4.c
-
httpd.confの
IfModule mod_mime.c
の設定に、次の定義を追加。AddType application/x-httpd-php .php
Apacheをリスタートした後の設定は、CGI版と同じ。