Windows Server 2012 へMySQL 5.5をインストールし、IIS 8 + PHP 5.4.10から接続する

Windows Server 2012へIIS 8 + PHP 5.4.10が動く環境を作ってみました。
Windows Server 2012にIIS 8 + PHP 5.4.10の環境を構築する

以前、Windows Server 2008 R2で行った手順を参考に、MySQLをインストールしてみます。

Windows Server 2008 R2 にMySQL 5.5をインストールし、IIS 7 + PHP 5.3.8から接続する




MySQL 5.5.29のダウンロードとインストール



http://www.mysql.com/downloads/mysql/#downloads

こちらのURLを参照し、Windows (x86, 64-bit), MSI Installerをダウンロードします。

169_01.png


ログイン画面が表示されます。
アカウントを作成したくない場合は、「No thanks, just start my download.」を
クリックすると、ダウンロードが始まります。

169_02.png


これでインストーラー「mysql-5.5.29-winx64.msi」がダウンロード出来ました。
インストーラーを実行すると、こんな画面が表示されます。
「Next」で次へ。

169_03.png


ライセンス認証画面です。
「I accept the terms in the License Agreement」にチェックをつけてNext。

169_04.png


セットアップタイプは「Typical」を選択しました。

169_05.png


次の画面で「Install」をクリックすると、インストールが始まります。

169_06.png


Enterprise版の紹介が始まります。
全て「Next」で進めていくと紹介が終了します。

169_07.png


インストール完了です。
続けて、初回のセットアップを行います。
「Lanch the MySQL Instance Configuration Wizard」に
チェックが付いていることを確認して「Finish」をクリックします。

169_08.png



設定のためのウィザードが開始されます。
「Next」をクリックして次へ。

169_09.png


今回は「Standard Configuration」を選択しました。
「Next」をクリックして次へ。

169_10.png


Windowsのサービスとしてインストールします。
「Next」をクリックして次へ。

169_11.png


MySQLのrootのパスワードを設定します。
任意のパスワードを入力してNext。

169_12.png


この画面で「Execute」をクリックすると、設定が開始されます。

169_13.png


設定中・・・

169_14.png


設定完了です。
「Finish」をクリックして、ウィザードを終了します。

169_15.png



これでMySQLのインストールと初期設定、起動は完了です。






IIS 8 + PHP 5.4.10からの接続確認



接続の確認には、Adminerを使用しました。
http://www.adminer.org/

単一のphpファイルでデータベースが参照できるすぐれものです。
Adminerのページを表示し、「Download」をクリック。

169_16.png


「Adminer 3.6.2 for MySQL 」のリンクをクリックし、「adminer-3.6.2-mysql.php」を
ダウンロードします。

169_17.png


ダウンロードした「adminer-3.6.2-mysql.php」を
「c:\inetpub\wwwroot」に「adminer.php」という名前で保存しました。

169_18.png


これでhttp://[サーバーIP]/adminer.phpを表示すれば、Adminerのログイン画面が
表示されるはずですが、php.iniの設定によってはエラーになります。



まず、セッション情報を保存するパスをデフォルトから変更していない場合。
デフォルトでは、「C:\Windows\TEMP」に指定されていますが、ここには
IIS_IUSRSのアクセス権がないため、500エラーが表示されます。

また、phpのログファイル(php.iniのerror_logに指定したファイル)に
以下のエラーが出力されます。


[13-Jan-2013 18:08:04 Asia/Tokyo] PHP Warning: session_start():
open_basedir restriction in effect. File(C:\Windows\TEMP) is not within
the allowed path(s): (C:\inetpub\wwwroot) in C:\inetpub\wwwroot\adminer.php on line 123
[13-Jan-2013 18:08:04 Asia/Tokyo] PHP Fatal error: session_start(): Failed to initialize




php.iniのerror_logのパスに、IIS_IUSRSのアクセス権があるパス、
例えば「c:\php5\session」というフォルダを作成し、このパスを指定すればOK。



もう一点、

PHPの拡張機能(MySQLi, MySQL, PDO_MySQL)がセットアップされていません



169_19.png


というエラーが表示される場合には、php拡張が有効となっていません。

php.iniに

extension=php_mysqli.dll



という記載がコメント付きであるはずなので、コメントを外してやります。



これらをまとめると、php.iniの修正箇所は以下のとおり。


;セッションを保存するパスを、IIS_IUSRSがアクセス権のあるフォルダに変更する。
;事前にC:\php5\へsessionというフォルダを作成しておく。
;session.save_path = "/tmp"
session.save_path = "C:\php5\session"

;コメントをはずし、mysqlへ接続するための拡張ライブラリを有効にする
extension=php_mysql.dll
extension=php_mysqli.dll




php.iniの修正が終わったら、IISマネージャーを表示し、IISを再起動してやります。

169_20.png



ブラウザで、http://[サーバーIP]/adminer.phpを表示します。
最低限入力が必要な箇所は、二箇所。


ユーザー名:root
パスワード:[MySQLのセットアップ時に入力したパスワード]



169_21.png


データベースの内容が閲覧出来ました。

169_22.png








【参考URL】

Windows Server 2008 R2 にMySQL 5.5をインストールし、IIS 7 + PHP 5.3.8から接続する
http://symfoware.blog68.fc2.com/blog-entry-845.html

関連記事

コメント

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

Re: タイトルなし

お役に立てたようで、嬉しいです。
非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