Laravelプロジェクトごとに環境構築
フレームワーク無しのPHP開発環境を、vagrantを使って共有したり他マシーンに移植する方法はわかった。次は、Laravelプロジェクトの環境を、Homestead(Laravel公式のvagrant box)を使って構築する。
グローバルにインストールすると、プロジェクト間で予期せぬ汚染を招きそうなので、ここではプロジェクト毎に構築する方法を説明する。
以下のサイトからも手順を参考にした。
HomeSteadはプロジェクト毎にインストールするようにする
実は、グローバル構築しようとして半日以上、エラーと向き合ってヘトヘトになっていた。その後に読むと、普段はいまひとつ頭に入ってこないLaravel公式サイトの説明も、すんなり理解できた。
プロジェクトごとにHomesteadをインストールする利点は、Vagrantfileをプロジェクトに用意すれば、プロジェクトに参加している他の人達も、vagrant upで仕事にとりかかれることです。
グローバルで構築した場合、Homestead.yaml に各プロジェクト(アプリ、あるいはサイト)の設定情報をまとめねばならず、見通しが悪くなりそうなのと、各プロジェクトごとに独立させた方が、どこかで失敗した時のダメージが小さくて済む。
なので、プロジェクトごとに環境構築する。
目次
ディレクトリー構成
Vagrant と VirtualBox はもちろんインストール済み。2020年3月2日現在、VirtualBoxはバージョン 6.1.4 r136177 (Qt5.6.3)、Vagrant は version 2.2.7。
vagrant up の起点となるディレクトリを、ホームディレクトリ直下の ~/Homestead_Site 以下に作成。
グローバルでhomestead環境を構築するのに ~/Homestead ディレクトリを作成済みなので、それと区別して、~/Homestead_Site ディレクトリを作成。この配下に、各プロジェクトを配置していく。
$ mkdir ~/Homestead_Site
そしてHomeSteadはプロジェクトごとにインストールする。
$ cd Homestead_Site $ mkdir project01
仮想環境との共有フォルダも先に作っておく。
グローバルで構築したHomestead環境の共有フォルダとして、~/code/ を作成済みなので、それと区別して ~/code_proj/ 以下に各プロジェクトが配置されるようにする。
$ mkdir ~/code_proj $ cd ~/code_proj $ mkdir project01
ホストマシン側と仮想環境(ゲストマシン側)で、このような構成でフォルダが共有されるはず。
* Host ~/code_proj ├ project01 └ project02 * Guest /home/vagrant/code ├ project01 └ project02
Homesteadのインストール
一つ目のプロジェクトを管理するディレクトリに移動。
$ cd ~/Homestead_Site/project01
まずは、composerのダウンロード
$ php -r "copy('https://getcomposer.org/composer.phar', 'composer.phar');"