====== 環境構築用のスクリプト ====== * 文字コード:UTF-8 * 改行:LF ===== base ===== #!/bin/bash yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison wget unzip git # rbenv cd ~ git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="${HOME}/.rbenv/bin:${PATH}"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc export PATH="${HOME}/.rbenv/bin:${PATH}" eval "$(rbenv init -)" mkdir -p ~/.rbenv/plugins cd ~/.rbenv/plugins git clone git://github.com/sstephenson/ruby-build.git rbenv install 1.9.3-p327 rbenv global 1.9.3-p327 rbenv rehash gem install chef rbenv rehash # Clone Cookbooks mkdir ~/chef cd ~/chef git clone git://github.com/opscode/cookbooks.git cookbooks # Create Chef Directories mkdir /etc/chef mkdir /var/chef-solo # Initial Setting cat << EOS > /etc/chef/solo.rb file_cache_path "/var/chef-solo" cookbook_path ["/root/chef/cookbooks"] role_path "/root/chef/role" json_attribs "/etc/chef/node.json" log_level :debug EOS echo '{ "run_list": [] }' > /etc/chef/node.json ===== CentOS 5.9にて調整 ===== #!/bin/bash rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison wget unzip git # rbenv rm -rf ~/.rbenv git clone git://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc source ~/.bashrc # ruby-build rm -rf /tmp/ruby-build git clone git://github.com/sstephenson/ruby-build.git /tmp/ruby-build cd /tmp/ruby-build ./install.sh # ruby rbenv install 1.9.3-p327 rbenv global 1.9.3-p327 rbenv rehash # chef & knife gem install chef --no-ri --no-rdoc gem install knife-solo --no-ri --no-rdoc gem install capistrano --no-ri --no-rdoc source ~/.bashrc # initialize cd ~ knife solo init chef-solo knife cookbook create sample -o ./chef-solo/cookbooks/ echo '{ "run_list": ["recipe[sample]"] }' > /root/chef-solo/node.json rm -rf /root/chef-solo/solo.rb cat << EOS > /root/chef-solo/solo.rb file_cache_path "/tmp/chef-solo" cookbook_path ["/root/chef-solo/cookbooks"] role_path "/root/chef/role" json_attribs "/tmp/chef-solo/roles" log_level :debug EOS echo "e.g.) chef-solo -c /root/chef-solo/solo.rb -j /root/chef-solo/node.json" ===== CentOS 6.4で調整 ===== #!/bin/bash ## ## chef-build for CentOS 6.x ## #rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm #rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm #rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison wget unzip git --exclude=*.i386 # rbenv rm -rf ~/.rbenv git clone git://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc source ~/.bashrc # ruby-build rm -rf /tmp/ruby-build git clone git://github.com/sstephenson/ruby-build.git /tmp/ruby-build cd /tmp/ruby-build ./install.sh # ruby rbenv install 1.9.3-p327 rbenv global 1.9.3-p327 rbenv rehash # chef & knife gem install chef --no-ri --no-rdoc gem install knife-solo --no-ri --no-rdoc gem install capistrano --no-ri --no-rdoc source ~/.bashrc ## initialize #cd ~ #knife solo init chef-solo #knife cookbook create sample -o ./chef-solo/cookbooks/ #echo '{ "run_list": ["recipe[sample]"] }' > /root/chef-solo/node.json # #rm -rf /root/chef-solo/solo.rb #cat << EOS > /root/chef-solo/solo.rb #file_cache_path "/tmp/chef-solo" #cookbook_path ["/root/chef-solo/cookbooks"] #role_path "/root/chef/role" #json_attribs "/tmp/chef-solo/roles" #log_level :debug #EOS echo "run 'source ~/.bashrc' & test chef-solo" echo "e.g.) chef-solo -c /root/chef-solo/solo.rb -j /root/chef-solo/node.json"