Homesteadを使って、windows7でLaravel5.1の仮想環境を構築
windows7で、laravel 5.1を使う仮想環境を構築してみます。Laravel Homestead仮想マシンを使っていきます。基本的には、公式ドキュメントの「インストール」、「Homestead」に書かれている通りですが、個人的にわかりにくかったところをつけ足しています。
インストールしておくソフトウェア
Laravel Homesteadとは、Laravelの開発環境を簡単に用意できる、Vagrant boxです。なので、まずVagrantが使える環境が必要です。VagrantとVirtualBoxをwindowsにインストールしておきます。また、Gitも入れておきます。開発環境にSSH接続もするので、PuTTYも入れておきましょう。
Homestead Boxの追加
次に、「laravel/homestead」boxをVagrantに追加するために、Git Bashで下のコマンドを実行します。addするのにかなりの時間がかかります。「virtualboxかvmwareか」と聞かれたら、virtualboxと答えましょう。
vagrant box add laravel/homestead
完了したら、次を実行してみましょう。
vagrant box list
このとき表示されるリストの中に「laravel/homestead」が表示されていたらOKです。
Homesteadリポジトリ―のclone
続いて、Homesteadリポジトリ―をcloneします。次を実行します。
git clone https://github.com/laravel/homestead.git Homestead
実行したフォルダに、Homesteadフォルダができあがります。このHomesteadフォルダに移動し、次を実行して設定ファイルを作成します。
bash init.sh
windowsの場合、場所がわかりにくいのですが、「C:\Users(ユーザー名)」の直下に「.homestead」フォルダが作成され、Homestead.yamlファイルなどが作成されています。
Homesteadの設定
さきほど作成された「Homestead.yaml」ファイルがHomesteadの設定ファイルです。これをいじっていきます。
「provider」は、この記事ではvirtualboxを使っているので、「virtualbox」と書いておきます。
「authorize」と「keys」は、SSHキーの設定です。キーを作るために、Windowsでは、Git Bashで次を実行します。
$ ssh-keygen -t rsa -C "you@homestead"
Generating public/private rsa key pair.
Enter file in which to savet the key (/c/Users/(ユーザー名)/.ssh/id_rsa): ←何も入力せずEnter
Enter passphrase (empty for no passphrase): ←何か入れてEnter
Enter same passphrase again: ←同じのをもう一回入れてEnter
コマンドの後に、3回入力を要求されます。完了すると「C:\Users(ユーザー名).ssh」の下に「id_rsa」と「id_rsa.pub」という2つのファイルができあがります。これらのファイルがないと、後でエラーになってとまります。
次に、共有フォルダの設定をします。「folders」という設定項目に、「map」と「to」という項目があります。mapがwindowsの環境、「to」が仮想環境です。デフォルトでは次のようになっています。
folders:
- map: ~/Code
to: /home/vagrant/Code
これは、Windows側の「C:\Users(ユーザー名)\Code」というフォルダと仮想環境の「/home/vagrant/Code」を同期する、ということです。同期したいフォルダに合わせて、設定を変更します。普通は、「Code」の部分をサイト名やプロジェクト名にするんじゃないかと思います。なお、ローカルに該当フォルダがないとエラーになります。
他にも設定項目はありますが、これくらい設定しておけばなんとか動くはずです。他の設定項目は公式サイトを参照してみてください。
仮想環境の起動
準備をしたら、仮想環境を起動します。
vagrant up
仮想環境を立ち上げたら、PuTTYでSSH接続しましょう。ipは「Homestead.yaml」で設定したip、ログイン名とパスワードは「vagrant」です。
Laravelのインストール
仮想環境に、Laravelをインストールします。次を実行すれば、Laravelのインストーラーがダウンロードされます。なお、仮想環境にComposerはすでにインストールされています。
composer global require "laravel/installer=~1.1"
このあと、「laravel new」コマンドを実行すると、実行したフォルダにLaravelプロジェクトが作成されます。newのあとにプロジェクト名をつけて実行すれば、そのディレクトリができ、その下にLaravelがインストールされます。依存パッケージも一緒にインストールされます。
あとは、「Homestead.yaml」内で指定したipにブラウザで見に行けば、Laravelの文字が画面のど真ん中に出てくるはずです。これで、Laravelが使えるようになりました。