WindowsServer2012R2における IIS8 PHP7.2 MySQL5.6 環境の構築

#目標
ベースOS: Windows Server 2012 R2 に対し、
　**IISサーバ**のインストール
　**PHP7.2系**のインストール
　**MySQL5.6系**のインストール
　LAMP環境で動いていた**ソースプロジェクトの展開**

**L**inux, **A**pache, **M**ySQL, **P**HP = LAMP ならば、
**W**indows, **I**IS, **M**ySQL, **P**HP = WIMP の構築というところでしょうか。
#構築手順
1. WindowsUpdateをして最新の状態にする
2. Webサーバ(IIS)の機能を追加する
3. Microsoft Visual C++ 再頒布可能パッケージをインストールする
4. Web Platform InterfaceからPHPをインストールする
5. MySQLをインストールする
6. PHPの疎通確認
7. MySQLの疎通確認
8. PHPからMySQLへの疎通確認
9. プログラムソースコードを配置する

##1. WindowsUpdateをして最新の状態にする
できれば、最新のWindowsUpdateを適用しておく。これ以降の手順で、KB*****のプログラムが適用されていないといけない、などがあるため、アップデートを行う。
![スクリーンショット 2019-05-15 18.00.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/67d6b997-ba5f-78c5-1f6e-9a5883db2616.png)

##2. Webサーバ(IIS)の機能を追加する
1. サーバーマネージャーを起動し「役割と機能の追加」をクリック
![スクリーンショット 2019-05-15 18.06.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/8266a113-437a-482c-b0ac-d02269ad0c5c.png)

2. 「次へ」をクリック
![スクリーンショット 2019-05-15 18.06.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/bbd14127-dd7c-4a8d-782c-01a370689ee5.png)

3. 「役割ベースまたは機能ベースのインストール」を選択して、「次へ」をクリック
![スクリーンショット 2019-05-15 18.07.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/563228c5-16a5-58da-4c49-4e6a5bf950a7.png)

4. 対象サーバに、インストール先サーバが選択されていることを確認して、「次へ」をクリック
![スクリーンショット 2019-05-15 18.07.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/52e4d034-9b1c-5fd9-e488-f4f1e6783e9c.png)

5. 「**Webサーバー（IIS）**」を選択する
![スクリーンショット 2019-05-15 18.07.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/520cdf12-a5e0-45a7-8d98-ae1557a687ce.png)

6. 確認ウィンドウが表示されたら、「機能の追加」をクリック
![スクリーンショット 2019-05-15 18.07.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/19cbeb48-ded3-1df7-d3ea-8448242d442a.png)

7. 「次へ」をクリック
![スクリーンショット 2019-05-15 18.08.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/6f19c5c8-fd81-3655-3bed-716c8973aaa5.png)

8. 「次へ」をクリック
![スクリーンショット 2019-05-15 18.08.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/ab804957-efa2-101d-8c2b-bcfaec2233b8.png)

9. 「**ログ ツール**」、「**要求の監視**」と、アプリケーション開発内の「**CGI**」を選択して、「次へ」をクリック
![スクリーンショット 2019-05-15 18.08.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/2d390f1e-4683-7727-dd8f-935c6e1755eb.png)

10. 「必要に応じて対象サーバを自動的に再起動する」にチェックを入れ、警告が出たら「はい」をクリックして「**インストール**」をクリック
![スクリーンショット 2019-05-15 18.08.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/0ecdcaeb-cf76-a518-633f-8bc787fe4600.png)

11. インストールが完了するまで待機する
![スクリーンショット 2019-05-15 18.13.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/299873a2-f94b-48f4-5ee9-c22c67601492.png)

12. リモートでもローカルでもよいので、サーバーIPにアクセスし、IISトップページが表示されることを確認する（**完了**）
![スクリーンショット 2019-05-15 18.27.31（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/3d1cbe0d-a72b-716b-5832-e35ab583e8d0.png)


