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
のみで続けば問題なしです!