XAMPP for Windows 7.2.4をWindows8.1 Proにインストールしてみた。

備忘録。

[【2018年版】XAMPP（ザンプ）を用いてテスト環境を構築する手順]
(https://setsuzei-riman.jp/xampp-tasting-environment/)
を踏襲。2018/05/10時点での情報に合わせて若干調整。

#XAMPPインストーラを使う
インストーラが動いている際に2度Windowsファイアーウォールの警告が出たので「プライベート　ネットワーク」の方のみチェックを入れて「アクセスを許可する」設定にする。

![インストール時のエラー0000.png](https://qiita-image-store.s3.amazonaws.com/0/246304/5ec94ba9-a60e-0582-1b3c-b68f8f7f56a7.png)
これはApacheに対する警告画面。
同様の警告画面がmysql(MariaDB)に対しても表示された。

#XAMPP Control Panel を使う
インストーラから XAMPP Control Panel v3.2.2 を自動起動させる選択肢があったのでソレを選ぶ。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/246304/70df83da-68e1-892f-96f5-6ce82423e971.png)



まずはApacheを起動。
[Start]ボタンを押すと自動でIEが立ち上がり、スタートページが表示された。
私の環境では http(httpsではなく) の側のページが表示された。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/246304/188c05d5-14ed-1969-18b2-19218146a528.png)


URL手打ちで https に書き換えると、おなじみの「証明書」の警告を経て、表示できることを確認。

ほんとうは最初から localhost のみアクセス許可を設定すべきだろうけれども省略。




#MariaDBのパスワード
同様にしてmysql(MariaDB)もXAMPP Control Panelから起動。
[Start]ボタン押すだけ。

rootのパスワードも変更。
ふざけて tiger にしてみたら問題なく通ってしまったが、真似しては駄目だとおもう。

もちろん今は変えてある。
変えるには結構手こずってしまった。

まずmysql(MariaDB)を[Stop]ボタンで終了。
次のようなコマンドを Shell で実行。

```
# cd \xampp\mysql\bin
# mysqld.exe --skip-grant-tables
```

別窓で Shell を開き

```
# UPDATE mysql.user SET Password = '' WHERE Host = 'localhost';
```

mysql(MariaDB)を[Stop]ボタンで終了し、あらためて[Start]ボタンで起動。

```
# set password for root@localhost=password('MariaLovesScottTiger');
```

正しい作法かどうかはワカラン
同様に localhost のみアクセス許可を設定すべきだろうけれども割愛…と思ったがデフォルトで問題なさげ。

[Apache Friends Support Forum
\[Q&A\] Setting MySQL root password]
(https://community.apachefriends.org/f/viewtopic.php?f=16&t=72519)

も参照されたし。
phpMyAdminの設定を適切なものに変えてからphpMyAdmin上でパスワードを変更する方が楽だったかも知れない。

#PHPの動作を確認

```
# php -a
```

でコマンドラインでの対話的インターフェイスが動くのを確認。

```
echo "Hello, world"
```

とかいう風にセミコロンを忘れてエラーを出す所まで多分お約束。

```
# php -r "echo 'Hello, world'"
PHP Parse error:  syntax error, unexpected end of file, expecting ',' or ';' in
Command line code on line 1

Parse error: syntax error, unexpected end of file, expecting ',' or ';' in Comma
nd line code on line 1
```

#phpMyAdminの設定

phpMyAdminについては、都度でログインする設定をそのまま真似る。
[Apache Friends Support Forumの解説ページ](https://community.apachefriends.org/f/viewtopic.php?f=16&t=72519)にある通り。

C:\xampp\phpMyAdmin\config.inc.php を編集。
多分メモ帳で大丈夫。不安ならviでも何でもお好みで。

```
$cfg['Servers'][$i]['auth_type'] = 'config';
```

とある行を探す。

```
$cfg['Servers'][$i]['auth_type'] = 'cookie';
```

と変更。


こうして無事にphpMyAdminが起動したが、バージョン4.8.0が起動、4.8.0.1へのアップグレードをすすめるメッセージが出る。

https://www.phpmyadmin.net/security/PMASA-2018-02/

> Severity
> We consider this vulnerability to be critical.

> Affected Versions
> Version 4.8.0 is affected

> Solution
> Upgrade to phpMyAdmin 4.8.0-1 or newer or apply patch listed below.

とあるためアップグレードすることに。

Apacheとmysql(MariaDB)をStop
既存の phpMyAdmin フォルダを phpMyAdmin.4.8.0 にリネーム
zipファイルを7-zipで展開して C:\xampp\phpMyAdmin へコピー
編集済 config.inc.php ファイルを C:\xampp\phpMyAdmin へコピー

結果はこんなかんじ…
![phpMyAdmin-4.8.0.1.png](https://qiita-image-store.s3.amazonaws.com/0/246304/0a3ae6e9-caf7-08cc-7638-0e76f691e701.png)

…厳密には diff -ruN とかで確認すべきなんだろうけど…。
Windowsでpatchコマンド使う方法はしらにゃい
cygwin必須？


<br>
＜余談＞
『なんで Windows8.1 Pro とか持ってんだよウチはHomeだよ』という人も居るかも知れないが、コレは1,200円で買ったWin8Proのライセンス由来。なので、もともとはWin7Homeのライセンスだったりする…。

同様にして、Windows10Proのライセンスも入手して一本持ってる…。

だからどうしたと言われたら終了
＜／余談＞