WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Laravel4-Vagrant のセットアップで嵌ったとこ

      2015/07/23

Laravel4-Vagrantについて

VagrantでUbuntu12.04+LAMP設定(PHP5.5)+Laravel4.1構成のBoxを構築するボックス設定がGithubに公開されている。

README通りセットアップしていけばLaravelが動作する環境がVagrant上に構築されるはずだが何点か嵌ったのでメモ。

bryannielsen/Laravel4-Vagrant
Laravel4-Vagrant.gitのReadme日本語翻訳

セットアップで嵌ったとこ

基本上記の日本語訳のREADME通り進めるが、以下の点に嵌ったところと対処法を記す。

`vagrant up`時に” * The ‘extra’ flag on synced folders is now ‘mount_options’”と言われる

ので、Vagrantfileのlv4_config.vm.share_folderというディレクティブを以下のように修正。

$ vi Vagrantfile
        lv4_config.vm.share_folder("www", "/var/www", "./www", :extra => 'dmode=777,fmode=777')
        lv4_config.vm.share_folder("www", "/var/www", "./www", mount_options: ["dmode=777", "fmode=777"])  :extraをmount_optionに修正

Laravelのリポジトリのパスを修正

PuppetによってLaravelがインストールされるが、この際リポジトリのURLが見つからなくてpullに失敗し、下記のようなエラーメッセージが出る。

==> laravel4: err: /Stage[main]/Laravel_app/Exec[create laravel project]/returns: change from notrun to 0 failed: /bin/sh -c 'cd /var/www/ && git clone https://github.com/HiroKws/laravel.git .' returned 128 instead of one of [0] at /tmp/vagrant-puppet/modules-2f0734702ac026d3dbbce3c317731c67/laravel_app/manifests/init.pp:40

puppet//modules/laravel_app/manifests/init.ppを以下のように修正。

$ vi puppet//modules/laravel_app/manifests/init.pp
        command => "/bin/sh -c 'cd /var/www/ && git clone https://github.com/HiroKws/laravel.git .'",
        command => "/bin/sh -c 'cd /var/www/ && git clone https://github.com/laravel/laravel.git .'",

これで`vagrant up`すればOK。

あと、上記の設定ファイルにもあるが、ゲストOSの/var/www/がインストール先のwww/と共有となっていて、ここを編集する事で手軽にLaravelの動作確認ができる。

 - Laravel ,