##3. Microsoft Visual C++ 再頒布可能パッケージをインストールする
WindowsにおいてPHPを実行するためには、**Microsoft Visual C++ 20xx**のランタイム（Microsoft Visual C++ 20xx 再頒布可能パッケージ）が必要となる。そのランタイムのバージョンは使用するPHPのバージョンによって少し異なる。

| PHPバージョン| Visual C++ のランタイムバージョン | 
|:-----------------|:------------------|
| 5.5.x, 5.6.x|[Microsoft Visual C++ 2012](https://www.microsoft.com/en-us/download/details.aspx?id=30679)|
| 7.x 以降|[Microsoft Visual C++ 2015](https://www.microsoft.com/en-us/download/details.aspx?id=48145)| 

今回はPHP7.2系をインストールするため、Microsoft Visual C++ 2015のランタイムをインストールする。

1. Microsoft Visual C++ 2015 再頒布可能パッケージのインストーラをダウンロード
![スクリーンショット 2019-05-15 19.01.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/2c8dfe4c-0e44-f869-bc8b-eaefc550992b.png)

2. 32ビットなのか、64ビットなのかで分岐するので、必要なものを選択してダウンロード（ここでは64ビット）
![スクリーンショット 2019-05-15 19.01.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/89d3f6ab-1dce-9c20-d11c-c5c0701c9c12.png)

3. ダウンロードしたインストーラを実行する（**完了**）
![スクリーンショット 2019-05-15 19.01.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/d116a1fe-3da0-f09d-8f83-60613fbc4146.png)

##4. Web Platform InterfaceからPHPをインストールする
ここでは、Web Platform InterfaceからPHPをインストールする方法を紹介する。
この方法でインストールすると、PHPを実行するためのIISのCGI設定を自動で行ってくれる。

1. 「**インターネット インフォメーション サービス（IIS）マネージャー**」を開く
![スクリーンショット 2019-05-16 8.31.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/42b297c7-d1fc-2ae2-20e8-a6a25e812c87.png)

2. 左のメニューから「サーバ名」をクリックすると、Microsoft Web Platformの使用を開始するか聞かれるので、「**はい**」をクリック
![スクリーンショット 2019-05-16 8.31.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/b135f224-bba4-5880-4a17-41bc8b8ee791.png)

3. Webブラウザが立ち上がるので、「**Install this extension**」をクリックして、インストーラをダウンロード
![スクリーンショット 2019-05-16 8.32.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/84bd51dd-4fd1-ceef-c9d0-cb9140a767ad.png)

4. インストーラを実行していく
![スクリーンショット 2019-05-16 8.32.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/b6ca300e-db02-34c1-7932-d48870cd9a74.png)

5. 「Finish」をクリックして、インストーラを終了する
![スクリーンショット 2019-05-16 8.32.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/89c32b9e-fcd2-192a-18e1-e9e1912a1362.png)

6. 「インターネット インフォメーション サービス（IIS）マネージャー」を、**開き直す**と、「Web Platform Installer」 が追加されているので、ダブルクリック
![スクリーンショット 2019-05-16 8.33.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/28626695-de84-2272-8815-d30c81bab4ed.png)

7. 開かれるまで待つ
![スクリーンショット 2019-05-16 8.33.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/5cc4831c-53d3-7706-c8d0-1788cb30ee6f.png)

8. 画面上部から「**製品**」をクリック
![スクリーンショット 2019-05-16 8.33.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a23f9bf4-e0e7-2462-591a-1cbce014b8f2.png)

9. 左のメニューから「**フレームワーク**」をクリック
![スクリーンショット 2019-05-16 8.33.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/1518be42-9ea5-1932-13f4-9283d6dd1855.png)

10. 表示された一覧から、希望のPHPバージョンを探す（ここでは、「**PHP 7.2.14 (x64) (英語)**」を見つけ出す）
![スクリーンショット 2019-05-16 8.35.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/09b48088-1a4f-7adc-6223-f6c3d1663374.png)

11. 見つけたら、その右端にある、「**追加**」をクリックし、画面下部の「**インストール**」をクリック
![スクリーンショット 2019-05-16 8.35.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/1b32359e-9152-5f9e-e8bf-58bcd6e21d51.png)

12. その他にインストールされるソフトウェアが表示されるので、「**同意する**」をクリック
![スクリーンショット 2019-05-16 8.35.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/c8e6aa7e-84c5-1c5b-ef29-0f1462badb18.png)

13. インストールが終わるまで待つ
![スクリーンショット 2019-05-16 8.36.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/3fe7febd-97ab-0f54-64a1-9ed86f436091.png)

14. 「PHP Manager for IIS」と「Web Platform Installer ログ」はエラーのためインストールされないが、「**完了**」をクリック
インストールされなかったものが必要な方は、調べてインストールくださいm(._.)m
![スクリーンショット 2019-05-16 8.38.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a2fa7c82-a1b6-cc06-7bde-37f30ca2a2a9.png)

15. 「インターネット インフォメーション サービス（IIS）マネージャー」を**開き直し**、「FastCGIの設定」をクリック
![スクリーンショット 2019-05-16 8.41.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/717bd41e-1a15-45e9-0d53-6d9a318a02d0.png)

16. すでにPHP5.3とPHP7.2（インストールしたバージョンのPHP）の設定項目が作成されている
![スクリーンショット 2019-05-16 8.41.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/ad833699-fae5-c82c-ca71-39757c054cdb.png)

17. いずれかを選択して、「編集」をクリックすると内容が見れるので、必要であれば変更する（**完了**）
![スクリーンショット 2019-05-16 8.42.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/ef646b28-eea7-a464-e3ba-b6dc72d3dd3d.png)

##5. MySQL5.6をインストールする
ここでは、**MySQL5.6**をMSIインストーラでインストールする方法を紹介する。

1. まず「**Microsoft .NET Framework 4.5.2**」が入っているかを確認する
インストールされていないのに、MySQLのインストールをはじめると、以下のエラー画面が出て止まる
![スクリーンショット 2019-05-16 9.22.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a928ac80-d83e-2a99-a15f-229b8a251844.png)

2. さらに「**Microsoft Visual C++ 2010 ランタイム**」が入っているか確認する
インストールされていないのに、MySQLのインストールをはじめると、以下のエラー画面が出て止まる
![スクリーンショット 2019-05-16 10.53.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/e0b6b1f8-171b-c9d5-df91-7f36de9de4a8.png)

---
**Microsoft .NET Framework 4.5.2**がインストールされていなかったら

3．「**[Microsoft .NET Framework 4.5.2インストーラー](https://www.microsoft.com/ja-jp/download/details.aspx?id=42643)**」をダウンロードする
![スクリーンショット 2019-05-16 9.28.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/08081081-486e-6a0f-7d28-29b661c410e3.png)

4． インストーラを実行する
![スクリーンショット 2019-05-16 9.28.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/2f1674b8-3f69-8cef-59cf-763ef6c4c62d.png)

5．インストールが完了するまで待つ
![スクリーンショット 2019-05-16 9.28.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/baa63f68-ad6d-cb46-1f70-72a110f4c27f.png)

6．インストール終了後、再起動を求められることがあるので、再起動する
![スクリーンショット 2019-05-16 9.30.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/c9af01d4-2396-38fd-7f14-dc8279336e01.png)

---
**Microsoft Visual C++ 2010 ランタイム**がインストールされていなかったら

7．「**[Microsoft Visual C++ 2010 再頒布可能パッケージ](https://www.microsoft.com/ja-jp/download/details.aspx?id=14632)**」をダウンロードする
![スクリーンショット 2019-05-16 11.23.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/af5c364e-5948-2460-f0d1-12b06e3f3628.png)

8．インストーラを実行する
![スクリーンショット 2019-05-16 11.23.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/e3e68aea-a173-8c07-fbd2-69cf00e1006c.png)

9．インストールが完了するまで待つ
![スクリーンショット 2019-05-16 11.23.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/cbda1d14-bef3-da0d-4c83-e34df530c994.png)

---
**Microsoft .NET Framework 4.5.2** と **Microsoft Visual C++ 2010 ランタイム** がインストールされていたら

10．「**[MySQL Installer 5.6.44](https://dev.mysql.com/downloads/windows/installer/5.6.html)**」をダウンロードする
![スクリーンショット 2019-05-16 9.14.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/66e97b5b-f06e-cc71-2cf3-d14c6b4c5dd4.png)

11．インストーラを実行する
![スクリーンショット 2019-05-16 10.52.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/bcc6187f-9197-8da9-3ed8-a0de51307221.png)

12．「Setup Type」を選択して、「Next」（ここでは、Server onlyを選択）
![スクリーンショット 2019-05-16 11.26.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/b4cfa93b-86a7-79aa-c8be-ba70e6ce4984.png)

13．「Execute」をクリック（ここで何か不足しているソフトウェアがあるとエラーが表示される）
![スクリーンショット 2019-05-16 11.26.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a3bd5f88-0959-3f48-5435-3b4ca8d6f1d1.png)

14．Executeが終わったら、「Next」をクリック
![スクリーンショット 2019-05-16 11.26.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/1cf1b478-0356-383a-9e15-4374c5115fd1.png)

15．「Creating Type」を選択し（ここでは、Development Computer）、「Port」を変更する必要があれば変更し（ここでは、そのまま）、「Next」をクリック
![スクリーンショット 2019-05-16 11.27.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a82a9899-9d36-69a8-1e95-60eaa0812db0.png)

16．「Root Password」を入力し、作成したいユーザが決まっていたら「Add User」から作成し、「Next」をクリック
![スクリーンショット 2019-05-16 11.27.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/3d07ff3b-6a16-c244-1316-98a5b023c39d.png)

17．スタートアップ時に起動するかの選択（ここでは、起動する）、サービス名を変更したければ変更し（ここでは、そのまま）、「Next」をクリック
![スクリーンショット 2019-05-16 11.28.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/d414d556-b880-c0fa-60b3-37ee4a5f94e0.png)

18．「Execute」をクリック（たまに、Starting the serverが長かったり、エラーが起きたりする）
![スクリーンショット 2019-05-16 11.28.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/c8481c0c-6d94-0fa7-c21f-af8efa311ed7.png)

19．「Next」をクリック
![スクリーンショット 2019-05-16 11.29.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/4795a998-8cd3-636d-0a4e-0244f98ee35e.png)

20．「Finish」をクリック（**完了**）
![スクリーンショット 2019-05-16 11.29.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/00b62f2d-2a60-73e0-214f-f64b6d4285f0.png)

##6.PHPの疎通確認
PHPが読み込めるかどうか、正常に動いてそうかどうかを確認する

1．`C:\inetpub\wwwroot`ディレクリ内に、`info.php`ファイルを作成し、以下を追記して保存

```php:info.php
<?php
phpinfo();
?>
```

2．リモートでもローカルでもよいので、`http://サーバIP/info.php`を開く
![スクリーンショット 2019-05-16 11.59.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/97f3e30c-e19f-1512-bcfb-26a441b80877.png)

3．（2と前後してもよい）`C:\Program Files\PHP\v7.2`ディレクトリ内に`php.ini`ファイルがあるので、適宜設定を変更する
ここでは、

```ini:php.ini
#出てくる順に以下を変更していく
memory_limit = 1024M
post_max_size = 1024M
doc_root = "C:\inetpub\wwwroot"
extension_dir = "C:\Program Files\PHP\v7.2\ext"
upload_max_filesize = 1024M
date.timezone = "Asia/Tokyo"

#ここはコメントアウトを解除して記入
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_detection = Off

#末尾の方にあるTimeZoneの値を一致させる
[WebPIChanges]
date.timezone=Asia/Tokyo
```

4．設定反映のため「インターネット インフォメーション サービス（IIS）マネージャー」を開き、右側のメニューから「**再起動**」をクリックし、IISを再起動する（**完了**）
![スクリーンショット 2019-05-16 12.54.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/5b21e349-12b1-ee1b-7b2b-9b8864a0eb6a.png)

##7.MySQLの疎通確認
MySQL自身にローカルから見ることができるか、正常に動いてそうか確認する

1．`コマンドプロンプト`や`PowerShell`からでもいいので、`mysql -u root -p`と打って実行し、エラーが出ることを確認する
![スクリーンショット 2019-05-16 13.01.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/d1bf72a5-5bcb-e346-76e3-e60af8af0f1a.png)

2．「コントロールパネル」>「システム」>「システムの詳細設定」>「**環境変数**」を開き、「システム環境変数」内の`Path`を「編集」し`C:\Program Files\MySQL\MySQL Server 5.6\bin`を追記する
![スクリーンショット 2019-05-16 13.03.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/9f02c6bb-df23-4600-a661-37428201ac27.png)

3．再び、`コマンドプロンプト`か`PowerShell`を開いて、`mysql -u root -p`と打って実行し、インストール時に設定したパスワードを入力して、ログインできることを確認する
![スクリーンショット 2019-05-16 13.07.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a4ebef68-912a-8fa5-6c9a-2f39024b4c35.png)

4．`C:\ProgramData\MySQL\MySQL Server 5.6`ディレクトリ内に、`my.ini`があるので、日本語対応する設定等を追記する

```ini:my.ini
[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
```

5．設定反映のため、「**サービス**」を開き、`MySQL56`を選択して、「**サービスの再起動**」をクリックする
![スクリーンショット 2019-05-16 13.16.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/efa0d379-771b-f3ec-597f-3018ae9d9bb8.png)

6．再び、`コマンドプロンプト`か`PowerShell`を開いて、MySQLにログインしたら、`show variables like "chara%";`と叩いて、`utf8`になっているか確認する（**完了**）
![スクリーンショット 2019-05-16 13.36.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/aed98571-81f4-bf7d-c156-657493982457.png)
*なぜか、このときCP932が残ってしまったが、基本はutf8になるはず*

##8.PHPからMySQLの疎通確認
IISから呼び出すPHPがMySQLと疎通できるか確認する

1．[Adminer](http://www.adminer.org/)から、PHPからMySQL接続確認phpファイルを取得する、`Adminer 4.7.1 for MySQL`をクリックしてダウンロード
![スクリーンショット 2019-05-16 13.44.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/65fd2586-8d7b-e76e-f3f1-24587cd36274.png)

2．ダウンロードしたファイルを`mysql.php`にリネームし、`C:\inetpub\wwwroot`ディレクトリ内に配置する

3．リモートでもローカルでも良いので、`http://サーバのIPアドレス/mysql.php`を開き、データベースのユーザ名とパスワードを入れてログインできるか試す（**完了**）
![スクリーンショット 2019-05-16 13.49.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/a39aa12f-b907-c518-236c-dcbb6d978917.png)

##9. プログラムソースコードを配置する
ここでは、オープンソースeポートフォリオシステム**Mahara**をサーバに展開する

1．Maharaの[ソースコード](https://launchpad.net/mahara/19.04/19.04.0/+download/mahara-19.04.0.zip)をダウンロードする

2．ダウンロードしたzipファイルを解凍する（Windowsの場合7-zipやLhaplusを推奨）

3．解凍したディレクトリ内にある`htdocs`を`mahara`にリネームし、`C:\inetpub\wwwroot`ディレクトリ内に配置する

4．`mahara`ディレクトリに対し、`Everyone`によるフルコントロール権限を与える（セキュリティ的には**強く非推奨**）
![スクリーンショット 2019-05-16 14.26.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/259d3082-cbae-63e3-5777-84e98af237aa.png)

5．適当な場所にmaharaの`dataディレクトリ`を作成する（ここでは、`C:\inetpub\temp\`ディレクトリ内に、`\uploaddir`を作成）

6．作成した`dataディレクトリ`に、`Everyone`によるフルコントロール権限を与える（セキュリティ的には**強く非推奨**）

7．`MySQL`で、mahara用のデータベースを、`root`ユーザで作成する（以下のコマンドを使用）

```sql:
CREATE DATABASE mahara CHARACTER SET utf8;
```

8．続けて、以下のコマンドを実行する

```sql:
GRANT ALL ON mahara.* TO '<maharaデータベース用ユーザ>'@'localhost' IDENTIFIED BY 'そのユーザのパスワード';
```

9．ソースの`mahara`ディレクトリ内の`config-dist.php`をコピーし、`config.php`として作成


10．`config.php`の中身を修正する

```php:config.php
#データベース
$cfg->dbtype   = 'mysql';
$cfg->dbhost   = 'localhost';
$cfg->dbport   = null; // Change if you are using a non-standard port number for your database
$cfg->dbname   = '<作成したデータベース名>';
$cfg->dbuser   = '<maharaデータベース用ユーザ>';
$cfg->dbpass   = '<そのユーザのパスワード>';

#dataディレクトリの場所
$cfg->dataroot = 'C:\inetpub\temp\uploaddir';

#サイトURLの設定
$cfg->wwwroot = 'http://<サーバのIPアドレス>/mahara/';

#maharaを使うためのおまじない
$cfg->urlsecret = null;
$cfg->passwordsaltmain = '<適当に長い文字列を入れましょう>';
```

11．リモートでもローカルでも良いので、`http://サーバのIPアドレス/mahara`にアクセスし、「**Install Mahara**」をクリック
![スクリーンショット 2019-05-16 14.56.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/659fcd9a-4d86-9ed2-487b-075feb5f5b6c.png)

12．インストール完了
![スクリーンショット 2019-05-16 14.57.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97177/13cdac8f-5c61-3ff6-7a30-92a2051c73c3.png)

#おわりに
Windows Sever 2012 R2のIISによっても、PHPとMySQLを構築して、LAMP環境で動いていたものを構築することができた。
しかし、IIS側の設定、セキュリティ設定を加味した方法ではないので、あくまで構築フローとして参照されたい。

###参考文献
[1] [Windows Server 2012にIIS 8 + PHP 5.4.10の環境を構築する - Symfoware](https://symfoware.blog.fc2.com/blog-entry-1077.html)
[2] [PHPをWindows Server の IIS(Internet Information Services)環境にインストールする (Windows Server Tips)](https://www.ipentec.com/document/windows-windows-server-install-php)
[3] [Windows Server 2016 ＆ IIS 10.0 に PHPをインストール｜No IT No Life - おすぎやん サーバの設計・構築](https://server-network-info.blogspot.com/2017/02/windows-server-2016-iis-100-php.html)
[4] [PHP: インストール要件 - Manual](https://www.php.net/manual/ja/install.windows.requirements.php)
[5] [MySQL Server 5.6 を Windows にインストールする手順 | WEB ARCH LABO](https://weblabo.oscasierra.net/installing-mysql56-windows-1/)
[6] [Windows Server 2012 へMySQL 5.5をインストールし、IIS 8 + PHP 5.4.10から接続する - Symfoware](https://symfoware.blog.fc2.com/blog-entry-1078.html)
[7] [Mahara日本語ドキュメント/システム管理者ガイド/Maharaのインストール - Mahara Wiki](https://wiki.mahara.org/wiki/Mahara日本語ドキュメント/システム管理者ガイド/Maharaのインストール)