PHP のアプリケーションフレームワークである Laravel には Homestead という Vagrant 用の box が用意されています。
Vagrant とは VirtualBox などの仮想化ソフトと組み合わせて、1台のコンピュータ内に別の OS を使った開発環境を簡単に構築できるソフトウェアです。box と呼ばれるファイルを読み込むとそれに保存されていた環境が再現されるため、面倒なサーバーの初期設定をしなくてもすぐに開発に入ることができます。
この記事では Windows の VirtualBox に Homestead を使った Laravel 5 の開発環境を作ります。
インストールを進める上で次のソフトが必要になるので下記サイトよりダウンロードし、インストールをしておいて下さい。
Git をインストールすると Git Bash というアプリケーションがついてきます。Git Bash はコマンドプロンプトのようなコンソールで、LINUX や UNIX の Bash と同様のコマンドが使えます。
まずはその Git Bash を起動し、次のコマンドで Homestead をインストールします。
vagrant box add laravel/homestead
途中 virtualbox かvmware_desktop のどちらを使うかを尋ねられた場合は virtualbox を選択します。
次に Git のリポジトリ Homestead をホームフォルダに作成します。
git clone https://github.com/laravel/homestead.git Homestead
Homestead というフォルダができているはずなので、「cd Homestead」でそのフォルダに移動し、初期設定をするための init.sh ファイルを実行します。
bash init.sh
するとホームフォルダ(C:\Users\ユーザー名\)に .homestead という隠しフォルダに Homestead.yaml というコンフィグファイルが作成されるので、内容を編集します。(下記は抜粋)
authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/Code to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public
「folders:」部分ではフォルダのマッピングを設定します。Homestead の仮想OS(ubuntu)のフォルダと Windows 上のフォルダのペアを指定して、2つの環境から同じフォルダを参照できるようにします。「map:」は Windows 側のフォルダ、「to:」は仮想OS側のフォルダです。上の例ではWindowsの「C:\Users\ユーザー名\Code」というフォルダと仮想OSの「/home/vagrant/Code」フォルダが同じフォルダであるかのように振る舞います。
「sites:」部分はローカルドメインとフォルダの割り当てです。ブラウザで「http://homestead.app」と入力すると「/home/vagrant/Code/Laravel/public」というフォルダの内容が表示されるようになります。
ひとまず上記の設定で保存を終えます。次に「authorize:」「keys:」にある認証鍵ファイルを用意します。先にホームフォルダ内に「.ssh」フォルダを作り、ssh-keygen コマンドでその中に id_rsa ファイルと id_rsa.pub ファイルを作成する流れです。
mkdir ~/ttt cd ~/ttt ssh-keygen -t rsa -C "メールアドレス" Generating public/privata rsa key pair. Enter file in which to save key (/c/Users/ユーザー名/.ssh/id_rsa):
保存先を聞かれますが現在のフォルダ内に作るので空欄のままエンターキーを押します。
パスフレーズは2度同じものを入力して下さい。(オプション)
これで .ssh フォルダ内に暗号鍵、秘密鍵の2つのファイルが生成されるはずです。
次は先ほど Homestead.yaml で指定したフォルダ「~/Code」を作っておきます。「~」はホームフォルダーを意味するので、「C:\Users\ユーザー名\Code\Laravel\public」となるようにフォルダーを作ります。さらに public フォルダ内に index.php ファイルを作り、次のような内容にしておきます。
<?php phpinfo();
この段階でホームフォルダの主要なファイルは次のようになっているはずです。
.ssh\id_rsa .ssh\id_rsa.pub .homestead\Homestead.yaml Homestead\ Code\Laravel\public\index.php
次に、ローカルドメイン「homestead.app」で「192.168.10.10」に接続できるようにするために「C:\Windows\System32\drivers\etc\hosts」ファイルを書き換えます。テキストエディターを管理者として実行してからファイルに次の行を追加して下さい。
192.168.10.10 homestead.app
これで下準備は整いました。いよいよ仮想 OS を起動します。ホームフォルダにある Homestead フォルダに移動し、「vagrant up」コマンドで起動して下さい。
cd ~/Homestead vagrant up
起動が完了したらブラウザで「http://homestead.app」にアクセスしてみてください。成功していれば先ほどの index.php が実行され、phpinfo() の結果が表示されているはずです。
仮想OSを終了させるには「vagrant halt」で行います。現在の状態を知るには「vagrant status」というコマンドを使います。
(次回に続く)