Laravel開発環境をWindowsのWSL上に準備する

2021年11月13日

WindowsのWSLにおいてLaravel開発環境を準備した際のメモです。LinuxはUbuntu 20.04.3 LTSを使っています。手順として

  • XAMPPをLinuxにインストールしてPHPとMySQLを利用可能にする
  • ComposerをLinuxにインストールし、設定を済ませる
  • HeidiSQLまたはTablePlusをWindowsにインストールしてMySQLにアクセスできるようにする

エディターはVisual Studio Codeを使うので必要あればインストールしておく。

XAMPPをLinuxにインストール

WSL2上のUbuntuにはPHPとMySQLがインストールされていません。Laravelを使った開発には両社とも欠かせないのでインストールする必要があります。ここでは簡単にインストールできるXAMPPを使います。Linux版インストーラーをまず本家サイトからダウンロードします。

Linuxからのパスは/mnt/c/Users/don10/Downloadsになるので、以下のように実行すればXAMPPが/opt/lamppにインストールされます。

sudo /mnt/c/Users/don10/Downloads/xampp-linux-x64-8.0.12-0-installer.run

.bash_profileにexport PATH="$PATH:/opt/lampp/bin"を書いてパスを通し、php -vでPHPのバージョンを確認します。ApacheとSQLの起動は sudo /opt/lampp/lampp start で行います。

ブラウザでhttp://localhostにアクセスするとXAMPPのスタートページが表示されるはずです。

Composerをインストールする

Composerのインストールは、ComposerサイトのCommand-line installationの指示通りに以下のコマンドを実行します。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

ホームディレクトリ~/にできたcomposer.pharを~/binに移動し、名前もcomposerに変えます。

mv composer.phar ~/bin/composer

.bash_profileのパスに$HOME/binと$HOME/.config/composer/vendor/binを追加します。これでComposerのインストールが完了します。

Laravelプロジェクトを作成するときにunzipが必要になるので、sudo apt install unzipでインストールしておきます。

sudo apt install unzip

Composerを使ってLaravelプロジェクトをインストール

Laravelプロジェクトは以下のように作成します。

composer create-project laravel/laravel example-app

cd example-app

php artisan serve
作成されたexample-appディレクトリの中身

Laravel Installerを使う方法

Laravel Installercomposer global require laravel/installer でインストールし、以下のように使用します。

laravel new example-app

cd example-app

php artisan serve

HeidiSQLとTablePlusのインストール

XAMPPをインストールすればphpMyAdminが利用できるようになりますが、使いやすいHeidiSQLをWindowsにインストールして普段使用しています。MySQLに接続するときにホスト名はlocalhostにする必要があります。127.0.0.1ではつながりませんのでご注意を。

番外編:Windowsターミナルは突然色がつかなくなる

Windowsターミナルは使っているうちに突然色がつかなくなり、白黒になってしまった!調べてみたら.bash_profileファイルを作ったことが原因のようです。.bashrcに色に関する設定が書かれているようで.bash_profileがあると.bashrcが読み込まれなくなり、色が消えてしまう。source .bashrcで復活しますが、.bash_profileに自動的に.bashrcを読み込む記述をしておきます。

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

Laravel,PHP,WSL2

Posted by deanza329