CentOS6にchef-soloを使って、
RStudioServerをセットアップする手順を示します。

RStudioServerセットアップの手順は簡単ですが、
処理するデータ量が増えた時の、サーバ増強・増設を考えると、
自動化しておいた方がいいような気がしたので、
chefのcookbookにしておきました。

このエントリで使用するchefのcookbookは、私のgithubにおいています。
 https://github.com/takemikami/chef-rstudio

RStudio自体については、以下の公式サイトをご覧下さい。

RStduio
 https://www.rstudio.com/

Knife/Berkshelfのインストール

管理用のマシンで、
以下のコマンドから、Knife Soloの作業用ディレクトリを作成します。

$ mkdir ~/rstudiosetup

作業用ディレクトリに以下ファイルを作成します。

Gemfile

source 'https://rubygems.org'
gem 'chef'
gem 'knife-solo'
gem 'berkshelf'

Berksfile

site :opscode
cookbook "rstudio", github: "takemikami/chef-rstudio"

以下のコマンドで、KnifeSoloをインストールします。

$ cd ~/rstudiosetup
$ bundle install --path=vendor/bundle

以下のコマンドで、knifeのディレクトリ構成を作成します。

$ bundle exec knife solo init .

以下のコマンドで、githubからrstudioのcookbookを取得します。

$ bundle exec berks vendor cookbooks/

RstudioServerのセットアップ用cookbookを適用

knife-soloで接続できるCentOSの環境が用意されているとして、
以下のコマンドで、knifeの環境を準備します。

$ cd ~/pentahosetup
$ bundle exec knife solo prepare <接続先マシン名>

次のファイルに適用時の設定を追記します。

nodes/<接続先マシン名>.json

{&quot;run_list&quot;:[&quot;recipe[rstudio::server]&quot;]}

以下のコマンドで、knifeでcookbookを適用をします。

$ bundle exec knife solo cook &lt;接続先マシン名&gt;

ここまでで、RStudioServerのセットアップが完了です。

上記手順以外に、
RstudioServerは、TCPポート8787でサービスを提供するので、
クライアントからTCPポート8787でアクセス出来るようにしておく必要があります。

ブラウザから「http://<接続先マシン名>:8787/」にアクセスすると以下のような
ログイン画面が表示されます。

chef-rstudio1

サーバ上のユーザ(UNIXのユーザ)を指定してログインすると、
以下のような画面が表示され、Rの機能を利用することができます。

chef-rstudio2

参考にした記事

RStudioがすごそうなので使ってみた - As a Futurist…
 http://blog.riywo.com/2011/03/05/031831

CentOS 6.2 に R と RStudio Server をインストールする - hiratake55 の開発メモ
 http://d.hatena.ne.jp/hiratake55/20120527/1338091311