2018/10/12
これからLaravelの学習するにあたって仮想マシン(CentOS6.7)上でガリガリとソースを書いていくことになります。
その際、使い慣れたIDEやエディタを利用したいですよね。
かといって、Windowsで書いてFTPで仮想マシンにアップするのも面倒です。
こんなときに便利なのがVagrantに用意されているSYNCED機能です。
この機能を使うことで、開発はホストPCであるWindowsで行い、実行はVagrant側の仮想マシンで実行することが簡単にできるようになります。
SYNCED機能を利用するにはVagrantfileを編集することになります。
ホストOS、ゲストOSの意味
Vagrantで仮想マシンを構築すると、必ず出てくる用語が「ホストOS」と「ゲストOS」という用語です。
ホストOSは仮想マシンをインストールしているOSです。
以前作成した僕の例でいくとWindows7がホストOSになります。
一方、ゲストOSとは仮想マシンの中で動かしているOSです。
つまりゲストOSはCentOS6.7になります。
以下、Windows7をホストOSと呼び、CentOS6.7をゲストOSと呼びます。
Vagrantfileについて
Vagrantfileは仮想マシンの構成を記述するファイルです。
Rubyベースで記述されています。
以前、仮想マシンを構築する際にVagrantfileを編集しましたよね。
config.vm.network :private_network, ip:"192.168.33.10"
上記の記述ではゲスト側に192.168.33.10(任意)を割り当てる設定になります。
同様に、ホストOSとゲストOSのフォルダを同期させるのもVagrantfileを編集することで実現できます。
チュートリアル
実現したいこと
- ホストOSとゲストOSの作業フォルダを同期させる
手順
前提条件
ホストOSの作業ディレクトリ
C:\Users\(ユーザ名)\MyVagrant\data
※Vagrantfileは C:\Users\(ユーザ名)\MyVagrant\mycentos
ゲストOSの作業ディレクトリ
/home/vagrant/myapp
1.Vagrant Fileの編集
Vagrantfileに
# config.vm.synced_folder "../data", "/vagrant_data"
と記述されている箇所があるので、この箇所のコメントを外す。
書式は
config.vm.synced_folder “ホストOSの作業ディレクトリのPATH”, “ゲストOSの作業ディレクトリのPATH”
となっています。
前提条件にそうように以下に書き換えます。
config.vm.synced_folder "../data", "/home/vagrant/myapp"
2.Vagrantの起動
Vagrantfileで編集した内容は「vagrant up」もしくは「vagrant reload」で有効になります。
#Vagrantfileがあるディレクトリに移動して以下のコマンドを実行する vagrant up
これで次回から、Windows上でIDEを使ってプログラムを書いて、仮想マシンでプログラムの実行を確認するという流れが簡潔しました。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。