LoginSignup
10
10

More than 5 years have passed since last update.

Mac + Vagrant + Chefで開発環境を構築する下準備

Last updated at Posted at 2014-11-23

ディレクトリを作成し、以下はそのディレクトリ内での作業になります。

Gemfile作成

Gemfile
source 'http://rubygems.org'

gem 'chef'
gem 'knife-solo', '~> 0.3.0.pre3'
gem 'berkshelf'

bundleでgemをインストール

$ bundle install

Vagrantファイル作成

以下Vagrantfileを作成する。今回はCentOS6.5を採用。
複数のVMを立ち上げて、お互いに通信できるようdevelopを定義しています

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # 開発用
  config.vm.define "develop", primary: true do |dev|
    develop.vm.box = "centos_6.5_x64"
    develop.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-x86_64-v20140504.box"

    develop.vm.network "private_network", ip: "192.168.33.30"
    develop.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2222

    # ここのディレクトリは任意で
    develop.vm.synced_folder "share/", "/vagrant",
      owner: "vagrant",
      group: "vagrant",
      mount_options: ["dmode=775,fmode=775"]
    develop.vm.provider "virtualbox" do |vb|
       vb.customize ["modifyvm", :id, "--memory", "1024"]
    end
  end 
end

vagrantを起動します。

$ vagrant up

※ 初回はイメージファイルをダウンロードするため少し時間がかかります。

chefリポジトリ作成

$ bundle exec knife solo init .

※ chefの記述は別途書きます

hosts変更(Mac)

192.168.33.30   hogehoge.local

VagrantにChefを適応する

$ vagrant ssh-config --host hogehoge.local >> ~/.ssh/config # ssh hogehoge.local
$ knife solo prepare hogehoge.local  # VagrantにChef等をインストール
$ knife solo cook hogehoge.local # Chefの実行

これでひと通りの開発環境構築する下準備ができました。
後はchefにnginxやmysqlのrecipeを追加して自分用にカスタマイズして下さい。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10