chef(chef-solo,knife-solo)環境をcentos6.4にインストール
vagrantに手を出したら、やっぱchefもでしょ。
ということで、こちらも環境構築。
CentOS6.4という環境がいけないのか、構築するのにものすごく苦労した。
他のディストリビューションなら楽なのかな。。
引っかかった点も含めて構築メモ
■chef install
・必要なRPMをインストール
yum install rubygems ruby-devel openssl-devel
注意点1:chef-soloを実行したときにrubyのバージョンが1.8.7より古いとエラーになる。CentOS6.4ではyumだと1.8.3が入るので、rubyのバージョンを変える必要がある。
→rbenvをインストールで解決。
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build cd ~/.rbenv/plugins/ruby-build ./install.sh cd ~/.rbenv/ git clone git://github.com/sstephenson/rbenv.git
・環境変数を設定
vi ~/.bashrc -- export PATH="/root/.rbenv/rbenv/bin:$PATH" eval "$(rbenv init -)" -- source ~/.bashrc
・インストールしたrubyを反映
rbenv install 1.9.3-rc1 rbenv global 1.9.3-rc1 rbenv rehash
・gemを最新化
gem install rubygems-update
注意点2:chefの最新(11.6)はknife-soloの0.3.0と相性が悪く、knife soloコマンドが認識されない
→11.4.4のバージョンを指定してインストール
gem install chef -v 11.4.4 gem install knife-solo knife configure
・あとはchef用のリポジトリを作成。エラーがでなければOK
knife solo init chef-repo
これで自宅ではうまくいった。
ただ、会社だとrysncのエラーが出てNG。。
proxy関連でないかなぁと思いつつ、まだ解決できず。
解決できたら続きを書く予定。
vagrantをCentOS6.4にインストール 32bit と 64bit
最近話題vagrantを遅まきながら勉強しているのでメモ。
CentOS6.4にインストールした場合について。
vagrantのセットアップ手順は以下のサイトを主に参照。
http://dotinstall.com/lessons/basic_vagrant
基本は32bitベースでの説明。
64bitで手順が異なるところは追記。
■virtualbox install
wget http://public-yum.oracle.com/public-yum-ol6.repo mv public-yum-ol6.repo /etc/yum.repos.d/ wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle yum -y install VirtualBox
追記:64bitだと、↑だけでは不足の模様。以下で再トライ。
cd /etc/yum.repos.d/ wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo yum install VirtualBox-4.2
■vagrant install
yum -y install rubygems wget http://files.vagrantup.com/packages/7ec0ee1d00a916f80b109a298bab08e391945243/vagrant_1.2.7_i686.rpm rpm -ivh vagrant_1.2.7_i686.rpm mkdir vagrant_work cd vagrant_work vagrant init
追記:64bitだと、先にこのエラーが発生。不足しているモジュールを追加する。
#yum provides で探すと便利
/opt/vagrant/bin/../embedded/bin/ruby: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません yum provides ld-linux.so.2 glibc-2.12-1.107.el6.i686
ここまで行ったら以下のエラー。。
/opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/hosts/fedora/host.rb:39:in `block in initialize': undefined method `[]' for nil:NilClass (NoMethodError)
調べてみると、CentOSにvagarantを入れたときにバグがあるらしい。
ということで、vagrantのソースコードを修正。
cd /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/hosts/fedora/ vim host.rb diff host.rb host.rb.org 39,40c39 < #version_number = /Fedora.*release ([0-9]+)/.match(f.gets)[1].to_i < version_number = /[Fedora|CentOS].*release ([0-9]+)/.match(f.gets)[1].to_i --- > version_number = /Fedora.*release ([0-9]+)/.match(f.gets)[1].to_i -[3298]% cat /etc/redhat-release
これで再度実行して成功。
vagrant init
LinuxでのJDK設定
とりあえずここに技術的な忘備禄をたんたんと書いていきます。
(ググれば出てくるけど)
- 無料Javaソフトウェアをダウンロード へいく
- サイトからJDKの.binファイルをダウンロード(ここでは jdk-6u13-linux-i586.binとする)
- ダウンロード完了後、ファイル属性を変更
chmod 755 jdk-6u13-linux-i586.bin
- binファイルを実行し、規約を読んでyesと答えるとファイルが解凍される
./jdk-6u13-linux-i586.bin
- 解凍されたディレクトリの名前を変更し、適当なフォルダへ(ここでは/usr/local/配下)
mv jdk-6u13 /usr/local/java/
- 環境変数「JAVA_HOME」「CLASSPATH」を設定(.bashrcに設定)
vi ~/.bashrc
- 実行用のPATHを通す
- 設定できているか確認するため以下コマンドをうつ
java -version
- 下記が出力されればOK
java version "1.6.0_12" Java(TM) SE Runtime Environment (build 1.6.0_12-b04) Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)