5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vagrantの共有フォルダにLaravelをインストール

Posted at

今更感があるが結構詰まったのでメモ

基本的な手順は以下を参照
PHPフレームワーク「Laravel4」の環境を Vagrant, CentOS 6.6, PHP 5.6, MySQL 5.6 で作ってみた、その1

こんなVagrantFile

Vagrant.configure(2) do |config|
  config.vm.box = "puphpet/centos65-x64"
  config.vm.network "private_network", ip: "192.168.44.55"
end

##Composerのインストール

$curl -sS https://getcomposer.org/installer | php
$mv composer.phar /usr/local/bin/composer

パスの追加

$export PATH=$PATH:/usr/local/bin

##Vagrantの共有フォルダにLaravelをインストール

$composer global require "laravel/installer=~1.1"

パスの追加

$export PATH=$PATH:$HOME/.composer/vendor/bin

var/www/html/にVagrantの共有フォルダのシンボリックリンクをはる

$sudo rm -rf /var/www/html/
$sudo ln -fs /vagrant /var/www/html

Laravelコマンドでプロジェクト作成

$cd /var/www/html/
$laravel new laravelApp

httpd.confのDocumentRootを修正

$sudo vi /etc/httpd/conf/httpd.conf
httpd.conf
DocumentRoot "/var/www/html/laravelApp/public/"

<Directory "/var/www/html/laravelApp/public">

Apacheの再起動

$sudo service httpd restart

ディレクトリの権限変更

chmod -R 777 laravelApp/storage/

これでhttp://192.168.44.55にアクセスするとLaravelのスタート画面が出るはずなのだがエラーになる。
Apacheのエラーログを見ると、storageでpermission deniedとなっている。chmodしたのに?

$ls laravelApp/ -l
drwxr-xr-x. 1 vagrant vagrant    170  2月 25 21:39 2016 storage

chmodが効いていない、、、

##Vagrantfileの修正

何やら調べてみるとVagrantの共有フォルダではパーミッションなどで色々とうまくいかないことが多々あるらしい。
【vagrant】共有フォルダのパーミッションで悩んだ話【chmodできない】

やはりVagrantfile側で権限の設定などが必要らしく、以下の記事に対策が書いてあった。というかここで書きたかったことの全てが書いてある。
Vagrant+Laravelでパーミッションで詰まった

この記事に習い、以下の記述をVagrantfileに追記。

config.vm.synced_folder ".", "/vagrant", :owner => 'apache', :group => 'apache', mount_options: ['dmode=777','fmode=755']

ここでのownerとgroupはhttpd.confに記載されているものを記載する。

これで再度vagrant upで仮想マシンを再起動してみると、、、

$ls laravelApp/ -l
drwxrwxrwx. 1 apache apache    170  2月 25 21:39 2016 storage

無事権限が変更されている。

再起動に失敗したらこの辺を参照。
vagrantでmountエラーの解決方法

http://192.168.44.55にアクセスするとLaravelのスタート画面が表示された。
Kobito.1u98wB.png

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?