概要
Macでローカル環境にLaravelの環境を構築する方法です。
一台のPCで環境を複数構築するのは大変なので、仮想環境(Virtualbox + Vagrant + homestead)を使用した環境の構築方法をここでは行います。
手順が多く初めての場合は大変ですが、手順通りに行うと仮想環境を構築することができると思います。
環境
- macOS Ventura 13.1
Vagrantのインストール方法
Vagrant(ベイグラント)は仮想環境の構築、設定ができるソフトウェアです。
Vagrantをインストールする場合は、次のコマンドを実行してください。
brew install vagrant
以下のように出力されたらインストール成功です。
🍺 vagrant was successfully installed!
インストールされたバージョンの確認を行います。
vagrant -v
- 記事の作成時点でのバージョンは、”Vagrant 2.3.4”です。
Virtualboxのインストール方法
Virtualboxをインストールする場合は、次のコマンドを実行してください。
brew install virtualbox
途中で、パスワードを聞かれるのでパスワードを入力します。
以下のように出力されたらインストール成功です。
🍺 virtualbox was successfully installed!
Vagrantのboxの作成
boxとは
Vagrantのboxは、作成する仮想マシンのベースのような物です。
boxの作成方法
- ユーザーディレクトリに移動します。
cd ~/
- boxにhomesteadを追加します。
vagrant box add laravel/homestead
- 使用するプロバイダーを聞かれるので、”2″を入力して”Enter”を入力します。
==> box: Loading metadata for box 'laravel/homestead' box: URL: https://vagrantcloud.com/laravel/homestead This box can work with multiple providers! The providers that it can work with are listed below. Please review the list and choose the provider you will be working with. 1) parallels 2) virtualbox Enter your choice: 2
- 以下のようにメッセージが出力されたら作成完了です。
(約10分ほど時間がかかります。)
==> box: Adding box 'laravel/homestead' (v12.2.0) for provider: virtualbox box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/12.2.0/providers/virtualbox.box box: Calculating and comparing box checksum... ==> box: Successfully added box 'laravel/homestead' (v12.2.0) for 'virtualbox'!
SSH用の鍵の作成
仮想サーバにログインをする際に使用するSSH用の鍵の作成をします。
今回は、「~/.ssh」へ作成を行う前提で説明を行います。
鍵の作成方法
- ユーザーディレクトリに移動します。
cd ~/
- 「.ssh」フォルダを作成します。
mkdir ~/.ssh
- 秘密鍵の作成を行います。
ssh-keygen -t rsa
- 鍵を保存するフォルダを聞かれるので、今回は「/Users/xxxx/.ssh/id_rsa_vagrant」と入力して”Enter”を入力します。(”xxxx”の部分はユーザー名に置き換えてください。)
Generating public/private rsa key pair. Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): /Users/xxxx/.ssh/id_rsa_vagrant
- パスフレーズを入力します。
Enter passphrase (empty for no passphrase):
- 同じパスフレーズを再度入力します。
Enter same passphrase again:
- 鍵が作成されているか確認します。
ls ~/.ssh
「id_rsa_vagrant」、「id_rsa_vagrant.pub」が作成されていたら成功です。
Homesteadの設定
Homestead(ホームステード)は、Laravel が動作する開発環境を簡単に構築できるツールです。
前提
Homesteadはgitよりcloneします。
cloneを作成する場所は「~/php/homestead」として進めます。
Homesteadのclone
- 次のコマンドを実行します。
git clone https://github.com/laravel/homestead.git ~/php/homestead
- 以下のように出力されてすぐに完了します。
Cloning into '/Users/hamada/php/homestead'... remote: Enumerating objects: 6095, done. remote: Counting objects: 100% (689/689), done. remote: Compressing objects: 100% (357/357), done. remote: Total 6095 (delta 439), reused 555 (delta 328), pack-reused 5406 Receiving objects: 100% (6095/6095), 1.50 MiB | 182.00 KiB/s, done. Resolving deltas: 100% (3801/3801), done.
Homesteadの初期化
仮想環境と共有するフォルダを「~/php/service/laravel-sample」として進めます。
- フォルダの作成をします。
mkdir ~/php/service mkdir ~/php/service/laravel-sample
- Homesteadのcloneを作成したフォルダに移動します。
cd ~/php/homestead
- 「init.sh」を実行します。
zsh init.sh
- 「Homestead initialized!」が出力されたら初期化完了です。
Homestead.yamlの編集
「~/php/homestead/Homestead.yaml」の編集を行います。
変更内容は以下になります。
- authorize
「~/.ssh/id_rsa.pub」 → 「~/.ssh/id_rsa_vagrant.pub」へ変更 - keys
「~/.ssh/id_rsa」 → 「~/.ssh/id_rsa_vagrant」へ変更 - folders – map
「~/code」 → 「~/php/code/laravel-sample」へ変更 - folders – to
「/home/vagrant/code」 → 「/home/vagrant/code/laravel-sample」へ変更 - sites – map
「homestead.test」 → 「laravel-sample.test」へ変更 - sites – to
「/home/vagrant/code/public」 → 「/home/vagrant/code/laravel-sample/public」へ変更
変更後のHomestead.yamlは以下のようになります。
--- ip: "192.168.56.10" memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa_vagrant.pub keys: - ~/.ssh/id_rsa_vagrant folders: - map: ~/php/service/laravel-sample to: /home/vagrant/code/laravel-sample sites: - map: laravel-sample.test to: /home/vagrant/code/laravel-sample/public databases: - homestead features: - mysql: true - mariadb: false - postgresql: false - ohmyzsh: false - webdriver: false services: - enabled: - "mysql"
Hostsの編集
Hostsの最終行へ、以下を設定します。
192.168.56.10 laravel-sample.test
仮想環境の起動
ようやく準備が完了です。
実際に仮想環境を起動します。
- Homesteadのフォルダへ移動します。
cd ~/php/homestead
- HomesteadのVagrant Boxを起動します
vagrant up
仮想環境へログインする
次のコマンドを実行して、作成した仮想環境へログインをします。
vagrant ssh
ログインできたら以下のようになります。
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-124-generic x86_64) _ _ _ | | | | | | | |__ ___ _ __ ___ ___ ___| |_ ___ __ _ __| | | '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` | | | | | (_) | | | | | | __/\__ \ || __/ (_| | (_| | |_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_| * Homestead v13.2.1 | Thanks for using Homestead * Settler v12.2.0 vagrant@homestead:~$
仮想環境へLaravelをインストールする
- codeフォルダへ移動します。
cd code
- 以下のコマンドを実行してLaravelをインストールします。
composer create-project --prefer-dist laravel/laravel laravel-sample
- ブラウザより以下のURLへアクセスをして正常に表示されることを確認します。
http://laravel-sample.test
以下のようなLaravelのWelcome画面が表示されたら環境構築は終わりです。
仮想環境のシャットダウンする方法
仮想環境をシャットダウンする場合は以下のコマンドを実行します。
vagrant halt
最後に
長くなりましたが、いかがだったでしょうか?
今回、MacのOSのアップデートで仮想環境が立ち上がらなくなり久々にVagrantを触ったので情報をまとめた感じです。
色々な要因で動かなくなるので、都度、情報を更新していきたいと思います。
次回、「LaravelのBreezeを使ってログイン認証画面を作成する」でBreezeで認証機能の説明を行います。そちらも是非ご覧ください。