Vagrantで同期するファイルを設定する
ものすごく色々詰まったのですが、ここでは単純な手順メモとして、やるべきことを書いていきますね。
まずはGuest AdditionsをVirtualBoxに入れる必要があるようです。
入れないで同期設定をしようとすると、以下のエラーが出ました。
unknown filesystem type 'vboxsf'
手順はこちらを参考にしました。
VirtualBoxのCentos7にGuestAdditionsをインストールする手順 – Linux学習講座
1.は順調にいったのですが
Guest AdditionsのCDイメージ挿入
ここで失敗しました。
メニューのデバイス⇒Guest AdditionsのCDイメージ挿入をクリック
しても、VirtualBox上でエラーが出ます。
しかもエラー文をコピペできず、すごく調べづらい……。
解決方法は、
一度仮想マシンの電源を落とし、VirtualBoxの画面から
設定⇒ストレージ⇒コントローラー:IDE
の横の+マーク付きCDディスク(光学ドライブの追加)を押し、 空のままにする を選択します。

その後、仮想マシンを再起動し、
メニューのデバイス⇒Guest AdditionsのCDイメージ挿入をクリック
をすることで、Guest Additionsを入れられました!
Guest Additionsのインストール
は手順通りで問題なくできました。 CDイメージなどのメディアをCentOSで使う場合、マウントが必要だというのを初めて知りました…。
ここまでがVirtualBox側の設定です。
次はVagrantの設定をします。
Vagrantを入れた直後に設定した、Vagrantfileを見直します。
私はC:\Vagrant\centos7\Vagrantfileに置いてあります。
ローカルにあるので、適当なエディタでconfig.vm.synced_folderに関する記述を追加します。
初期のVagrantfileなら、45行目あたりにコメントアウトされてるかと思います。
config.vm.synced_folder "laravel", "/var/www/html/laravel",
type: "rsync",
rsync__exclude: [
"/storage",
"/bootstrap/cache",
"/vendor/",
],
create: true,
owner: "vagrant", group: "vagrant"
config.vm.synced_folder "同期したいローカルフォルダのパス(Vagrantfileからの相対パス)", "同期先となる仮想マシン側のパス"で設定ができます。
それ以外はオプションで、
type同期方法
rsync__exclude除外したいフォルダ
create同期先に一致するファイルがなければ新規作成するかどうか
owner,group同期時の所有者所有グループの名前を何にするか
今回はこれらを設定しました。
そして、コマンドプロンプトから
vagrant reload
errorの文字が出ずに、defaultのみで続けば問題なしです!