最近、Boxを再構築した際に、「Vagrant開発環境のワークフローをちゃんとまとめておきたい」と思ったのでまとめてみました。
レポジトリにほぼ同じワークフローメモがあります。
github - bmf-san/vagrant-development-workflow
以下のアプリケーションがホストマシン(Mac)にインストールされていること
開発環境ディレクトリにて、Vagrantfileを作成する
vagrant init
Boxテンプレートを取得し、Boxを作成する
vagrant box add BOX_NAME /path/to/box/url
vagrant-hostupdaterのインストール
vagrant plugin install vagrant-hostsupdater
Vagrantfileの編集
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Box Name
config.vm.box = "centos6.7"
# Network
config.vm.network "private_network", ip: "192.168.33.10"
# Synced Folder
config.vm.synced_folder "/path/to/directory", "/var/www/html",
:owner => "apache",
:group => "apache",
:mount_options => ["dmode=775,fmode=664"]
# Provider(Optional)
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--paravirtprovider", "kvm"]
end
# Host Updater
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.hostname = "localdev"
config.hostsupdater.aliases = ["localdev-hoge"]
# xdebug(Optional)
config.vm.network :forwarded_port, host: 3000, guest: 3000
end
Vagrantの起動と接続
vagrant up
ー起動vagrant ssh
ーssh接続vagrant reload
ー再起動vagrant halt
ー停止vagrant provision
ープロビジョニング(ホストの更新)Apacheのインストール
yum install httpd
ーApacheのインストールservice httpd start
ーサーバー起動chkconfig httpd on
ーログイン時自動起動設定Apacheの設定
cd /etc/httpd/conf.d
vim localdev-hoge.conf
ーホスト別の設定ファイルを作成(localdev-hoge
でアクセスできるように設定)<VirtualHost *:80>
ServerName localdev-hoge
ServerAdmin localhost
DocumentRoot /var/www/html/path/to/directory
<Directory "/var/www/html/path/to/directory">
AllowOverride All
</Directory>
</VirtualHost>
service httpd restart
ーサーバー再起動で設定を反映