【WSL2】Laravel9を0からインストールする手順

テクノロジー・ガジェット

前提

Linux 用 Windows サブシステム (WSL)の環境をリセットして新たにubuntuを入れてLaravelの環境を構築します

  • Windows11 Pro 22H2
  • Ubuntu22.04.1 LTS
  • docker desktopがインストールされていることが前提

Ubuntuのアンインストール

Windowsキー+I アプリ→インストールされているアプリ→Ubuntu→アンインストール

Windowsキー → wt エンター

ターミナルを開きます

wsl.exe -l

Ubuntu-22.04(既定)を確認

wsl.exe --unregister Ubuntu-22.04

上記で登録解除。PCを再起動する

Ubuntuのインストール

Microsoft StoreからUbuntu 22.04.1 LTSをインストール

インストール完了後、Ubuntuを起動する。ユーザー名とパスワードを設定

Windowsキー → wt エンター Windows PowerShellで以下のコマンドを実行

wsl.exe  --set-default Ubuntu-22.04

これでdockerコマンドのパスが通る。

ミラーサーバーの設定を変える

sudo nano /etc/apt/sources.list

上記コマンドでアップデートサーバーを確認します。上記は省略可能。

デフォルトでは遅いので山形大学のサーバーに変更します。

sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list 
sudo apt update
sudo apt upgrade -y
sudo apt update

Laravelのインストール

プロジェクトをインストールしたいフォルダに移動する

以下、例

mkdir code
cd code
mkdir project
cd project
code .

vscodeで新しいターミナルを開きます。

curl -s https://laravel.build/example-app | bash

上記のexample-appは変えてOKです。

途中 apt-get updateに失敗します。

vscodeの検索機能で「apt-get update」を検索し、Dockerfileの場所を確認します。

例えば vendor/laravel/sail/runtimes/8.2/Dockerfile にあります。

複数検索にヒットすると思いますが、最新版のPHPバージョンのDockerfileを開き、apt-get updateの上に以下のコードを追加します

RUN perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list

アップデートサーバーを山形大学のサーバーに変更します。

以下のような並びになればOKです。

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list

RUN apt-get update \

Dockerfileを上書き保存します。

その後、cd example-app && ./vendor/bin/sail upを実行します。

example-appはプロジェクト名

ブラウザで localhostに接続してLaravelのトップ画面が出れば成功です。

シェルエイリアスの設定

./vendor/bin/sail up は長いので、sail upでコマンドが使用できるように設定します。

echo "alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'" >> ~/.bashrc && source ~/.bashrc

上記コマンドをどこのディレクトリにいてもいいので実行します。

以降は「sail up」でOKになります。

コメント