Laravelの開発環境をMac上に構築した際のMEMOです。Laravelをインストールした後、Macのローカル環境でPHPやLaravelの動作をブラウザで確認できるように仮想システム環境として、Homestead、VirtualBox、Vagrantをセットアップして、ブラウザで表示を確認するところまでMEMOしておきます。
Laravelのインストール
まず、composerが利用できる環境にしておく必要があります。あと、phpも7.2が必要のようです。このMEMO↓の中盤にインストール手順が書いてあります。phpは7.2だと思ってセットアップしてみてください。
composerが古いと
Warning: This development build of composer is over 60 days old. It is recommended to update it by running “/usr/local/bin/composer self-update” to get the latest version.
と言われるので、言われた通り、
/usr/local/bin/composer self-update
を実行して新しくしておきます。
次に日本語のドキュメントのバージョンが古いですが、
にあるように
composer global require “laravel/installer=~1.1"
でlaravelをインストールします。その後、laravelコマンドが実行できるように
vi ~/.bash_profile
で
export PATH="$PATH:~/.composer/vendor/bin"
を追記し、~/.composer/vendor/bin
までのパスを通し、
source ~/.bash_profile
しておきます。
新規Laravelプロジェクトの作成
cd /Users/tshiraishi/Documents/_laravel
は例ですが、プロジェクトを作成したいディレクトリに移動し、
laravel new
します。 -bash: laravel: command not found
と返ってきた場合、上記のパスが通っていません。また、phpが7.1以下の場合もエラーとなりますので、7.2をインストールしておきます。
Application ready! Build something amazing.
と出たら完了ですかね。
バージョンを指定してプロジェクトを作成する場合
Laravel のバージョン5.5のプロジェクトを作成
バージョンを指定してインストールしたい場合ですが、例として5.5の場合、公式ドキュメントはこちらです。
ターミナルでComposerの create-project コマンドを使って「laravel55」というプロジェクトをバージョン5.5で作成してみます。
composer create-project --prefer-dist laravel/laravel laravel55 "5.5.*"
それ以降の流れは、以下と同様でいけると思います
Laravel Homesteadのセットアップ
続いて、Laravel HomesteadをMacのローカル環境にセットアップした際のMEMOです。
に基づいてインストール作業を行います。
準備
仮想システム環境を構築して、Macのローカル上に特定バージョンのPHPやデータベース環境を構築し、ブラウザで動作確認できるようになります。仮想システム環境を構築するソフトウェアとして、Parallelsなども使えるようですが、今回はVirtualBoxでセットアップしました(Laravelの古いバージョンからドキュメントに書かれているのがVirtualBoxだったので)。
の二つをビジュアルインストーラを使ってインストールしておきます。
Homestead Vagrant Boxのインストール
vagrant box add laravel/homestead
をターミナルで実行しておきます。
Homesteadのインストール
ここは、Laravel 4.2 のドキュメント
にあった
composer global require “laravel/homestead=~2.0"
の記述に従ってインストールしましたが、2.0の指定は古くエラーが発生するので、
最新の安定バージョンは、GitHubのリリースページで見つかります。
の通り、最新リリースのバージョンを確認し(今日現在v9.2.2が最新でした)、
composer global require “laravel/homestead=~9.2.2"
でインストールしました。Homesteadのバージョンを確認すると
$ homestead -v Laravel Homestead 9.2.2
となりました。
Homesteadをプロジェクトごとにインストール
ドキュメントでは、グローバルにインストールする方法が先に書かれているのですが、ここではプロジェクトごとにインストールして、一つのプロジェクトに一つのヴァーチャル環境で試してみようと思います。
に従い、プロジェクトフォルダに移動し、
composer require laravel/homestead --dev
を実行し、
php vendor/bin/homestead make
で、「Homestead.yaml」を生成します。
Homesteadの設定
Homestead.yamlは、「Homestead.yaml.example」というファイルをリネームして、「Homestead.yaml」にして、必要な箇所だけ修正するといいと思います。
内容をそのまま記載しておくと
ip: 192.168.10.10 memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: /Users/tshiraishi/Documents/_laravel to: /home/vagrant/code sites: - map: homestead.test to: /home/vagrant/code/public databases: - homestead features: - mariadb: false - ohmyzsh: false - webdriver: false name: 'laraveltest' hostname: 'laraveltest'
こんな感じです。foldersのmapの参照先は、プロジェクトフォルダを指定します。sitesのmapの「homestead.test」は、このあと、hostsに設定しますが(後述)、ブラウザのURLに相当するものです。また、最後の方の行のnameとhostnameにある「laraveltest」というのは、元のフォルダ名によって、デフォルトで「-laravel」のようにハイフンが使われたものになったりしますが、ハイフンがついてるとエラーになるので、「laraveltest」のように変更しました。
SSHキー
あとは、authorinzeとkeysにある、 id_rsa や id_rsa.pub についても用意しなければなりません。
この辺りを参考に。
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/tshiraishi/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/tshiraishi/.ssh/id_rsa. Your public key has been saved in /Users/tshiraishi/.ssh/id_rsa.pub. The key fingerprint is: SHA256:tkh6aqLX8ArLI6TV1mN3iUfiy5q50J3/EVSyOIghoge tshiraishi@tshiraishi-MacMini.local The key's randomart image is: +---[RSA 2048]----+ | . .o . . | | oo o . + | | o. . o o | | E . .o | | . ...S+ .. | | .o o+..+o. . | |+. =o.++++ . | |++o ++ oo. . | |++o+. =o ... | +----[SHA256]-----+
デフォルトのパスは上記で指定している「~/.ssh/」と一致しているのでそのままで。パスフレーズ等は(ここでは試しなので)なしにしましたが、取り扱いは慎重に。
/etc/hostsへの記述
192.168.10.10 homestead.test
を追記します。ここに記述した homestead.test というのを上記の「Homestead.yaml」のsitesのmapに書きます。
Vagrant Box起動
「Homestead.yaml」を編集後、
vagrant up
を実行。この後、何か修正した場合、その設定をリロードするには、
vagrant reload --provision
をするのをお忘れなく。
再度、 http://homestead.test にアクセスしたところ、ようやく以下のようなページにアクセスすることができました。
.envのコピー
初めてセットアップした時ですが、ブラウザで http://homestead.test にアクセスすると、アクセスはできるものの 500 server error となりました。これは、プロジェクトフォルダに以下の.envを用意しておくことで解決しました。
cp .env.example .env
その後、
$ php artisan key:generate Application key set successfully. $ php artisan config:clear Configuration cache cleared!
VirtualBoxで仮想システムを制御
Applicationフォルダにインストールされた「VirtualBox」を起動すると、セットアップしたlaraveltestが実行中になっています。ここで仮想のシステムの電源を落としたり、再起動したりと制御可能です。
以上、MEMOし損なっている部分もありそうですが、だいたい記憶と辿ってMEMOしておいた内容です。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。