概要
会社ではMac、自宅ではWindowsのような環境の場合、自宅でも慣れ親しんだBashを使って開発環境を整えたい場合や、WindowsにPHPやComposerを入れるのがめんどくさい、あまり汚したくないというなどという理由で、Windows Subsystem for Linuxを使ってPHPが動作する環境及びLaravel Homesteadが動作する環境を構築する手順を以下にまとめる。
なお、Homesteadはプロジェクトごとにインストールすることを前提とする。
プロジェクトごとにインストール - Laravel Homestead 5.6 Laravel
https://readouble.com/laravel/5.6/ja/homestead.html#per-project-installation
VirtualBoxのインストール
Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
Windows Subsystem for LinuxのUbuntu 18.04のインストール
Microsoft Storeからインストールする
Ubuntu 18.04 を入手 - Microsoft Store ja-JP
https://www.microsoft.com/ja-jp/p/ubuntu-1804/9n9tngvndl3q
Ubuntu 18.04を起動する
スタートメニューからUbuntu 18.04を起動することで、シェルが起動される。
初回起動時ユーザー作成が必要となるので、ユーザー名の入力、パスワードを入力する。
パスワードは以後、apt
を利用する際にsudo
を実行した時に聞かれるので覚えておくこと。
必要なパッケージのインストールする
- php-cli
- php-mbstring
- php-mysql
- php-xml
- php-zip
- composer
$ sudo apt update
$ sudo apt install php-cli php-mbstring php-mysql php-xml php-zip composer
ソース格納ディレクトリの準備とシンボリックリンクの作成
Windows Subsystem for Linuxでは、Ubuntu内からWindowsのファイルシステムにアクセスする場合/mnt配下にあるドライブレターごとのディレクトリ配下を参照することになる。
毎回ディレクトリを移動するのが面倒なため、Ubuntuのホームディレクトリ配下に、Windowsのホームディレクトリ配下に作成したディレクトリのシンボリックリンクを作成する。以下を実行しsrc
というディレクトリでプロジェクトを管理できるようにする。
$ mkdir /mnt/c/Users/<Windowsのユーザー名>/src
$ ln -s /mnt/c/Users/<Windowsのユーザー名>/src ~/src
Vagrantのインストール
VagrantはWindowsとWindows Subsystem for Linuxの両方にインストールする必要がある。
Windowsへのインストール
Download - Vagrant by HashiCorp
https://www.vagrantup.com/downloads.html
Windows Subsystem for Linuxへのインストール
$ wget https://releases.hashicorp.com/vagrant/2.1.1/vagrant_2.1.1_x86_64.deb
$ sudo apt install ./vagrant_2.1.1_x86_64.deb
$ rm vagrant_2.1.1_x86_64.deb
Vagrantの設定
Vagrant and Windows Subsystem for Linux - Vagrant by HashiCorp
https://www.vagrantup.com/docs/other/wsl.html
$ echo 'export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1"' >> ~/.bashrc
$ source ~/.bashrc
必要に応じて、秘密鍵と公開鍵を生成しておく。Vagrantを起動する際に必要だが、他に利用用途が無い場合にはパスワードを設定しなくても良いかも。
$ ssh-keygen -t rsa -b 4096
ここまで設定すれば、後の手順はLinuxやMacで行う手順とほぼ同じとなる。
Laravelコマンドのインストール
$ composer global require laravel/installer
$ echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
$ source ~/.bashrc
プロジェクトの作成とHomesteadの追加
$ cd ~/src
$ laravel new blog
$ cd blog
$ composer require laravel/homestead --dev
$ php vendor/bin/homestead make
Homesteadの起動
Homesteadを初めて利用する場合、必要なBoxイメージをダウンロードするため時間がかかる。
$ vagrant up
vagrant ssh
を実行した際、vagrantのユーザーのパスワードを聞かれた場合にはパスワードとしてvagrant
を入力する。