CentOS6で Serverspecを簡単にインストールする。


概要

CentOS6のyumの標準レポジトリでは、ruby1.8系で、
そのままだと、Serverspecをインストールすることができません。

[root@localhost ~]# gem install serverspec
 ERROR:  Error installing serverspec:
    net-ssh requires Ruby version >= 2.0.

なお、CentOS7でしたら問題ありません。

そこで、ruby2.1系がビルドインされているChefDKをrpmで先にインストールし、
ChefDKに付属している、gem でServerspecをインストールします。
通常、rbenv などを利用しコンパイルしてrubyを導入する必要がありますが、
これですと、Chefを入れるついでに、Serverspecも簡単に導入することができます。

手順

  1. ChefDKのページから、rpmをダウンロード、インストール

    wget https://packages.chef.io/stable/el/6/chefdk-0.14.25-1.el6.x86_64.rpm
    rpm -Uvh chefdk-0.14.25-1.el6.x86_64.rpm
    chef --version
    

    rpmのURLは、2016-05-23時点の最新

  2. Serverspec をインストール

    cd /opt/chefdk/embedded/bin
    ./gem install serverspec 
    ls -la /opt/chefdk/embedded/bin/serverspec-init
    -rwxr-xr-x. 1 root root 511 May 17 02:12 /opt/chefdk/embedded/bin/serverspec-init
    
  3. rakeコマンドをシンボリックリンクでPATHが通っている場所に設置する

Serverspec は rakeコマンドで実行されます。このままですと、rakeコマンドはのPATHは通っていません。
また、初期設定用のserverspec-init コマンドもPATHが通っていませんので通しておきましょう。

ln -s /opt/chefdk/embedded/bin/serverspec-init /usr/bin/serverspec-init
ln -s /opt/chefdk/embedded/bin/rake /usr/bin/rake

以上で、インストールは完了です。
以降は、Serverspecの使い方が載っている記事を
参考にしていただければOKかと思います。

快適な Chef&Serverspec 生活を\(^o^)/