Vagrant + Virtulbox CentOS7.8 + Laravel6系
上記の構成で環境構築した時によくホストOSとゲストOSとの
共有を設定する時にエラーで詰まって解決まで3日ぐらいを使って
やった事を書きます。
Vagrant関連はVersionに依存しまくるので
Version記載は意識して備忘録投稿します。
訳あってmacOS Mojaveです。
・ProductName: Mac OS X
・ProductVersion: 10.14.6
・BuildVersion: 18G6042
Homevrew で cask 一元管理
・vagrant 2.2.13
・virtualbox 6.1.16,140961
LAMP環境
CentOS7.8構成
・Apache/2.4.6 (CentOS)
・PHP 7.3.24 (cli)
・mysql Ver 14.14 Distrib 5.7.32
※conf設定はそれぞれだと思うので省きます。
Composerをインストール
※インストール方法は長くなるので省きます。
・Composer version 2.0.7
ローカル環境なのでCentOSはいつものセキュリティを全部無効
・SELinux 無効
・ファイーウォール無効
##Laravelインストール
$vagrant ssh
$cd /vagrant
$composer create-project --prefer-dist laravel/laravel laravelsample "6.*"
Laravelプロジェクトの作成完了後、Apacheディレクトリへ
$cd /var/www/html
$sudo ln -s /vagrant/laravelsample laravelsample
いざ確認。
速攻エラー!! orz....
内容は以下↓
###Vagrant環境でLaravelを実行してアクセスした時にPermission denied問題
ログファイルを作る際にエラーになる、あるある現象
やったこと
LaravelでCreateしたプロジェクト配下実行権限を777にしたら解決したよ!
の記事を目にする。
$ sudo chmod -R 777 laravelsample
・・・解決しねんだわ
共有フォルダのオーナーがapacheユーザじゃないからダメだからよ!
の記事を目にする。
config.vm.synced_folder ".", "/vagrant",
:owner => 'apache',
:group => 'apache',
mount_options: ['dmode=777','fmode=755']
を追加
Vagrant up時にエラー・・・ orz
・・・解決しねんだわ
だが、LaravelプロジェクトディレクトリのオーナーとグループはApacheである必要がある
のは理解できた。
Guest Additionsのバージョンが正しくない?
「vagrant-vbguest のプラグインを入れたら解決したよ」の記事がいっぱい
これで解決だ!!
$ vagrant plugin install vagrant-vbguest
・・・解決しねんだわ
どうやら調べていくとconfig.vm.synced_folderの記述ルールが変わってるみたい。
config.vm.synced_folder ".", "/vagrant",
owner: "apache",
group: "apache"
見れた!!!
3日ぐらいかかった(爆汗)
#教訓
まずエラーの内容を熟読して解決策を考える。
そして公式リファレンスを読み直す。
英語だからといって避けて、日本語で書かれた
解決策を拾い読みするとこうなるという
教訓でした。
みんなも英文エラーをちゃんと読もうね!
じゃ!