【Laravel5】Laravel Homestead(VM)を構築する

laravel5-初期ページ

Harn Homestead

【Laravel5】Virtual Machines and Homestead

こちらのサイトを元に付加情報をつけて記載しています。

公式ドキュメントでの説明はこちら

Virtual Machineとは?

Virtual Machineとは、その名の通り、仮想マシンです。よく現場では”VM”と略されているかと思います。

これは自身のマシンの中に、もうひとつOSを起動させ、それを仮想の本番環境として開発に利用します。

メリットとしては、他の開発者にまったく同一の開発環境が配布でき、自身の構築した環境に依存することがなくなること。開発初期段階のうちから本番環境のOS(主にLinux)での動作確認ができることなどが挙げられます。

インストール

  1. まずは以下の2つのソフトウェアをインストールします。

    VirtualBox

    Vagrant (バージョン1.6以上)

  2. vagrantにBOXを追加する。

    or

  3. vagrantプロジェクトのテンプレートをダウンロードする。

    cloneするディレクトリは、前回作ったlearning-laravel-5のディレクトリではなく、新たな場所にディレクトリを作ることをオススメします。

    セットアップする。

    ファイルを確認する。

  4. homesteadコマンドをPATHに追加する。

  5. Homesteadの設定ファイルを編集する。

    システムエディターが起動しますので、以下のように修正します。

    • folders.map

      自身のローカルにあるLaravelプロジェクトのパスにする。

    • folders.to

      VM上の共有ディレクトリの名前。folders.mapのディレクトリ名にしておくとわかりやすいかと思います。

    • sites.to

      folders.toのパスにpublicを付け加えたパスにします。

    • authorize

      ローカルマシンに~/.ssh/id_rsa.pubのファイルが存在するか確認してください。もし見つからない場合には、鍵を作る必要があります。以下のコマンドを実行します。

  6. Homesteadを起動する。

  7. 確認する。

    以上の手順で、VMが起動しているはずです。

    VMの中では、nginxが起動していて、そのポート80番をポートフォワードしてポート8000番が開いているので、ブラウザで開いてみます。

    http://localhost:8000

Tips

  • VMにSSHログインする。

  • VMを停止する。

  • VMを破壊する。

  • VMには以下のソフトウェアがすでにインストール済みです。
    • Ubuntu 14.04
    • PHP 5.6
    • HHVM
    • Nginx
    • MySQL
    • Postgres
    • Node (With Bower, Grunt, and Gulp)
    • Redis
    • Memcached
    • Beanstalkd
    • Laravel Envoy
    • Fabric + HipChat Extension
  • ポートフォワードの設定一覧です。
    • SSH: 2222 → Forwards To 22
    • HTTP: 8000 → Forwards To 80
    • MySQL: 33060 → Forwards To 3306
    • Postgres: 54320 → Forwards To 5432
  • VMのMySQLにログインする。

  • VMのPostgreSQLにログインする。

まとめ

<

p>VirtualBox、Vagrantをインストールし、そして起動。その後、ブラウザでページを確認することができました。

これだけ簡単に環境が整うのであれば、初期導入コストが削減できそうですし、個人の環境によらないチーム開発ができそうです。

次回は、コントローラまわりをいじってみたいと思います。

最後まで読んでいただきありがとうございました!

Comments are closed, but trackbacks and pingbacks are open.