このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2014.01.05

2014年は Vagrant と Chef soloでサクっと環境構築

という訳で、なるべく最小限、最短でVagrant + Chef Soloで環境構築を行いたいかと思います。

インストール、概要などは過去の記事を参照して頂ければと思います。

VirtualBoxとVagrantで開発環境を構築

VirtualBoxとVagrantで開発環境を構築 その2 PHP + MySQLインストール

VirtualBoxとVagrantで開発環境を構築 その3 phpMyAdmin インストール centOS apache設定

Vagrant + Chef Solo の基本的な使い方(設定方法)

それでは早速。

Vagrant

まずは、サーバーを建てましょう。
vagrant init
vagrant up
sshエイリアスを作成し設定します。
vagrant ssh-config --host [sshエイリアス名] >> ~/.ssh/config

Chef

Knife soloコマンドで初期化

knife solo init [リポジトリ名]

例:

knife solo init chef-repo
作成されたレポジトリに移動。
cd chef-repo/
chefに反映。
knife solo prepare [sshエイリアス名]
cookbook作成。
knife cookbook create [cookbook名] -o site-cookbooks/
実行ファイルの編集
chef-repo/nodes/ [SSHエイリアス名].json

 [SSHエイリアス名].json

{
  "run_list":[
    “recipe[cookbook名]"
  ]
} 
default.rb
service "iptables" do
    action [:stop, :disable]
end

%w{php php-common php-mbstring php-xml php-devel php-process php-cli php-pear php-mysql mysql-server httpd vim-enhanced git}.each do |p|
    package p do
        action :install
    end
end

service "httpd" do
    action [:start, :enable]
end

chef実行
knife solo cook[sshエイリアス名]
ここまでで一通りインストール出来るかと思います。

httpd.configファイルテンプレート化

httpd.configをローカルでテンプレート化する手順です。
vagrantにSSH接続行い、ファイルをローカルに持ってきます。
cp /etc/httpd/conf/httpd.conf /vagrant
site-cookbooks/cookbook名/templates/default にファイルを格納。
httpd.conf.erbにリネーム。

default.rbに追加。
recipes/default.rb
template "httpd.conf" do
    path "/etc/httpd/conf/httpd.conf"
    source "httpd.conf.erb"
    mode 0644
    notifies :restart, 'service[httpd]'
end
CSSの更新が反映されないのを回避するため  sendfileを使わないようにします。
httpd.conf.erbのEnableSendfile offのコメントアウトを外す。
EnableSendfile off
以上、
必要最低限のVagrant + Chef solo 環境構築でした。
  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。