読者です 読者をやめる 読者になる 読者になる

hiratake55 の作業メモ

R, Javascript, Python, Linux and Hadoop

CentOS 6.2 に R と RStudio Server をインストールする

R Linux

RStudio Server は Linux サーバにインストールした R を Web ブラウザから Web アプリケーションとして操作でき、大変便利なのですが、インストール方法について触れたブログ記事がほとんどないので、インストールしたついでに書きました。

余談ですが、2010年5月に Tsukuba.R で RWebUI というソフトウェアを提案して開発しませんでしたが、コンセプト的には全く同じ物です。RStudio Server と同様なソフトウェアでは R-Node も有名です。

1. Yumレポジトリに EPEL を追加する。

EPEL をインストール済みの場合は、省略可能です。以下、全て root でコマンドを実行します。

# rpm -ihv http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm

2. R をインストールする。

最近になってやっと、EPEL 経由の yum でインストールできるようになりました。

# yum install R

3. 必要なパッケージをインストールする。

互換バージョンの OpenSSL と Fortran をインストールします。

# yum install openssl098e compat-libgfortran-41

4. RStudio Server をインストールする

下記 URL から最新版の RPM をダウンロードし、インストールします。最新のバージョンは、Download RStudio Server で確認できます。

32-bit

# rpm -ihv http://download2.rstudio.org/rstudio-server-0.96.228-i686.rpm

64-bit

# rpm -ihv http://download2.rstudio.org/rstudio-server-0.96.228-x86_64.rpm

5. RStudio Server を起動する

インストールできているか確認

# rstudio-server verify-installation

RStudio Server を起動

# rstudio-server start

システム起動時に自動起動するには、chkconfig コマンドで設定します。

# chkconfig rstudio-server on
# chkconfig --list rstudio-server
rstudio-server  0:off   1:off   2:on    3:on    4:on    5:on    6:off

6. ブラウザからアクセス

Web ブラウザから、http://<サーバのIPアドレス>:8787/ にアクセスします。
つながらない場合は、setup コマンドで表示される、ファイヤウォールの設定画面で、TCP ポート 8787 をオープンにする、またはファイヤウォールを無効化します。


Amazon EC2 等の場合は、管理コンソール(AWS Management Console 等)で、TCP 8787 ポートが解放されていることを確認します。

7. ログイン

Linux のユーザ名、パスワードでログインします。
root 等、システムユーザではログインできません。


8. RStudio 起動後の画面

ホームディレクトリへのデータアップロード、ダウンロードもできます。

画面1


画面2


画面3


補足

Apache 経由で TCP 80 番ポートでアクセスするには、バーチャルホストと mod_proxy で TCP 8787 番ポートにリバースプロキシを構成すればいいですね。具体的には、httpd.conf に以下のように設定します。

<VirtualHost *:80>
    ServerName rstudio.xxx.com
    <Proxy *>
        Allow from localhost
    </Proxy>
    ProxyPass / http://localhost:8787/
    ProxyPassReverse / http://localhost:8787/
</VirtualHost>

更に、digest 認証をかける場合は、digest 認証と mod_proxy を併用する場合は、以下のように設定します。
の中に digest 認証を設定するのがポイントです。

<VirtualHost *:80>
    ServerName rstudio.xxx.com
    <Proxy *>
        Allow from localhost
        AuthType Digest
        AuthName "Private Page"
        AuthDigestDomain /
        AuthUserFile /etc/httpd/conf/.htdigest_rstudio
        Require valid-user
    </Proxy>
    ProxyPass / http://localhost:8787/
    ProxyPassReverse / http://localhost:8787/
</VirtualHost>

感想

インストールは、想像していたより簡単でした。コード補完機能なども具備されており、大変便利です。また、複数のロケーションで分析作業を行う際にも有用ですね。