WindowsでXAMPPを使えばLaravel環境構築は簡単

Windows10でLaravelを使って動作検証やLaravelの学習に使用したい場合、XAMPPを利用することで短時間でLaravel環境を構築することができます。
本文書ではXAMPPのインストールからLaravelとMySQLへの接続までの手順の説明を行っています。
MACを使用している場合は下記の文書を参考にしてください。
目次
XAMPPのインストール
XAMPPとは
XAMPPは、Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P)を表しています。XAMPPをインストールすることでApache, MariaDB, PHP, Perlが利用できる環境を構築することができます。
XAMPPはフリーでオープンのソフトウェアで主にWindows上でのWebサーバの開発用に利用されます。PHPでWebサーバを構築する書籍などでは必ずXAMPPのインストールが紹介されています。

XAMPPのインストール
XAMPPインストールサイトにアクセスして、赤線で囲まれたWindows向けXAMPPをクリックします。

クリックすると自動でダウンロードが開始されます。ダウンロードが完了するとデスクトップにxamppのアイコンが作成されるので、ダブルクリックでインストールを開始します。

アイコンをダブルクリックするとインストールが始まり、ユーザ制御画面が表示されます。”このアプリがデバイスに変更を加えることを許可しますか”と表示されるので”はい”をクリックします。
“はい”をクリックした後、Windows上でウィルスソフトが動作していると下記のメッセージが表示されます。ウィルスソフトが入っているとソフトウェアのインストールに遅延等が発生する場合があるのでそれでもインストールを続けますかという内容です。
インストールを継続するので”Yes”をクリックします。

”Yes”をクリックするとユーザアカウントコントロールに関する画面が表示されます。

重要!ユーザアカウントコントロール(UAC)がシステムで動作しているので、XAMPPの関数が制限される可能性があります。writeパーミッションのないC:¥Program Files (x86)にインストールをするのを避けるかこの設定の後にmsconfigでユーザアカウントコントールを停止してくださいという内容です。そのまま”OK”ボタンをクリックしてください。
次にセットアップウィザード画面が表示されるので、”Next”ボタンをクリックしてください。

XAMPPでインストールするアプリケーションの選択画面が表示されます。本文書ではすべてにチェックを入れてインストールを行います。デフォルトでもすべてのアプリケーションが選択されています。

インストール先のフォルダ選択画面が表示されます。初期設定ではC:\xamppがインストールフォルダに設定されています。変更しない場合は、そのまま”Next”ボタンをクリックしてください。

XAMPP上で使用できるアプリケーションの説明を確認したい場合はチェックをして”Next”ボタンを押してください。チェックを外しても問題ありません。


インストールの準備が整ったので、”Next”ボタンをクリックするとインストールが始まります。

プログレスバーでインストールの進捗状況を確認することができます。

インストールの完了画面が表示されます。コントロールパネルを起動したい場合はチェックをつけて”Finish”ボタンをクリックしてください。

言語の選択画面が表示されるので、デフォルトのアメリカの国旗のラジオボタンを選択したまま”Save”ボタンをクリックします。

コントロールパネルが下記のように表示されます。

以上でXAMPPのインストールは完了です。
XAMPPの動作確認
インストールが完了したので、XAMPPの動作確認を行います。
XAMPP コントロールパネルを利用して、WEBサーバのApacheの起動を行います。コントローラパネルの起動は、XAMPPのインストールフォルダのC:\xamppのフォルダにあるxampp-control.exeで行います。xampp-control.exeファイルをダブルクリックするとコントロールパネルが起動します。
Apacheは下記のStartボタンをクリックしてくだしい。

起動が完了するとポート番号で80で起動していることがわかります。

ブラウザを起動して、URLにhttp://localhostを入力してください。下記の画面が表示されていればXAMPP上でApacheが正常に動作していることが確認できます。

