IT井戸端会議

IT井戸端会議

インフラ、ネットワーク、アプリケーション開発、IT界隈の話等々を東京都千代田区界隈から発信します。

CentOSにchef-soloをインストール

開発環境

OS:CentOS6.6(64bit) ruby:2.2.2p95 rubygems:2.4.5

 

rubyのソースをコンパイルしてインストールするためgccをインストール

$ yum -y install gcc

rubyソースコードをダウンロード。

※バージョンはgemが動作する1.9以上であれば問題なしDownload Ruby

$ wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz

展開してインストール※ドキュメントは不要のため除外

$ tar xf ./ruby-2.2.2.tar.gz
$ cd ruby-2.2.2
$ ./configure --disable-doc
$ make
$ make install

シンボリックリンクを作成

$ ln -s /usr/local/bin/ruby /usr/bin/ruby
$ ln -s /usr/local/bin/gem /usr/bin/gem

chefパッケージのインストール

$ gem install chef
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

zlibについて無いとのエラーが出たので個別に対応

$ yum -y install zlib-devel
$ find / -type f -name invoke_with_build_args
/root/ruby-2.2.2/ext/zlib
$ cd /root/ruby-2.1.6/ext/zlib
$ ruby extconf.rb
$ make
$ make install

再度rubyをインストール

$ cd ruby-2.2.2
$ ./configure --disable-doc
$ make
$ make install

再度chefパッケージをインストール

$ gem install chef
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

今度はopensslが必要とされているようなので個別に対応

$ yum -y install openssl-devel
$ cd /root/ruby-2.2.2/ext/openssl
$ ruby extconf.rb
$ make
make: *** `ossl.o' に必要なターゲット `/thread_native.h' を make するルールがあ りません. 中止.

Makefileにtopdirの次くらいにtop_scrdirのパスを追加

$ find / -type f -name thread_native.h
/root/ruby-2.2.2/thread_native.h
$ vi Makefile
top_srcdir = /root/ruby-2.2.2

再度makeとinstall

$ make
$ make install

再々度chefパッケージをインストール

$ gem install chef

chefのインストール確認

$ chef-solo -version
Chef: 12.4.0