Windows7でApache+PHP+MySQL環境構築

『アレス』に『白虎』の代わりをさせよう計画は少しずつ進んでいます。
昨日からいろいろ検索かけまくって、どうにか環境構築が出来たように思えます。

まずはApacheをインストール。
ApacheのDownloadページから httpd-2.2.19-win32-x86-openssl-0.9.8r.msi をダウンロードしました。
実行すると、インストールウィザードが開きます。
ドメインやサーバ名はlocalhostでOK。
メルアドも適当に……admin@localhostとでも入力して、とにかく先へ進みましょう(^_^;)
インストール先は、デフォルトだと C:\Program Files\Apache Service Foundation\Apache2.2\ とかになってるものの、あちこちのサイトでCドライブ直下へのインストールを推奨しているので C:\Apache\ に変更しました。デフォルトのままだと、アカウント制御が面倒くさいらしいです。
ウィザードが終了したら、http://localhost/にアクセスして、「It works!」と表示されれば、ここまでは成功です。
先は長いぞ、頑張れ自分!ヽ(^o^)丿

次にPHPをインストール。
PHP For Windowsから VC9 x86 Thread SafeのZIPファイル(php-5.3.6-Win32-VC9-x86.zip)をダウンロードしました。
これも各所のお勧めに従って、インストール先(解凍先)はCドライブ直下にしました。
解凍後のフォルダ名はphp-5.3.6-Win32-VC9-x86などと長ったらしいので、PHPに変更してしまいましょう(^_^;)

インストール出来たら、今度は設定です。
まずはApacheの設定の為に、C:\Apache2.2\conf を編集。(赤字が追加内容)

自作データは全てDドライブで管理しているので、http://localhost/でアクセスされるフォルダをwebデータをまとめてあるフォルダに変更します。

#DocumentRoot "C:/Apache2.2/htdocs"
DocumentRoot "D:/Users/******/……"

更に、記述を追加。


Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all


それから、URLが/で終わってる時の設定も(後々の為にindex.cgiも一緒に)追加しておきます。


DirectoryIndex index.html index.php index.cgi


そして、PHPが使えるように以下の記述をファイル末尾に追加。

PHPIniDir "C:/PHP"
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php .html .htm
AddType application/x-httpd-php-source .phps


ここまで出来たら、次はPHP側の設定です。
C:\PHP¥php.ini-developmentを複製してphp.iniを作り、これを編集します。(赤字が追加内容)

; On windows:
; extension_dir = "ext"
extension_dir = "C:\PHP\ext"
(中略)
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
extension=php_mysql.dll
extension=php_mysqli.dll

ここでPHPのテストを行います。
Apacheの設定でDocumentRootに指定したフォルダに、phpフォルダを作成して以下の3行を記述したファイル(info.php)を作ります。



http://localhost/php/info.phpにアクセスしてみてPHPのいろんな情報が表示されれば、ここまでは成功です。
まだまだ先は長いぞ、頑張れ自分(&この記事を読んでる貴方)!ヽ(^o^)丿

ここまで出来たら、次はMySQLをインストール。
Download MySQL Community ServerからWindows (x86, 32-bit), MSI Installer(mysql-5.5.14-win32.msi)をダウンロードしました。
実行すると、インストールウィザードが開きます。
これまた、インストール先はCドライブ直下、フォルダ名はMySQLで……その為には、Setup TypeでCustomを選ぶ必要があります。
後は大体デフォルトのままで進みましたが、Character SetはBest Support For Multilingualism("日本語"って吹き出しの付いてるもの)を選択しました。
[Install As Windows Service]と[Include Bin Directory in Windows Path]はどちらもチェックボックスをONにしました。前者はOS起動時にMySQLサーバを自動起動する設定で、後者はMySQLサーバのbinフォルダへのPATHを通す設定らしいです。
最後に、rootのパスワードを設定して、[Execute]ボタンを押すとウィザードがせっせと働いてくれます。

