Laravel – Homestead 環境の構築

Laravel を利用した Webアプリケーション開発に便利な Homestead 環境の利用について紹介します。

Homestead

Homestead は Vagrant を利用した、Laravel 向けの仮想環境構築ツールです。

PHP アプリケーションの開発に際し、決められたPHPのバージョンを用意したり データベースの用意を行ったりするのは、非常に手間のかかる作業です。

仮想環境を用いた環境構築を行うことで、個々のPCにインストールされている構成を気にせず、プロジェクトごとに様々な異なる環境を用意する事ができるようになります。

Homestead を利用する際には Vagrant のセットアップが必要です。以下の2つをダウンロードしてインストールしてください。

  • VirtualBox https://www.virtualbox.org/wiki/Downloads
  • Vagrant https://www.vagrantup.com/downloads.html

Homestead 環境の構築

Vagrant のインストールが終わったら、 Homestead 環境の構築を始める事が出来ます。

まずは、Homestead の環境ファイルを用意します。

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

上記のようにコマンドでGit経由のダウンロードが行えるほか、GithubのページにアクセスしてZip形式でファイルをダウンロードすることもできます。

https://github.com/laravel/homestead/releases

ファイルのダウンロードが完了したら、取得したフォルダの中に移動し、以下のコマンドを実行してください。設定ファイル Homestead.yml が自動的に作成されます。

$ bash init.sh

Homestead.yml は、仮想環境の設定ファイルです。例えば folders のセクションはローカルマシンと仮想PCとのファイルの同期の設定を示しています。

folders:
    - map: ~/code
      to: /home/vagrant/code

デフォルトでは、ローカルPC の ~/code フォルダと /home/vagrant/code フォルダとを同期するように設定されているため、 以下のコマンドで ~/code フォルダを作成しておきましょう。

$ mkdir ~/code

設定ファイルが確認出来たら、最後にvagrant up コマンドを実行して仮想環境を立ち上げます。

しばらくして仮想環境の構築が終わったら vagrant ssh コマンドを実行して仮想環境にログインします。

  • 鍵関係のエラーが表示された方は、ssh-keygen -t rsa コマンドを利用して、SSH認証鍵の作成を行ってください。

Laravel プロジェクトの構築

vagrant ssh コマンドを実行して仮想環境にログイン出来たら、コードの同期先である /home/vagrant/code に移動して、Laravel のプロジェクトを構築してみましょう。

$ cd code
$ composer create-project --prefer-dist laravel/laravel .

ホストマシンの側でも ~/code を確認してみると、 Laravel のファイル群が転送されているのが確認できるでしょう。

無事 Laravel のセットアップが完了すれば、 http://192.168.10.10/ で Laravel の初期画面が確認できるはずです。

Homestead 環境のカスタマイズ

Homestead 環境ではデフォルトで MySQL が利用可能な状態になっています。

Laravel から Homestead 内の MySQL への接続は デフォルトの .env 設定で行えるようになっています。

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

Postgres DBを使用するケースでも同様に デフォルトの homestead/secret ユーザが利用可能です。

ホストマシンからの DB接続

ホストマシンから MySQL WorkbenchPostico などのツールを用いて データベースを確認したい場合、
転送用のポートを利用して接続を行う事が可能です。

Homestead からの ポート転送は以下の設定で行われています。

  • SSH: 2222 -> Forwards To 22
  • HTTP: 8000 -> Forwards To 80
  • MySQL: 33060 -> Forwards To 3306
  • Postgres: 54320 -> Forwards To 5432

プロジェクト毎のインストール

PCにグローバルに Homestead を構築するよりも、 プロジェクトごとに個別の Homestead 環境を構築したい、というケースもあるかもしれません。

Composer がセットアップされたPCで、必要なPHPのバージョンを用意できる場合、簡単に プロジェクト個別の Laravel を用意することが出来ます。

特にMac の場合は、以下のサイト経由で 簡単に任意のバージョンの PHP が用意できるため、構築はさほど苦にならないでしょう。

https://php-osx.liip.ch/

プロジェクト個別の Homestead 環境を構築するには、まず Laravel のプロジェクトをローカルで構築します。

$ composer create-project --prefer-dist laravel/laravel my-laravel-app
$ cd my-laravel-app

Laravel プロジェクトファイルの用意が完了したら、次に以下のコマンドで Homestead のインストールを行い、make コマンドで Homestead.yml を生成します。

$ composer require laravel/homestead --dev
$ php vendor/bin/homestead make

最後に vagrant up を叩いて構築は完了です。 http://192.168.10.10 で環境のセットアップ状況を確認してください。

Laravel – Homestead 環境の構築」への2件のフィードバック

コメントを残す

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