XAMPPをインストールしてPHPとMariaDB(MySQL)が使えるようにする

この記事は、「[【連載】初めてのWindows用Laravel 5.7開発環境構築入門](https://qiita.com/hitotch/items/a646972fe1992611e92b)」の孫記事です。環境などの条件は、親記事をご覧ください。
この記事は、「[XAMPPでPHP＋MariaDB(MySQL互換)環境を構築する 2018年12月版](https://qiita.com/hitotch/items/0e1751ef38f83a9f3bf4)」の子記事です。
XAMPPではMariaDBがMySQLと表示されているため、記事タイトルでは併記しています。

---
　今回はほぼまっさらの状態のWindows 10 Proに、最新XAMPPをインストールし、PHPとMariaDBが動作するところまで行きます。

# XAMPPのインストール
　最初にXAMPPをダウンロードしてきてインストールします。

　[XAMPP (Apache Friends)](https://www.apachefriends.org)

　上記リンクに飛んで、「Windows向けXAMPP」をクリックし、インストーラをダウンロードします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/bc6b4470-a938-6ac3-c79e-e42b0cb24494.png)

　ダウンロードが終わったら、インストーラを実行します。
　実行すると以下の警告が出ます。「UACが邪魔になるので、Program Filesとかにインストールしないでね」と書いてるだけなので、OKで進みます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/0192d1c1-698e-91ac-3064-291735823ac2.png)

　インストーラが始まったらNextします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/ac1381c4-e12f-a146-fc02-2f1310013ba9.png)

　コンポーネントは、以下を選びます。

- Apache (Webサーバー)
- MySQL (DBサーバー、**実は中身はMariaDB** ←重要)
- PHP (言語)
- Fake Sendmail (メール送信ソフト、なくてもよい)

※以下の画像は事情によりTomcatが入ってますが、入れなくてもいいです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/94c2725e-faf1-ecd8-ec00-a9a5fe08166d.png)

　インストール先は、デフォルトのまま**C:\xampp**がおすすめです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/0966a8c5-95fc-c74d-afcb-0354776b3f8a.png)

　Bitnami for XAMPPの画面ではチェックを外してNext。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/731bf084-dd02-69fa-e00f-f30e7832fe19.png)

　インストールの準備完了画面が出るのでNext。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/4450e64c-e72b-3d52-949b-2afff86b4279.png)

　インストールが始まります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/1e88f5b8-19e1-3a80-97df-ee4de74564ca.png)

　**Apache HTTP Server**に対してファイアウォールブロックを解除するか聞いてくるので、[アクセスを許可する]
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/4907da7c-b481-170d-02ba-d57caf90589b.png)

　XAMPPインストール完了メッセージが出るので、そのままFinish。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/abef0f33-1363-7023-3911-642cd3c63a00.png)

　XAMPPを英語で使うので、アメリカ国旗を選んでSave。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/6c117f6f-340b-835f-8cec-b993efaa466d.png)

　XAMPPのコントロールパネルが出て、選択したモジュールの[Start]ボタンが押せる状態ならインストール成功です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/e9cc4433-fde0-120f-fe83-a9eb7f8848b1.png)

　**Apache**と**MySQL(=MariaDB)**の[Start]ボタンを押してスタートしてみましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/07d91ead-868e-1491-3095-36435910b5e3.png)

　上のように、Module欄が緑になって、PIDやPort番号が出たら、動作OKです。
　ただし、MariaDBも外部から接続されてよいか、ファイアウォールの警告が出ます。問題ないので[アクセスを許可する]で進めます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/7385d13d-70c3-008b-a887-204c68c1ebbf.png)
　
　MySQLの欄にもPort番号が出て、すべてOKになりました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/1c7320db-7052-7909-8e0d-ce4207419c29.png)

# PHPの動作確認
　うまく動作したので、PHPの動作確認をしてみましょう。
　以下のコードをテキストエディタやメモ帳で作って、info.phpというファイル名で **C:\xampp\htdocs** の中に保存してください。

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

　次に、ブラウザを開いて **http://localhost/info.php** にアクセスしてみてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/701f43c8-4e07-372d-391e-5ddae0235048.png)

　上のように出れば、PHPが正常に動作しています。
　ずーっと下にスクロールして、 **mysqli** のセクションがあることを確認してください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/b48a3cb6-f46e-b257-5039-e2d6852501af.png)

　このセクションで上のようになっていれば、PHPからMySQLに接続する準備は完了しています。

# MariaDBの動作確認と、rootパスワード設定
　MariaDBが動作しているか確認するとともに、**root**（MariaDBのすべての操作が行える、管理者用アカウント）のパスワード設定も行います。
　XAMPPのコントロールパネルが開いてなければ、スタートメニューから**XAMPP Control Panel**を開きます。

　コントロールパネルから**Shell**を開きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/58da1bf0-8ea8-0550-a9da-6b5f9c474215.png)

　パスワード設定のためのコマンドを打ち込み、パスワードを設定します。パスワードは確認含め2回打ち込みます。

```
mysqladmin -u root password
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/8b9b7681-7240-69d0-5844-e07b6383bf28.png)

　これで**root**のパスワードが設定されたので、早速設定したパスワードを使って、**MariaDB** に接続するテストをします。
　まず、xamppフォルダの下にインストールされたMariaDBプログラムのフォルダに移動します。

```
cd mysql\bin
```

　次に、MariaDBサーバーに接続します。

```
mysql -h localhost -u root -p
```

- -h: ホストを指定する。この場合**localhost**を指定。
- -u: ユーザーを指定する。この場合**root**を指定。
- -p: パスワードを指定する。この場合は指定がないのでのちほど要求される。

　パスワードを要求されるので、先ほど設定したパスワードを入力します。これで接続が完了すれば、MariaDBのプロンプトが出た状態になるはずです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/e7294d30-6f3e-c68b-339c-c72abb203c18.png)

　MariaDBに接続が確認できたので、

```
quit
```

で接続を解除して、完了です！