上記に表示されている内容はXAMPPのインストールフォルダのC:\xampp\htdocsのindex.phpです。中身は下記の通りに記述されており、/dashboardのindex.htmlが表示されることがわかります。
<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
$uri = 'https://';
} else {
$uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/dashboard/');
exit;
?>
Something is wrong with the XAMPP installation :-(
このように XAMPPのインストールが完了し、Apacheを起動するとC:\xampp\htdocs以下にphp, htmlファイルを保存していけばブラウザからアクセスできることがわかります。
Apacheの動作確認を行ったので、コントロールパネルでApacheをStopして停止しておいてください。
Composerのインストール
LaravelをインストールするためにPHPパッケージ管理ツールのComposerのインストールを行います。ComposerをインストールすることでLaravelのインストールだけではなくLaravelインストール後のパッケージの追加などを管理することができます。
Composerのダウンロードサイトにアクセスします。下記の画面が表示されるので、Downloadボタンをクリックしてください。

Windows Installerを赤の四角で囲まれたComposer-Setup.exeのリンクをクリックしてダウンロードします。

ダウンロードが完了するとComposer-Setup.exeがデスクトップに保存されるのでインストールを行うため、ダブルクリックします。
インストールオプション画面が表示されるので、インストールタイプを選択することができます。Developer modeにチェックを入れるとComposerのインストールのみを行い、アンインストーラーが含まれていないので、チェックせずに”Next”ボタンをクリックします。

PHPの実行ファイルのパスの設定を行いますが、XAMPPがインストールされているので、XAMPPのインストール時にインストールされるPHPのパスが自動で設定されます。

プロキシの設定画面が表示されますが、プロキシの設定を行わない場合はNextボタンをクリックします。

インストール準備が整ったのでインストール確認画面が表示されます。”Install”ボタンをクリックしてください。

Composerのインストールのプログレスバーが表示され、進捗状況がわかります。

ImportantということでInformationが表示されます。Composerのインストールで環境が変化するが現在動作しているプログラムに即座に変更が反映されるわけではないので、初めてComposerを使用する場合は次のどれかを実行する必要があります。
新しいコマンドウィンドウを開く、すべてのエクスプローラー閉じて、新しいコマンドウィンドウを開く、ログオフ、ログオンを行い、新しコマンドウィンドウを開く。

インストールが完了すると下記の画面が表示されるので、”Finish”ボタンをクリックします。

コマンドプロンプトを起動して、composer -Vを実行します。Composerのバージョン情報が表示されればインストールは正常に完了しています。
C:\Users\Windows>composer -V
Composer version 1.9.0 2019-08-02 20:55:32
PATHの確認
Laravelをインストールするためには、ComposerとPHPのパスの設定が必要です。ここまでの作業を終えるとCompserとPHPのパス設定が行われています。
パスが通っているのか確認するためにwhereコマンドを実行すると下記のようにどちらもパスが通っていることを確認することができます。
C:\Users\Windows>where composer
C:\ProgramData\ComposerSetup\bin\composer
C:\ProgramData\ComposerSetup\bin\composer.bat
C:\Users\Windows>where php
C:\xampp\php\php.exe
パスの設定はシステムプロパティの環境変数から確認することができます。

システム環境変数のPathを選択して編集ボタンを押してください。

設定されているパスにC:\xampp\phpとC:\ProgramData\ComposerSetup\binが登録されていることが確認できます。

Laravelの設定
Laravelのインストール
Composerを利用してLaravelのインストールを行います。下記のコマンドはデスクトップで行っていますが、Laravelの構成ファイルを保存したい場合で実行してください。下記のコマンドを実行すると実行フォルダの下にlaravel5.8フォルダが作成され、その下にLaravelの構成ファイルが保存されます。
C:\Users\Windows\Desktop>composer create-project --prefer-dist laravel/laravel laravel5.8
laravel5.8フォルダに移動して、php artisanコマンドで開発サーバを起動します。
C:\Users\Kazu\Desktop\laravel5.8>php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
ブラウザを起動して、http://127.0.0.1:8000にアクセスして下記の画面が表示されればLaravelのインストール完了です。

MySQLへの接続
XAMPPをインストールするとMySQLであるMariaDBも一緒にインストールされ、XAMPPのコントロールパネルからMySQLの起動、停止を行うことができます。
C:\xamppの下にあるxampp-control.exeをダブルクリックするとコントロールパネルが起動します。

MySQLのStartボタンをクリックするとMySQLが起動して、ポート番号を確認することができます。3306ポートで起動しています。

起動したMySQLにはコマンドラインで接続を行うことができます。C:\xampp\mysql\binフォルダの下にあるmysql.exeを下記のように実行するとMySQLへ接続を行うことができます。接続ユーザはrootでパスワードは未設定です。
C:\>cd xampp\mysql\bin
C:\xampp\mysql\bin>mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.16-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Laravel用のデータベースの作成
MySQLへの接続ができたので、データベースの作成を行います。
MariaDB [(none)]> create database laravel58; Query OK, 1 row affected (0.002 sec)LaravelからのDBへの接続設定
Laravelから作成したMySQLデータベースへの接続を行います。Laravelのインストールフォルダの下にある.envファイルを開いてデータベースの設定パラメータを下記のように設定します。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel58
DB_USERNAME=root
DB_PASSWORD=
設定完了後、php artisan migrateコマンドを実行して、テーブルの作成を行います。テーブルの作成が完了したら、LaravelからMySQLへのデータベース接続が正常に行われていることがわかります。

C:\Users\Windows\Desktop\laravel5.8>php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.05 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (0.05 seconds)
laravel58にconnectコマンドで接続して、show tablesコマンドを実行すると作成したテーブルを確認することができます。
MariaDB [(none)]> connect laravel58
Connection id: 10
Current database: laravel58
MariaDB [laravel58]> show tables;
+---------------------+
| Tables_in_laravel58 |
+---------------------+
| migrations |
| password_resets |
| users |
+---------------------+
3 rows in set (0.001 sec)
ここまでの作業を終えるとLaravelとMySQLの動作環境の構築は完了です。
phpMyadminを受かったDBへの接続
XAMPPをインストールするとデータベース管理のGUIソフトウェアのphpMyadminを利用してデータベースへの接続を行うことができます。
phpMyadminはWebサーバ経由でデータベースの接続を行うため、Apacheを事前にXAMPPコントールパネルから起動しておく必要があります。
ApacheとMySQLを起動して、ブラウザからhttp://localhost/phpmyadminにアクセスすると下記の画面が表示されます。

phpMyadminを経由してデータベースの接続やデータの挿入を行うことができます。