インストールが終わったら、コマンドプロンプト(スタート→すべてのプログラム→アクセサリの中にあるはず)を起動して、以下のコマンドを打ち込んでみましょう。

mysql -u root -p

先程設定したパスワードを聞いて来るので、間違えないように入力します
「Welcome to the MySQL……」とか表示されて、行頭が「mysql> 」に変わっていたらOKです。
この状態だと、SQLコマンドが実行できます。試しに以下のコマンドを入力してEnterキーを押してみましょう。

show databases;

データベース一覧が表示されたと思います。まだ自分ではDBを作成していない状態ですが、インストール時にいくつかのDBが自動で作成されています。
MySQLから抜ける時は、exit もしくは quit と入力してEnterキーを押します。

次はPHPからMySQLにアクセス出来るかを確認しなくてはなりません。
そこでApacheの設定でDocumentRootに指定したフォルダ配下のphpフォルダに、以下の7行を記述したファイル(info.php)を作ります。



http://localhost/php/mysql.phpにアクセスしてみて先程コマンドプロンプトで表示されたDB名がカンマ区切りでブラウザに表示されていれば成功です。PHPからMySQLにアクセス出来ることが解りました。

これで環境はひとまず整った訳ですが、phpMyAdminを入れておいた方が何かと便利なので、あと一頑張りしましょう。
さあ、もう少しだぞ、頑張れ自分(&この記事を読んでる貴方)!ヽ(^o^)丿

何はさておきphpMyAdminをインストール。
phpMyAdmin - DownloadからphpMyAdmin-3.4.3.1-all-languages.zipをダウンロードしました。
解凍先はApacheの設定でDocumentRootに指定したフォルダにして、解凍後にフォルダ名をphpMyAdminに変更。

ここまで出来たら、次は当然、設定です。
phpMyAdminフォルダ内のconfig.sample.inc.phpを複製してconfig.inc.phpを作り、これを編集します。(赤字が追加内容)

$cfg['PmaNoRelation_DisableWarning'] = true;

/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

// $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';

意味が解っててやってる訳ではありません。ネット検索でヒットしたページの記述に従っただけです(汗;)
とにかくこれでphpMyAdminが使えるようになるはずです。
http://localhost/phpMyAdmin/index.phpにアクセスしましょう。
「phpMyAdmin へようこそ」などと書かれたログイン画面が表示されれば成功です。
MySQLのユーザ名(root)とパスワードを入力してログインしてみましょう。

ログイン出来て万歳三唱……したいところですが、ページのした方へスクロールしてみると何やらエラーメッセージが2つ出ています。
「PHP の mbstring 拡張が見つかりませんでした。マルチバイト文字セットを使用しているようですが、mbstring 拡張がないと phpMyAdmin は文字列を正しく分割できないため予期しない結果になることがあります」
「設定ファイルが秘密のパスフレーズ (blowfish_secret) を必要とするようになりました」

そこで、このエラーメッセージで検索して対処しました。

前者のエラーについては、php.iniを以下のように編集します。(赤字が追加内容)

;extension=php_mbstring.dll
extension=php_mbstring.dll

後者のエラーについては、config.sample.inc.phpを以下のように編集します。(赤字が追加内容)

$cfg['blowfish_secret'] = '適当なアルファベット'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

php.iniを編集したので、再度phpMyAdminにアクセスする前に、ApacheをRestartしなくてはなりません。
ApacheのRestartは、タスクバーの右の方(隠れてるインジケーターを表示)からApacheのアイコンを選んで階層を辿るとRestartを選べるようになっています。

これでやっとphpMyAdminが使えるようになりました。
ええ、なったはずです。
とりあえず、エラーメッセージは消えましたし、『白虎』で作ったシステム用のDBと同名のDBを作成することは出来ました。
次の問題は、バックアップファイルからデータの復元が出来るかどうかだな(@_@。

"Windows7でApache+PHP+MySQL環境構築" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント