このブログはTHE SONICテーマを使用しています

MacOSにLaravel Homesteadを導入する手順

4 min

今流行りのPHPフレームワーク「Laravel」。

これを扱いたい案件があって、開発環境を準備した時にちょっと迷ったので備忘録がてら手順を解説していきます。

仮想マシンを作る

Laravelを動かすための仮想マシンを作成していきます。

使うアプリケーションは以下の通り。

  • VirtualBox
  • Vagrant

順番に導入していきます。

VirtualBoxのインストール

とりあえず仮想マシンを管理できるVirtualBoxを準備。

公式サイトからパッケージをダウンロード。

ダウンロードできたらdmgを実行してインストールしましょう。

Vagrantのインストール

続いて仮想マシンの操作・開発環境の構築をするVagrantもインストールします。

公式サイトからパッケージをダウンロード。

これもdmgを実行したらインストールするだけ。簡単。

仮想環境の構築

続いてVagrantでHomesteadやらを導入していきます。

Homesteadの導入

ここからはターミナルの操作になります。

とりあえずユーザー直下のディレクトリで作業しましょう。

$ vagrant box add laravel/homestead

こんなコマンドを打ち込むと、次のように訊かれますので、VirtualBoxを指定します。

==> 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番ですね。

しばらく時間がかかるので、コーヒーでも飲んで待ちましょう。

Vagrant boxの導入が完了するとこんなメッセージが表示されます。

==> box: Successfully added box 'laravel/homestead' (v9.3.0) for 'virtualbox'!

問題がなければHomesteadをGitから落としてきましょう。

$ git clone https://github.com/laravel/homestead.git Homestead

cloneが完了したら、Homesteadディレクトリに移動して初期化します。

$ cd ./Homestead
$ bash init.sh

完了メッセージが出たらOKです。

Homestead initialized!

仮想マシンとホストの共有フォルダは、デフォルトではhomestead/codeに設定されています。

しかしcodeフォルダが存在しないので、自分で作ってあげる必要があります。

$ cd ~/
$ mkdir code

ここまでできたら準備完了です。
仮想マシンを起動してみましょう。

仮想マシンを起動する

仮想マシンを起動するのもターミナルからコマンド入力で行います。

$ cd ./Homestead
$ vagrant up

何やらエラーが出てしまいました。

Check your Homestead.yaml (or Homestead.json) file, the path to your private key does not exist.

Homestead.yaml(設定ファイル)の秘密鍵へのパスを確認してくれってことだったので、ファイルの中身をみてみます。

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

パスは記述されているので、秘密鍵自体が存在していないようです。
秘密鍵を作成しましょう。

$ cd ~/
$ ssh-keygen -t rsa

どこにファイルを作成するか訊かれます。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): 

特に指定もないのでそのままリターンキーを叩く。

続いてパスフレーズ。

Enter passphrase (empty for no passphrase): 

適当に決めてリターン。
再度入力を求められるので、同じものを入力してリターン。

パスフレーズなんていらないぜ!って時は何も入力せずリターン。

SSH秘密鍵が作成されたか確認します。

$ ls -la I grep .ssh

無事に作成されていたら、再び仮想マシンの起動を試してみます。

$ cd ./Homestead
$ vagrant up

しばらくかかるので、カップラーメンでも食べながら待ちましょう。

VirtualBoxを開いて、こんなのがあれば起動完了です。

Laravelプロジェクトの作成

仮想マシンを起動できたら、ターミナルでSSH接続します。

$ vagrant ssh

無事に接続できました。

codeディレクトリに移動して、新規プロジェクトを作成します。

$ cd code
$ larval new test

仮想マシンのcodeディレクトリの下にtestディレクトリと、プロジェクトが作成されました。

これに合わせてホストと仮想マシンの紐付けをしてあげます。

/Users/ユーザー名/Homestead/Homestead.yamlを編集。

sites:
    - map: homestead.test
      to: /home/vagrant/code/test/public

mapのアドレスにアクセスすると、toのディレクトリが参照されるようになりました。

hostsファイルの編集

最後に、homestead.testにアクセスした時に、仮想マシンのIPアドレスに割り当てるようにhostsファイルを編集してあげます。

【仮想マシンのIP】 homestead.test

ここまでで一通りの作業は完了です。

あとは実際にhomestead.testにアクセスしてみて、ウェルカムページが表示されているのが確認できたらOKです。

DB接続情報の編集

仕上げにデータベースへの接続情報を編集しておきます。

$ cd test
$ sudo vi .env

上記コマンドで.envファイルの編集に入れます。

該当部分を次のように編集しましょう。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

保存したら、migrationしてあげます。

$ php artisan migrate

さいごに

導入までがだいぶ面倒くさいですけど、あとはHomesteadでプロジェクトをガシガシ作ったり壊したりできるようになりました。

気兼ねなく遊べますね!

関連記事
はるしか

はるしか

ゲーム・漫画・アニメ・クルマ・ガジェットなど多趣味な雑食系で、わからないこと・気になることがあればすぐ調べないと気が済まないタイプ。
集めた知識を独自の観点でお伝えしていきます。

FOLLOW

カテゴリー:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です